{
	"openapi": "3.0.3",
	"info": {
		"title": "MyTown — ws_spring_booking",
		"version": "0.2.0",
		"description": "Prenotazioni di spazi e servizi.\n\nDocumentazione generata automaticamente dal codice sorgente da `platform/tools/openapi-gen`.\nNon modificare a mano: le modifiche vanno fatte nei controller e la specifica va rigenerata.\n\nAutenticazione: token JWT nell’header `Authorization: Bearer <token>`, ottenuto da\n`POST /ws_spring_portal_login/api/login`. Gli endpoint marcati come pubblici non richiedono il token.",
		"license": {
			"name": "AGPL-3.0-or-later",
			"url": "https://www.gnu.org/licenses/agpl-3.0.html"
		}
	},
	"servers": [
		{
			"url": "/ws_spring_booking/api",
			"description": "Stesso host, servizi esposti alla radice (Tomcat diretto)"
		},
		{
			"url": "/api/ws_spring_booking/api",
			"description": "Stesso host, servizi dietro reverse proxy montato su /api (vedi platform/INSTALL.md)"
		},
		{
			"url": "{host}/ws_spring_booking/api",
			"description": "Host esplicito",
			"variables": {
				"host": {
					"default": "http://localhost:8080",
					"description": "Schema e host del server applicativo"
				}
			}
		}
	],
	"tags": [
		{
			"name": "Booking",
			"description": "Endpoint di BookingController (src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java)"
		},
		{
			"name": "BookingBeachPricing",
			"description": "Endpoint di BookingBeachPricingController (src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java)"
		},
		{
			"name": "BookingMenu",
			"description": "Endpoint di BookingMenuController (src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java)"
		},
		{
			"name": "BookingPayment",
			"description": "Endpoint di BookingPaymentController (src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java)"
		},
		{
			"name": "BookingResource",
			"description": "Endpoint di BookingResourceController (src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java)"
		}
	],
	"paths": {
		"/api/booking/add/{cmp_id}": {
			"post": {
				"tags": [
					"Booking"
				],
				"summary": "Insert Booking",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:103` — `BookingController.InsertBooking()`.",
				"operationId": "BookingController.InsertBooking",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:103",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Booking"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/beach/pricing": {
			"get": {
				"tags": [
					"BookingBeachPricing"
				],
				"summary": "Get Beach Pricing",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:41` — `BookingBeachPricingController.GetBeachPricing()`.",
				"operationId": "BookingBeachPricingController.GetBeachPricing",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:41",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingBeachPricing"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/beach/pricing/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingBeachPricing"
				],
				"summary": "Insert Beach Pricing",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:53` — `BookingBeachPricingController.InsertBeachPricing()`.",
				"operationId": "BookingBeachPricingController.InsertBeachPricing",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:53",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingBeachPricing"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/beach/pricing/del/{bbp_id}": {
			"delete": {
				"tags": [
					"BookingBeachPricing"
				],
				"summary": "Delete Beach Pricing",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:76` — `BookingBeachPricingController.DeleteBeachPricing()`.",
				"operationId": "BookingBeachPricingController.DeleteBeachPricing",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:76",
				"parameters": [
					{
						"name": "bbp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/beach/pricing/upd/{bbp_id}": {
			"put": {
				"tags": [
					"BookingBeachPricing"
				],
				"summary": "Update Beach Pricing",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:65` — `BookingBeachPricingController.UpdateBeachPricing()`.",
				"operationId": "BookingBeachPricingController.UpdateBeachPricing",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingBeachPricingController.java:65",
				"parameters": [
					{
						"name": "bbp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingBeachPricing"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/del/{bkb_id}": {
			"delete": {
				"tags": [
					"Booking"
				],
				"summary": "Delete Booking",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:163` — `BookingController.DeleteBooking()`.",
				"operationId": "BookingController.DeleteBooking",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:163",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/get/{bkb_id}": {
			"get": {
				"tags": [
					"Booking"
				],
				"summary": "Get Booking By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:89` — `BookingController.GetBookingById()`.",
				"operationId": "BookingController.GetBookingById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:89",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Booking"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items": {
			"get": {
				"tags": [
					"Booking"
				],
				"summary": "Get All Booking Items",
				"description": "==================== BOOKING ITEMS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:179` — `BookingController.GetAllBookingItems()`.",
				"operationId": "BookingController.GetAllBookingItems",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:179",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "date_from",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "date_to",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "notes_status",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "limitda",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "1"
						}
					},
					{
						"name": "limitper",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "50"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingItem"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items/{bkb_id}": {
			"get": {
				"tags": [
					"Booking"
				],
				"summary": "Get Booking Items",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:198` — `BookingController.GetBookingItems()`.",
				"operationId": "BookingController.GetBookingItems",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:198",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingItem"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items/add": {
			"post": {
				"tags": [
					"Booking"
				],
				"summary": "Insert Booking Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:212` — `BookingController.InsertBookingItem()`.",
				"operationId": "BookingController.InsertBookingItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:212",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingItem"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items/del/{bkbi_id}": {
			"delete": {
				"tags": [
					"Booking"
				],
				"summary": "Delete Booking Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:255` — `BookingController.DeleteBookingItem()`.",
				"operationId": "BookingController.DeleteBookingItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:255",
				"parameters": [
					{
						"name": "bkbi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items/notes/{bkbi_id}": {
			"put": {
				"tags": [
					"Booking"
				],
				"summary": "Update Booking Item Notes",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:240` — `BookingController.UpdateBookingItemNotes()`.",
				"operationId": "BookingController.UpdateBookingItemNotes",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:240",
				"parameters": [
					{
						"name": "bkbi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "notes",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/items/upd/{bkbi_id}": {
			"put": {
				"tags": [
					"Booking"
				],
				"summary": "Update Booking Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:226` — `BookingController.UpdateBookingItem()`.",
				"operationId": "BookingController.UpdateBookingItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:226",
				"parameters": [
					{
						"name": "bkbi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingItem"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/list": {
			"get": {
				"tags": [
					"Booking"
				],
				"summary": "Get Booking List",
				"description": "==================== BOOKINGS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:46` — `BookingController.GetBookingList()`.",
				"operationId": "BookingController.GetBookingList",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:46",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "date_from",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "date_to",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "status",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "resource_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					},
					{
						"name": "orderby",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "limitda",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "limitper",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Booking"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/categories": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Categories",
				"description": "==================== CATEGORIES ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:47` — `BookingMenuController.GetMenuCategories()`.",
				"operationId": "BookingMenuController.GetMenuCategories",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:47",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingMenuCategory"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/categories/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Insert Menu Category",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:70` — `BookingMenuController.InsertMenuCategory()`.",
				"operationId": "BookingMenuController.InsertMenuCategory",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:70",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuCategory"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/categories/del/{bkmc_id}": {
			"delete": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Delete Menu Category",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:93` — `BookingMenuController.DeleteMenuCategory()`.",
				"operationId": "BookingMenuController.DeleteMenuCategory",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:93",
				"parameters": [
					{
						"name": "bkmc_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/categories/get/{bkmc_id}": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Category By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:59` — `BookingMenuController.GetMenuCategoryById()`.",
				"operationId": "BookingMenuController.GetMenuCategoryById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:59",
				"parameters": [
					{
						"name": "bkmc_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingMenuCategory"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/categories/upd/{bkmc_id}": {
			"put": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Update Menu Category",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:82` — `BookingMenuController.UpdateMenuCategory()`.",
				"operationId": "BookingMenuController.UpdateMenuCategory",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:82",
				"parameters": [
					{
						"name": "bkmc_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuCategory"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/image/fetch": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Fetch Menu Image",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:323` — `BookingMenuController.FetchMenuImage()`.",
				"operationId": "BookingMenuController.FetchMenuImage",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:323",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "object"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"additionalProperties": {
										"type": "string"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/image/search": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Search Menu Images",
				"description": "==================== IMAGE SEARCH (Pexels) ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:310` — `BookingMenuController.SearchMenuImages()`.",
				"operationId": "BookingMenuController.SearchMenuImages",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:310",
				"parameters": [
					{
						"name": "q",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "page",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "1"
						}
					},
					{
						"name": "per_page",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "15"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "object"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/items": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Items",
				"description": "==================== MENU ITEMS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:106` — `BookingMenuController.GetMenuItems()`.",
				"operationId": "BookingMenuController.GetMenuItems",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:106",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "category_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					},
					{
						"name": "include_inactive",
						"in": "query",
						"required": false,
						"schema": {
							"type": "boolean",
							"default": "false"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingMenuItem"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/items/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Insert Menu Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:130` — `BookingMenuController.InsertMenuItem()`.",
				"operationId": "BookingMenuController.InsertMenuItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:130",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuItem"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/items/del/{bkmi_id}": {
			"delete": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Delete Menu Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:153` — `BookingMenuController.DeleteMenuItem()`.",
				"operationId": "BookingMenuController.DeleteMenuItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:153",
				"parameters": [
					{
						"name": "bkmi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/items/get/{bkmi_id}": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Item By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:119` — `BookingMenuController.GetMenuItemById()`.",
				"operationId": "BookingMenuController.GetMenuItemById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:119",
				"parameters": [
					{
						"name": "bkmi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingMenuItem"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/items/upd/{bkmi_id}": {
			"put": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Update Menu Item",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:142` — `BookingMenuController.UpdateMenuItem()`.",
				"operationId": "BookingMenuController.UpdateMenuItem",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:142",
				"parameters": [
					{
						"name": "bkmi_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuItem"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/active": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Active Menu Preset",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:296` — `BookingMenuController.GetActiveMenuPreset()`.",
				"operationId": "BookingMenuController.GetActiveMenuPreset",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:296",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "date",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingMenuPreset"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/categories": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Preset Categories",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:211` — `BookingMenuController.GetMenuPresetCategories()`.",
				"operationId": "BookingMenuController.GetMenuPresetCategories",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:211",
				"parameters": [
					{
						"name": "preset_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"type": "integer",
										"format": "int32"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/categories/save": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Save Menu Preset Categories",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:222` — `BookingMenuController.SaveMenuPresetCategories()`.",
				"operationId": "BookingMenuController.SaveMenuPresetCategories",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:222",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "object"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/items": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Preset Items",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:271` — `BookingMenuController.GetMenuPresetItems()`.",
				"operationId": "BookingMenuController.GetMenuPresetItems",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:271",
				"parameters": [
					{
						"name": "preset_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"type": "integer",
										"format": "int32"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/items/save": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Save Menu Preset Items",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:282` — `BookingMenuController.SaveMenuPresetItems()`.",
				"operationId": "BookingMenuController.SaveMenuPresetItems",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:282",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "object"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/schedule": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Preset Schedule",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:236` — `BookingMenuController.GetMenuPresetSchedule()`.",
				"operationId": "BookingMenuController.GetMenuPresetSchedule",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:236",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "year",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "month",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingMenuPresetSchedule"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/schedule/delete/{id}": {
			"delete": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Delete Menu Preset Schedule",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:260` — `BookingMenuController.DeleteMenuPresetSchedule()`.",
				"operationId": "BookingMenuController.DeleteMenuPresetSchedule",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:260",
				"parameters": [
					{
						"name": "id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/preset/schedule/save": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Save Menu Preset Schedule",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:249` — `BookingMenuController.SaveMenuPresetSchedule()`.",
				"operationId": "BookingMenuController.SaveMenuPresetSchedule",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:249",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuPresetSchedule"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/presets": {
			"get": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Get Menu Presets",
				"description": "==================== MENU PRESETS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:166` — `BookingMenuController.GetMenuPresets()`.",
				"operationId": "BookingMenuController.GetMenuPresets",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:166",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingMenuPreset"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/presets/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Insert Menu Preset",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:177` — `BookingMenuController.InsertMenuPreset()`.",
				"operationId": "BookingMenuController.InsertMenuPreset",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:177",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuPreset"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/presets/delete/{id}": {
			"delete": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Delete Menu Preset",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:200` — `BookingMenuController.DeleteMenuPreset()`.",
				"operationId": "BookingMenuController.DeleteMenuPreset",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:200",
				"parameters": [
					{
						"name": "id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/menu/presets/update": {
			"put": {
				"tags": [
					"BookingMenu"
				],
				"summary": "Update Menu Preset",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:189` — `BookingMenuController.UpdateMenuPreset()`.",
				"operationId": "BookingMenuController.UpdateMenuPreset",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingMenuController.java:189",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingMenuPreset"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/pay/{bkb_id}": {
			"put": {
				"tags": [
					"Booking"
				],
				"summary": "Update Booking Payment Status",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:147` — `BookingController.UpdateBookingPaymentStatus()`.",
				"operationId": "BookingController.UpdateBookingPaymentStatus",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:147",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "payment_status",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "paid_amount",
						"in": "query",
						"required": true,
						"schema": {
							"type": "number"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/payment/add": {
			"post": {
				"tags": [
					"BookingPayment"
				],
				"summary": "Insert Payment",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:55` — `BookingPaymentController.InsertPayment()`.",
				"operationId": "BookingPaymentController.InsertPayment",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:55",
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingPayment"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/payment/del/{bkp_id}": {
			"delete": {
				"tags": [
					"BookingPayment"
				],
				"summary": "Delete Payment",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:81` — `BookingPaymentController.DeletePayment()`.",
				"operationId": "BookingPaymentController.DeletePayment",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:81",
				"parameters": [
					{
						"name": "bkp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/payment/list/{bkb_id}": {
			"get": {
				"tags": [
					"BookingPayment"
				],
				"summary": "Get Payments By Booking",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:44` — `BookingPaymentController.GetPaymentsByBooking()`.",
				"operationId": "BookingPaymentController.GetPaymentsByBooking",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingPaymentController.java:44",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingPayment"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingResource"
				],
				"summary": "Insert Resource",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:130` — `BookingResourceController.InsertResource()`.",
				"operationId": "BookingResourceController.InsertResource",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:130",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingResource"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/assignments/{bkb_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource Assignments",
				"description": "==================== RESOURCE ASSIGNMENTS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:261` — `BookingResourceController.GetResourceAssignments()`.",
				"operationId": "BookingResourceController.GetResourceAssignments",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:261",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingResourceAssignment"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/assignments/save/{bkb_id}": {
			"post": {
				"tags": [
					"BookingResource"
				],
				"summary": "Save Resource Assignments",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:272` — `BookingResourceController.SaveResourceAssignments()`.",
				"operationId": "BookingResourceController.SaveResourceAssignments",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:272",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"type": "array",
								"items": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/del/{bkr_id}": {
			"delete": {
				"tags": [
					"BookingResource"
				],
				"summary": "Delete Resource",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:153` — `BookingResourceController.DeleteResource()`.",
				"operationId": "BookingResourceController.DeleteResource",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:153",
				"parameters": [
					{
						"name": "bkr_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/del/{bkr_id}/cascade": {
			"delete": {
				"tags": [
					"BookingResource"
				],
				"summary": "Delete Resource Cascade",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:164` — `BookingResourceController.DeleteResourceCascade()`.",
				"operationId": "BookingResourceController.DeleteResourceCascade",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:164",
				"parameters": [
					{
						"name": "bkr_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/get/{bkr_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:119` — `BookingResourceController.GetResourceById()`.",
				"operationId": "BookingResourceController.GetResourceById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:119",
				"parameters": [
					{
						"name": "bkr_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingResource"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/list": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resources",
				"description": "==================== RESOURCES ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:107` — `BookingResourceController.GetResources()`.",
				"operationId": "BookingResourceController.GetResources",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:107",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingResource"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/override/{cmp_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Slot Overrides",
				"description": "Disable e/o spostamento di un tavolo per (data, slot) dalla pagina prenotazioni.\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:287` — `BookingResourceController.GetSlotOverrides()`.",
				"operationId": "BookingResourceController.GetSlotOverrides",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:287",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "date",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingResourceSlotOverride"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/override/del/{bkrso_id}": {
			"delete": {
				"tags": [
					"BookingResource"
				],
				"summary": "Delete Slot Override",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:313` — `BookingResourceController.DeleteSlotOverride()`.",
				"operationId": "BookingResourceController.DeleteSlotOverride",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:313",
				"parameters": [
					{
						"name": "bkrso_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/override/save/{cmp_id}": {
			"post": {
				"tags": [
					"BookingResource"
				],
				"summary": "Save Slot Override",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:299` — `BookingResourceController.SaveSlotOverride()`.",
				"operationId": "BookingResourceController.SaveSlotOverride",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:299",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingResourceSlotOverride"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/qrcode/{bkr_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource Qr Code",
				"description": "==================== QR CODES ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:177` — `BookingResourceController.GetResourceQrCode()`.",
				"operationId": "BookingResourceController.GetResourceQrCode",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:177",
				"parameters": [
					{
						"name": "bkr_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingResourceQrCode"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/qrcodes": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource Qr Codes",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:188` — `BookingResourceController.GetResourceQrCodes()`.",
				"operationId": "BookingResourceController.GetResourceQrCodes",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:188",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingResourceQrCode"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/slots": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Time Slots",
				"description": "==================== TIME SLOTS ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:202` — `BookingResourceController.GetTimeSlots()`.",
				"operationId": "BookingResourceController.GetTimeSlots",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:202",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "type_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingTimeSlot"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/slots/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingResource"
				],
				"summary": "Insert Time Slot",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:225` — `BookingResourceController.InsertTimeSlot()`.",
				"operationId": "BookingResourceController.InsertTimeSlot",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:225",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingTimeSlot"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/slots/del/{bkts_id}": {
			"delete": {
				"tags": [
					"BookingResource"
				],
				"summary": "Delete Time Slot",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:248` — `BookingResourceController.DeleteTimeSlot()`.",
				"operationId": "BookingResourceController.DeleteTimeSlot",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:248",
				"parameters": [
					{
						"name": "bkts_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/slots/get/{bkts_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Time Slot By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:214` — `BookingResourceController.GetTimeSlotById()`.",
				"operationId": "BookingResourceController.GetTimeSlotById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:214",
				"parameters": [
					{
						"name": "bkts_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingTimeSlot"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/slots/upd/{bkts_id}": {
			"put": {
				"tags": [
					"BookingResource"
				],
				"summary": "Update Time Slot",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:237` — `BookingResourceController.UpdateTimeSlot()`.",
				"operationId": "BookingResourceController.UpdateTimeSlot",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:237",
				"parameters": [
					{
						"name": "bkts_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingTimeSlot"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/types/{cmp_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource Types",
				"description": "==================== RESOURCE TYPES ====================\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:49` — `BookingResourceController.GetResourceTypes()`.",
				"operationId": "BookingResourceController.GetResourceTypes",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:49",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/BookingResourceType"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/types/add/{cmp_id}": {
			"post": {
				"tags": [
					"BookingResource"
				],
				"summary": "Insert Resource Type",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:71` — `BookingResourceController.InsertResourceType()`.",
				"operationId": "BookingResourceController.InsertResourceType",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:71",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingResourceType"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/types/del/{bkrt_id}": {
			"delete": {
				"tags": [
					"BookingResource"
				],
				"summary": "Delete Resource Type",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:94` — `BookingResourceController.DeleteResourceType()`.",
				"operationId": "BookingResourceController.DeleteResourceType",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:94",
				"parameters": [
					{
						"name": "bkrt_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/types/get/{bkrt_id}": {
			"get": {
				"tags": [
					"BookingResource"
				],
				"summary": "Get Resource Type By Id",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:60` — `BookingResourceController.GetResourceTypeById()`.",
				"operationId": "BookingResourceController.GetResourceTypeById",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:60",
				"parameters": [
					{
						"name": "bkrt_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/BookingResourceType"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/types/upd/{bkrt_id}": {
			"put": {
				"tags": [
					"BookingResource"
				],
				"summary": "Update Resource Type",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:83` — `BookingResourceController.UpdateResourceType()`.",
				"operationId": "BookingResourceController.UpdateResourceType",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:83",
				"parameters": [
					{
						"name": "bkrt_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingResourceType"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/resource/upd/{bkr_id}": {
			"put": {
				"tags": [
					"BookingResource"
				],
				"summary": "Update Resource",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:142` — `BookingResourceController.UpdateResource()`.",
				"operationId": "BookingResourceController.UpdateResource",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingResourceController.java:142",
				"parameters": [
					{
						"name": "bkr_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/BookingResource"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/status/{bkb_id}": {
			"put": {
				"tags": [
					"Booking"
				],
				"summary": "Update Booking Status",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:132` — `BookingController.UpdateBookingStatus()`.",
				"operationId": "BookingController.UpdateBookingStatus",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:132",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "status",
						"in": "query",
						"required": true,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/upd/{bkb_id}": {
			"put": {
				"tags": [
					"Booking"
				],
				"summary": "Update Booking",
				"description": "Sorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:118` — `BookingController.UpdateBooking()`.",
				"operationId": "BookingController.UpdateBooking",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:118",
				"parameters": [
					{
						"name": "bkb_id",
						"in": "path",
						"required": true,
						"schema": {
							"type": "string"
						},
						"description": "Variabile di path non legata ad alcun parametro del metodo: il valore viene ignorato dal servizio."
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/Booking"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "integer",
									"format": "int32"
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		},
		"/api/booking/user/list": {
			"get": {
				"tags": [
					"Booking"
				],
				"summary": "Get Booking List By User",
				"description": "Endpoint per l'app mobile: restituisce le prenotazioni dell'utente loggato.\n\nSorgente: `src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:72` — `BookingController.GetBookingListByUser()`.",
				"operationId": "BookingController.GetBookingListByUser",
				"x-source": "src/main/java/com/kondorcs/ws_spring_booking/controllers/BookingController.java:72",
				"parameters": [
					{
						"name": "cmp_id",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "0"
						}
					},
					{
						"name": "date_from",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "date_to",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "status",
						"in": "query",
						"required": false,
						"schema": {
							"type": "string",
							"default": ""
						}
					},
					{
						"name": "limitda",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "1"
						}
					},
					{
						"name": "limitper",
						"in": "query",
						"required": false,
						"schema": {
							"type": "integer",
							"format": "int32",
							"default": "50"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"application/json": {
								"schema": {
									"type": "array",
									"items": {
										"$ref": "#/components/schemas/Booking"
									}
								}
							}
						}
					},
					"400": {
						"description": "Richiesta non valida"
					},
					"401": {
						"description": "Non autenticato: token JWT assente, scaduto o non valido"
					},
					"500": {
						"description": "Errore interno del servizio",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ErrorResponse"
								}
							}
						}
					}
				}
			}
		}
	},
	"components": {
		"securitySchemes": {
			"bearerAuth": {
				"type": "http",
				"scheme": "bearer",
				"bearerFormat": "JWT",
				"description": "Token JWT emesso dal servizio di login del portale."
			}
		},
		"schemas": {
			"ErrorResponse": {
				"type": "object",
				"description": "Corpo di errore del gestore centralizzato delle eccezioni (kondorcs-utils, GlobalExceptionHandler). Le proprietà oltre a `requestId` sono presenti solo se il chiamante ha ruolo ADMIN.",
				"properties": {
					"timestamp": {
						"type": "string",
						"format": "date-time"
					},
					"status": {
						"type": "integer",
						"format": "int32"
					},
					"error": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"requestId": {
						"type": "string",
						"description": "Solo nella variante generica (utenti non ADMIN)."
					},
					"rootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"formattedRootCause": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"location": {
						"type": "string",
						"description": "Solo per ADMIN: classe, metodo e riga."
					},
					"requestUri": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"httpMethod": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"user": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"parameters": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"contentType": {
						"type": "string",
						"description": "Solo per ADMIN."
					},
					"requestHeaders": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						},
						"description": "Solo per ADMIN."
					},
					"requestBody": {
						"type": "string",
						"description": "Solo per ADMIN, se la richiesta aveva un corpo."
					},
					"stackTrace": {
						"type": "string",
						"description": "Solo per ADMIN e solo se `log.db.write.stacktrace` è attivo."
					}
				}
			},
			"Booking": {
				"type": "object",
				"properties": {
					"bkb_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_resource_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_resource_ids": {
						"type": "array",
						"items": {
							"type": "integer",
							"format": "int32"
						}
					},
					"bkb_time_slot_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_date": {
						"type": "string",
						"format": "date-time"
					},
					"bkb_date_to": {
						"type": "string",
						"format": "date-time"
					},
					"bkb_start_time": {
						"type": "string"
					},
					"bkb_end_time": {
						"type": "string"
					},
					"bkb_guests_count": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_lettini": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_sedie": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_sdraio": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_customer_name": {
						"type": "string"
					},
					"bkb_customer_phone": {
						"type": "string"
					},
					"bkb_customer_email": {
						"type": "string"
					},
					"bkb_status": {
						"type": "string"
					},
					"bkb_payment_status": {
						"type": "string"
					},
					"bkb_total_amount": {
						"type": "number"
					},
					"bkb_paid_amount": {
						"type": "number"
					},
					"bkb_notes": {
						"type": "string"
					},
					"bkb_internal_notes": {
						"type": "string"
					},
					"bkb_user_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_resource_alias": {
						"type": "string"
					},
					"bkb_created_by": {
						"type": "integer",
						"format": "int32"
					},
					"bkb_created_at": {
						"type": "string",
						"format": "date-time"
					},
					"bkb_updated_at": {
						"type": "string",
						"format": "date-time"
					},
					"bkts_name": {
						"type": "string"
					},
					"bkrt_type": {
						"type": "string"
					},
					"totalrows": {
						"type": "integer",
						"format": "int64"
					}
				}
			},
			"BookingBeachPricing": {
				"type": "object",
				"properties": {
					"bbp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bbp_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bbp_type_id": {
						"type": "integer",
						"format": "int32"
					},
					"bbp_element": {
						"type": "string"
					},
					"bbp_date_from": {
						"type": "string",
						"format": "date"
					},
					"bbp_date_to": {
						"type": "string",
						"format": "date"
					},
					"bbp_daily_cost": {
						"type": "number"
					},
					"bbp_hourly_cost": {
						"type": "number"
					},
					"bbp_weekly_cost": {
						"type": "number"
					}
				}
			},
			"BookingItem": {
				"type": "object",
				"properties": {
					"bkbi_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkbi_booking_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkbi_menu_item_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkbi_quantity": {
						"type": "integer",
						"format": "int32"
					},
					"bkbi_unit_price": {
						"type": "number"
					},
					"bkbi_total_price": {
						"type": "number"
					},
					"bkbi_notes": {
						"type": "string"
					},
					"bkbi_send_seq": {
						"type": "integer",
						"format": "int32"
					},
					"bkbi_created_at": {
						"type": "string",
						"format": "date-time"
					},
					"bkmc_name": {
						"type": "string"
					},
					"bkr_name": {
						"type": "string"
					},
					"bkb_customer_name": {
						"type": "string"
					},
					"totalrows": {
						"type": "integer",
						"format": "int32"
					}
				}
			},
			"BookingMenuCategory": {
				"type": "object",
				"properties": {
					"bkmc_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmc_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmc_type_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmc_name": {
						"type": "string"
					},
					"bkmc_sort_order": {
						"type": "integer",
						"format": "int32"
					},
					"bkmc_is_active": {
						"type": "boolean"
					}
				}
			},
			"BookingMenuItem": {
				"type": "object",
				"properties": {
					"bkmi_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmi_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmi_category_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmi_name": {
						"type": "string"
					},
					"bkmi_description": {
						"type": "string"
					},
					"bkmi_price": {
						"type": "number"
					},
					"bkmi_vat_rate": {
						"type": "number"
					},
					"bkmi_sort_order": {
						"type": "integer",
						"format": "int32"
					},
					"bkmi_allergens": {
						"type": "string"
					},
					"bkmi_image_url": {
						"type": "string"
					}
				}
			},
			"BookingMenuPreset": {
				"type": "object",
				"properties": {
					"bkmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmp_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmp_name": {
						"type": "string"
					},
					"bkmp_description": {
						"type": "string"
					},
					"bkmp_category_ids": {
						"type": "array",
						"items": {
							"type": "integer",
							"format": "int32"
						}
					}
				}
			},
			"BookingMenuPresetSchedule": {
				"type": "object",
				"properties": {
					"bkmps_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmps_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmps_preset_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkmps_date": {
						"type": "string"
					},
					"bkmp_name": {
						"type": "string"
					}
				}
			},
			"BookingPayment": {
				"type": "object",
				"properties": {
					"bkp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkp_booking_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkp_amount": {
						"type": "number"
					},
					"bkp_method": {
						"type": "string"
					},
					"bkp_type": {
						"type": "string"
					},
					"bkp_date": {
						"type": "string",
						"format": "date-time"
					},
					"bkp_notes": {
						"type": "string"
					},
					"bkp_created_by": {
						"type": "integer",
						"format": "int32"
					},
					"bkp_created_at": {
						"type": "string",
						"format": "date-time"
					},
					"bkp_pt_uid": {
						"type": "string"
					}
				}
			},
			"BookingResource": {
				"type": "object",
				"properties": {
					"bkr_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_type_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_name": {
						"type": "string"
					},
					"bkr_code": {
						"type": "string"
					},
					"bkr_capacity": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_position": {
						"type": "string"
					},
					"bkr_is_active": {
						"type": "boolean"
					},
					"bkr_notes": {
						"type": "string"
					},
					"bkr_is_combinable": {
						"type": "boolean"
					},
					"bkrt_type": {
						"type": "string"
					}
				}
			},
			"BookingResourceAssignment": {
				"type": "object",
				"properties": {
					"bkra_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkra_booking_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkra_resource_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_capacity": {
						"type": "integer",
						"format": "int32"
					}
				}
			},
			"BookingResourceSlotOverride": {
				"type": "object",
				"properties": {
					"bkrso_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrso_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrso_resource_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrso_date": {
						"type": "string",
						"format": "date-time"
					},
					"bkrso_slot_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrso_disabled": {
						"type": "boolean"
					},
					"bkrso_override_x": {
						"type": "number"
					},
					"bkrso_created_by": {
						"type": "integer",
						"format": "int32"
					},
					"bkrso_created_at": {
						"type": "string",
						"format": "date-time"
					},
					"bkrso_updated_at": {
						"type": "string",
						"format": "date-time"
					}
				}
			},
			"BookingResourceQrCode": {
				"type": "object",
				"properties": {
					"bkr_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkr_name": {
						"type": "string"
					},
					"bkr_code": {
						"type": "string"
					},
					"bkrt_name": {
						"type": "string"
					},
					"bkrt_type": {
						"type": "string"
					},
					"qrcode_base64": {
						"type": "string"
					}
				}
			},
			"BookingTimeSlot": {
				"type": "object",
				"properties": {
					"bkts_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkts_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkts_type_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkts_name": {
						"type": "string"
					},
					"bkts_start_time": {
						"type": "string"
					},
					"bkts_end_time": {
						"type": "string"
					},
					"bkts_is_active": {
						"type": "boolean"
					},
					"bkts_days_of_week": {
						"type": "string"
					}
				}
			},
			"BookingResourceType": {
				"type": "object",
				"properties": {
					"bkrt_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrt_cmp_id": {
						"type": "integer",
						"format": "int32"
					},
					"bkrt_name": {
						"type": "string"
					},
					"bkrt_type": {
						"type": "string"
					},
					"bkrt_description": {
						"type": "string"
					},
					"bkrt_is_active": {
						"type": "boolean"
					},
					"bkrt_date_from": {
						"type": "string"
					},
					"bkrt_date_to": {
						"type": "string"
					}
				}
			}
		}
	},
	"security": [
		{
			"bearerAuth": []
		}
	]
}
