{"info":{"_postman_id":"77b1af86-9c48-4e54-afb1-b8ef414ce86d","name":"Spiagge.it - Public API","description":"<html><head></head><body><p>With the Spiagge.it API, you can integrate your software with the Spiagge.it platform.</p>\n<p>All Spiagge.it products use this API set.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"40077604","collectionId":"77b1af86-9c48-4e54-afb1-b8ef414ce86d","publishedId":"2sAYBXBqaG","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"ffc100"},"publishDate":"2024-11-28T18:11:24.000Z"},"item":[{"name":"Authentication","item":[{"name":"oauth/access_token","event":[{"listen":"test","script":{"id":"cb918b1d-27e0-4b2f-8610-6026726146b9","exec":["var jsonData = JSON.parse(responseBody);\r","pm.collectionVariables.set(\"access_token\", jsonData.access_token);"],"type":"text/javascript","packages":{}}}],"id":"07227b13-e169-4a2d-9e3c-456012b11c82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"client_id"},{"key":"password","value":"client_secret"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/oauth/access_token","description":"<p>This endpoint generates a new access_token.</p>\n","urlObject":{"path":["access_token"],"host":["https://legacy.spiagge.it/app/world/api/v1/oauth"],"query":[],"variable":[]}},"response":[{"id":"d13fb9c1-294f-418f-a6e5-c5a79df6f29a","name":"oauth/access_token","originalRequest":{"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/oauth/access_token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"access_token\": \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFG\",\r\n    \"token_type\": \"bearer\",\r\n    \"expire_in\": 300\r\n}"}],"_postman_id":"07227b13-e169-4a2d-9e3c-456012b11c82"}],"id":"78c039ed-7390-4bac-b34e-5279702e378d","description":"<p>The authentication is required to use the Spiagge.it API.</p>\n<p>Before making a request, you have to generate an access_token. Include the access_token in the requests as an Authorization Bearer header.</p>\n<h2 id=\"how-to-request-the-api-keys\">How to request the API keys</h2>\n<p>To request a pair of API key, send an e-mail to Spiagge.it support team <a href=\"https://mailto:support@spiagge.it\">support@spiagge.it</a>.</p>\n<p>If you are a software house, and you embed the keys into an on-premise software, you have to require a different key for each of your customers.</p>\n","_postman_id":"78c039ed-7390-4bac-b34e-5279702e378d"},{"name":"Beaches","item":[{"name":"Licenses","item":[{"name":"beaches/","id":"4c63d902-4a2d-4eb2-931f-f65ee526ca40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"work\": \n\t\t{\n\t\t\t\"name\": \"Bagno Maria\",\n\t\t    \"phone\":\n\t\t    \t{\n\t\t    \t\t\"areaCode\":\"+39\",\n\t\t    \t\t\"number\": \"123456789\"\n\t\t    \t},\n\t\t    \"email\": \"esempio@esempio.it\",\n\t\t    \"website\": \"https://www.google.com\",\n\t\t    \"facebookId\": \"1234567890\",\n\t\t    \"facebookUrl\": \"https://www.facebook.com/123456789/\",\n\t\t    \"vatCode\": \"0123456789\",\n\t\t    \"taxCode\": \"0123456789\"\n\t\t},\n\t\"places\": \n\t\t{\n\t\t\t\"name\": \"Bagno Maria\",\n\t\t\t\"street\": \"Via Roma\",\n\t\t\t\"city\": \"Rimini\",\n\t\t\t\"zip\": \"47900\",\n\t\t\t\"state\": \"RN\",\n\t\t\t\"country\": \"IT\"\n\t\t}\n}"},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/","urlObject":{"path":[""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[]}},"response":[],"_postman_id":"4c63d902-4a2d-4eb2-931f-f65ee526ca40"},{"name":"beaches/<id>","id":"fee64843-5345-4162-aa74-4065901b7287","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/","urlObject":{"path":[":beach",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"fee64843-5345-4162-aa74-4065901b7287"},{"name":"beaches/<id>/works/","id":"f4d6f515-bb7e-43d6-9ca1-ed6b403e0286","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/works/","urlObject":{"path":[":beach","works",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"f4d6f515-bb7e-43d6-9ca1-ed6b403e0286"},{"name":"beaches/<id>/places/","id":"2355cd98-2105-4021-bd08-449be0c287dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/places/","urlObject":{"path":[":beach","places",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"2355cd98-2105-4021-bd08-449be0c287dc"}],"id":"dbccbb81-3b6e-41c7-95f6-cbbdbc1b8c03","_postman_id":"dbccbb81-3b6e-41c7-95f6-cbbdbc1b8c03","description":""},{"name":"Registrations","item":[{"name":"beaches/<id>/registrations/","event":[{"listen":"prerequest","script":{"id":"441b143d-699e-4e7e-b87f-32bc3fd49118","exec":[""],"type":"text/javascript","packages":{}}}],"id":"44a1fc56-9dca-4b90-95bd-9aabfc764b8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/registrations/?from=1683590400&to=1683590400","description":"<p>To obtain the list of license reservations, you must perform a GET request on the \"registrations\" resource family.</p>\n<p>The API system doesn't allow the response time to exceed 60 seconds. For this reason, you cannot get all license reservations in just one request. When you use this endpoint, apply one or more filters to limit the size of the result.</p>\n<p><strong>NB.</strong> All GET parameters are optional.</p>\n","urlObject":{"path":["demo2","registrations",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"description":{"content":"<p>Search only for active reservations starting from the indicated date(identified such as midnight in UTC time zone).</p>\n","type":"text/plain"},"key":"from","value":"1683590400"},{"description":{"content":"<p>Search only for active reservations up to the indicated date (identified such as midnight in UTC time zone).\nIf the filter from and the filter to coincide, the active reservations on that particular day are shown.</p>\n","type":"text/plain"},"key":"to","value":"1683590400"},{"disabled":true,"description":{"content":"<p>Search by booking status. The accepted values are: 1:temporary, 2:confirmed, 3:seasonal.</p>\n","type":"text/plain"},"key":"status","value":"2"},{"disabled":true,"description":{"content":"<p>Search by umbrella or gazebo name to which the reservations are associated.</p>\n","type":"text/plain"},"key":"umb","value":"10A"},{"disabled":true,"description":{"content":"<p>Search by sector to which the reservations are associated.</p>\n","type":"text/plain"},"key":"sector","value":"1"},{"disabled":true,"description":{"content":"<p>Search by name of special spot (cabin, car park, loose bed, etc.) to which the reservations are associated.</p>\n","type":"text/plain"},"key":"place","value":"3B"}],"variable":[]}},"response":[],"_postman_id":"44a1fc56-9dca-4b90-95bd-9aabfc764b8d"},{"name":"beaches/<id>/registrations/","id":"57eb7a48-97e8-4696-aa0c-306a4842c977","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"spotName\": \"10\",\n\t\"spotType\": \"umbrella\",\n\t\"sector\": 1,\n\t\"from\": 1559001600,\n\t\"to\": 1559001600,\n\t\"halfday\": false,\n    \"beds\": 2,\n    \"deckchairs\": 0,\n    \"chairs\": 0,\n    \"maxibeds\": 0,\n    \"cabin\": \"15\",\n    \"customer\": {\n    \t\"code\": \"22\",\n    \t\"name\":\"Mario\",\n    \t\"surname\": \"Rossi\",\n    \t\"email\": \"mariorossi@example.com\",\n    \t\"phone\": {\n    \t\t\"areaCode\": \"+39\",\n    \t\t\"number\": \"123456789\"\n    \t},\n    \t\"company\": \"ACME\",\n    \t\"taxCode\": \"RSSMAR70A01A123B\",\n    \t\"vatCode\": \"0123456789\",\n    \t\"address\": {\n    \t\t\"street\": \"via roma\",\n    \t\t\"number\": \"1\",\n    \t\t\"zip\": \"01234\",\n    \t\t\"city\": \"Roma\",\n    \t\t\"state\": \"RM\",\n    \t\t\"country\": \"IT\"\n    \t},\n    \t\"pec\": \"pec@esempio.it\",\n    \t\"sdi\": \"KRRH6B9\"\n    },\n\t\"hotel\": \"Hotel name\",\n\t\"hotelRoom\": null,\n\t\"travelGroup\": \"Seconda giovinezza\",\n\t\"payed\": true,\n    \"price\": 10,\n    \"account\": 5,\n\t\"voucher\": 100,\n\t\"notes\": \"Prova API Postman\",\n    \"allowLastDayOverbooking\": false\n}"},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/","description":"<p>To add a new reservation, you need to perform a POST request on the \"registrations\" resource.</p>\n","urlObject":{"path":[":beach","registrations",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[{"id":"cc8e5ad1-c7f3-4f92-8d83-2191a7fef4fe","name":"beaches/<id>/registrations/","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"spotName\": \"10A\",\n\t\"spotType\": \"umbrella\",\n\t\"sector\": 2,\n\t\"from\": 1559001600,\n\t\"to\": 1559001600,\n\t\"halfday\": false,\n    \"beds\": 2,\n    \"deckchairs\": 0,\n    \"chairs\": 0,\n    \"maxibeds\": 0,\n    \"cabin\": null,\n    \"customer\": {\n    \t\"code\": \"22\",\n    \t\"name\":\"Mario\",\n    \t\"surname\": \"Rossi\",\n    \t\"email\": \"mariorossi@example.com\",\n    \t\"phone\": {\n    \t\t\"areaCode\": \"+39\",\n    \t\t\"number\": \"123456789\"\n    \t},\n    \t\"company\": \"ACME\",\n    \t\"taxCode\": \"RSSMAR70A01A123B\",\n    \t\"vatCode\": \"0123456789\",\n    \t\"address\": {\n    \t\t\"street\": \"via roma\",\n    \t\t\"number\": \"1\",\n    \t\t\"zip\": \"01234\",\n    \t\t\"city\": \"Roma\",\n    \t\t\"state\": \"RM\",\n    \t\t\"country\": \"IT\"\n    \t},\n    \t\"pec\": \"pec@esempio.it\",\n    \t\"sdi\": \"KRRH6B9\"\n    },\n\t\"hotel\": \"Hotel name\",\n\t\"hotelRoom\": null,\n\t\"travelGroup\": \"Seconda giovinezza\",\n\t\"vehiclePlate\": \"AB123CD\",\n\t\"paid\": false,\n    \"price\": 10,\n    \"account\": 5,\n\t\"voucher\": 100,\n\t\"notes\": \"Prova API Postman\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":[":beach","registrations",""],"variable":[{"key":"beach","value":"demo2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1171,\n    \"spotName\": \"10A\",\n    \"spotType\": \"umbrella\",\n    \"umb\": \"10A\",\n    \"sector\": 2,\n    \"place\": null,\n    \"status\": 2,\n    \"from\": 1559001600,\n    \"to\": 1559001600,\n    \"halfday\": 0,\n    \"maxibeds\": 0,\n    \"beds\": 2,\n    \"deckchairs\": 0,\n    \"chairs\": 0,\n    \"cabin\": null,\n    \"tickets\": 2,\n    \"customer\": {\n        \"id\": null,\n        \"code\": \"22\",\n        \"name\": \"Mario\",\n        \"surname\": \"Rossi\",\n        \"phone\": {\n            \"areaCode\": null,\n            \"number\": \"+39123456789\"\n        },\n        \"email\": \"mariorossi@example.com\",\n        \"company\": \"ACME\",\n        \"taxCode\": \"RSSMAR70A01A123B\",\n        \"vatCode\": \"0123456789\",\n        \"address\": {\n            \"street\": \"via roma\",\n            \"number\": \"1\",\n            \"zip\": \"01234\",\n            \"city\": \"Roma\",\n            \"state\": \"RM\",\n            \"country\": \"IT\"\n        },\n        \"pec\": \"pec@esempio.it\",\n        \"sdi\": \"KRRH6B9\"\n    },\n    \"beachServices\": [],\n    \"extraBeds\": [],\n    \"steps\": [],\n    \"absences\": [],\n    \"hotel\": \"Hotel name\",\n    \"hotelRoom\": null,\n    \"travelGroup\": \"Seconda giovinezza\",\n    \"vehiclePlate\": \"AB123CD\",\n    \"price\": 10,\n    \"paid\": false,\n    \"payed\": false,\n    \"account\": 5,\n    \"voucher\": null,\n    \"notes\": \"Prova API Postman\",\n    \"qrcode\": \"https://lnk.spiagge.it/?sp=OTUzOS4xMDE0NDI3ODUx\",\n    \"lastMod\": 1577836800\n}"}],"_postman_id":"57eb7a48-97e8-4696-aa0c-306a4842c977"},{"name":"beaches/<id>/registrations/<reg>","id":"54a8fa31-307e-45c8-a07f-e04e26eb215f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration","description":"<p>Retrieve the reservation data with this endpoint.</p>\n","urlObject":{"path":[":beach","registrations",":registration"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"description":{"content":"<p>Reservation ID</p>\n","type":"text/plain"},"type":"any","value":"27356","key":"registration"}]}},"response":[{"id":"48054d65-f92d-4446-b403-593488d82bae","name":"beaches/<id>/registrations/<reg>","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":[":beach","registrations",":registration"],"variable":[{"key":"beach","value":"demo2"},{"key":"registration","value":"27356"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"id\": 1171,\r\n    \"spotName\": \"10A\",\r\n    \"spotType\": \"umbrella\",\r\n    \"umb\": \"10A\",\r\n    \"sector\": 2,\r\n    \"place\": null,\r\n    \"status\": 2,\r\n    \"from\": 1559001600,\r\n    \"to\": 1559001600,\r\n    \"halfday\": 0,\r\n    \"maxibeds\": 0,\r\n    \"beds\": 2,\r\n    \"deckchairs\": 0,\r\n    \"chairs\": 0,\r\n    \"cabin\": null,\r\n    \"tickets\": 2,\r\n    \"customer\": {\r\n        \"id\": null,\r\n        \"code\": null,\r\n        \"name\": \"Mario\",\r\n        \"surname\": \"Rossi\",\r\n        \"phone\": {\r\n            \"areaCode\": null,\r\n            \"number\": \"+39123456789\"\r\n        },\r\n        \"email\": \"mariorossi@example.com\",\r\n        \"company\": \"ACME\",\r\n        \"taxCode\": \"RSSMAR70A01A123B\",\r\n        \"vatCode\": \"0123456789\",\r\n        \"address\": {\r\n            \"street\": \"via roma\",\r\n            \"number\": \"1\",\r\n            \"zip\": \"01234\",\r\n            \"city\": \"Roma\",\r\n            \"state\": \"RM\",\r\n            \"country\": \"IT\"\r\n        },\r\n        \"pec\": \"pec@esempio.it\",\r\n        \"sdi\": \"KRRH6B9\"\r\n    },\r\n    \"beachServices\": [\r\n        {\r\n            \"beachService\": {\r\n                \"id\": 10346,\r\n                \"name\": \"Gettone doccia\",\r\n                \"type\": 1,\r\n                \"productId\": \"PRD001\"\r\n            },\r\n            \"usedTickets\": null,\r\n            \"buyedTickets\": 1,\r\n            \"deletedTickets\": null\r\n        }\r\n    ],\r\n    \"extraBeds\": [],\r\n    \"steps\": [],\r\n    \"absences\": [],\r\n    \"hotel\": \"Hotel name\",\r\n    \"hotelRoom\": null,\r\n    \"travelGroup\": \"Seconda giovinezza\",\r\n    \"vehiclePlate\": \"AB123CD\",\r\n    \"price\": 10,\r\n    \"paid\": false,\r\n    \"payed\": false,\r\n    \"account\": 5,\r\n    \"voucher\": null,\r\n    \"notes\": null,\r\n    \"qrcode\": \"https://lnk.spiagge.it/?sp=OTUzOS4xMDE0NDI3ODUx\",\r\n    \"lastMod\": 1577836800\r\n}"}],"_postman_id":"54a8fa31-307e-45c8-a07f-e04e26eb215f"},{"name":"beaches/<id>/registrations/<reg>","id":"46d8add8-f35d-414c-8d49-ccaa08b5a6bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"umb\": \"58\",\r\n\t\"sector\": 1,\r\n\t\"from\": 1559001600,\r\n\t\"to\": 1559001600,\r\n\t\"halfday\": false,\r\n    \"beds\": 2,\r\n    \"deckchairs\": 0,\r\n    \"chairs\": 0,\r\n    \"maxibeds\": 0,\r\n    \"cabin\": \"15\",\r\n    \"customer\": {\r\n    \t\"code\": \"22\",\r\n    \t\"name\":\"Mario\",\r\n    \t\"surname\": \"Rossi\",\r\n    \t\"email\": \"mariorossi@example.com\",\r\n    \t\"phone\": {\r\n    \t\t\"areaCode\": \"+39\",\r\n    \t\t\"number\": \"123456789\"\r\n    \t},\r\n    \t\"company\": \"ACME\",\r\n    \t\"taxCode\": \"RSSMAR70A01A123B\",\r\n    \t\"vatCode\": \"0123456789\",\r\n    \t\"address\": {\r\n    \t\t\"street\": \"via roma\",\r\n    \t\t\"number\": \"1\",\r\n    \t\t\"zip\": \"01234\",\r\n    \t\t\"city\": \"Roma\",\r\n    \t\t\"state\": \"RM\",\r\n    \t\t\"country\": \"IT\"\r\n    \t},\r\n    \t\"pec\": \"pec@esempio.it\",\r\n    \t\"sdi\": \"KRRH6B9\"\r\n    },\r\n\t\"hotel\": \"Hotel name\",\r\n\t\"hotelRoom\": null,\r\n\t\"travelGroup\": \"Seconda giovinezza\",\r\n\t\"payed\": true,\r\n    \"price\": 10,\r\n    \"account\": 5,\r\n\t\"voucher\": 100,\r\n\t\"notes\": \"Prova API Postman\",\r\n    \"allowLastDayOverbooking\": false\r\n}","options":{"raw":{"language":"json"}}},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration","description":"<p>You can update a reservation with a PUT request to the registrations/reg&gt; endpoint.</p>\n<p>Inside the payload you can insert only the properties that you want to update.</p>\n","urlObject":{"path":[":beach","registrations",":registration"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"27356","key":"registration"}]}},"response":[{"id":"cddc61a7-8207-440b-8dbe-d265f7cf5f4e","name":"beaches/<id>/registrations/<reg>","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"umb\": \"58\",\r\n\t\"sector\": 1,\r\n\t\"from\": 1559001600,\r\n\t\"to\": 1559001600,\r\n\t\"halfday\": false,\r\n    \"beds\": 2,\r\n    \"deckchairs\": 0,\r\n    \"chairs\": 0,\r\n    \"maxibeds\": 0,\r\n    \"cabin\": \"15\",\r\n    \"customer\": {\r\n    \t\"code\": \"22\",\r\n    \t\"name\":\"Mario\",\r\n    \t\"surname\": \"Rossi\",\r\n    \t\"email\": \"mariorossi@example.com\",\r\n    \t\"phone\": {\r\n    \t\t\"areaCode\": \"+39\",\r\n    \t\t\"number\": \"123456789\"\r\n    \t},\r\n    \t\"company\": \"ACME\",\r\n    \t\"taxCode\": \"RSSMAR70A01A123B\",\r\n    \t\"vatCode\": \"0123456789\",\r\n    \t\"address\": {\r\n    \t\t\"street\": \"via roma\",\r\n    \t\t\"number\": \"1\",\r\n    \t\t\"zip\": \"01234\",\r\n    \t\t\"city\": \"Roma\",\r\n    \t\t\"state\": \"RM\",\r\n    \t\t\"country\": \"IT\"\r\n    \t},\r\n    \t\"pec\": \"pec@esempio.it\",\r\n    \t\"sdi\": \"KRRH6B9\"\r\n    },\r\n\t\"hotel\": \"Hotel name\",\r\n\t\"hotelRoom\": null,\r\n\t\"travelGroup\": \"Seconda giovinezza\",\r\n\t\"payed\": true,\r\n    \"price\": 10,\r\n    \"account\": 5,\r\n\t\"voucher\": 100,\r\n\t\"notes\": \"Prova API Postman\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":[":beach","registrations",":registration"],"variable":[{"key":"beach","value":"demo2"},{"key":"registration","value":"27356"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"id\": 1171,\r\n    \"spotName\": \"58\",\r\n    \"spotType\": \"umbrella\",\r\n    \"umb\": \"58\",\r\n    \"sector\": 2,\r\n    \"place\": null,\r\n    \"status\": 2,\r\n    \"from\": 1559001600,\r\n    \"to\": 1559001600,\r\n    \"halfday\": 0,\r\n    \"maxibeds\": 0,\r\n    \"beds\": 2,\r\n    \"deckchairs\": 0,\r\n    \"chairs\": 0,\r\n    \"cabin\": null,\r\n    \"tickets\": 2,\r\n    \"customer\": {\r\n        \"id\": null,\r\n        \"code\": \"22\",\r\n        \"name\": \"Mario\",\r\n        \"surname\": \"Rossi\",\r\n        \"phone\": {\r\n            \"areaCode\": null,\r\n            \"number\": \"+39123456789\"\r\n        },\r\n        \"email\": \"mariorossi@example.com\",\r\n        \"company\": \"ACME\",\r\n        \"taxCode\": \"RSSMAR70A01A123B\",\r\n        \"vatCode\": \"0123456789\",\r\n        \"address\": {\r\n            \"street\": \"via roma\",\r\n            \"number\": \"1\",\r\n            \"zip\": \"01234\",\r\n            \"city\": \"Roma\",\r\n            \"state\": \"RM\",\r\n            \"country\": \"IT\"\r\n        },\r\n        \"pec\": \"pec@esempio.it\",\r\n        \"sdi\": \"KRRH6B9\"\r\n    },\r\n    \"beachServices\": [],\r\n    \"extraBeds\": [],\r\n    \"steps\": [],\r\n    \"absences\": [],\r\n    \"hotel\": \"Hotel name\",\r\n    \"hotelRoom\": null,\r\n    \"travelGroup\": \"Seconda giovinezza\",\r\n    \"vehiclePlate\": \"AB123CD\",\r\n    \"price\": 10,\r\n    \"paid\": false,\r\n    \"payed\": false,\r\n    \"account\": 5,\r\n    \"voucher\": null,\r\n    \"notes\": \"Prova API Postman\",\r\n    \"qrcode\": \"https://lnk.spiagge.it/?sp=OTUzOS4xMDE0NDI3ODUx\",\r\n    \"lastMod\": 1577836800\r\n}"}],"_postman_id":"46d8add8-f35d-414c-8d49-ccaa08b5a6bf"},{"name":"beaches/<id>/registrations/<reg>","id":"9855795a-76d4-4be3-8bb2-f95d61b95d13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration","description":"<p>Endpoint cancellazione prenotazione.</p>\n<p>Le prenotazioni cancellate tramite API vengono inserite nel cestino della licenza.</p>\n","urlObject":{"path":[":beach","registrations",":registration"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"1170","key":"registration"}]}},"response":[],"_postman_id":"9855795a-76d4-4be3-8bb2-f95d61b95d13"},{"name":"beaches/<id>/registrations/<reg>/expenses","id":"4d85c8d6-d59e-49fd-904d-1c8f562e159e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration/expenses/","description":"<p>You could add an expense from a third-party application to a Spiagge.it reservation. This is the most important endpoint for the restaurant integration flow.</p>\n<p><strong>Expense object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>int [read-only]</td>\n<td>Spiagge.it user ID. Set it to declare the user who added the expense.</td>\n</tr>\n<tr>\n<td>user</td>\n<td>int [optional]</td>\n<td>Spiagge.it user ID. Set it to declare the user who added the expense.</td>\n</tr>\n<tr>\n<td>app</td>\n<td>string [optional]</td>\n<td>Third-party application ID. Use it to show the third-party application icon.</td>\n</tr>\n<tr>\n<td>idRef</td>\n<td>string [optional]</td>\n<td>Third-party software order ID. It could help the user check the third-party software order with the data inside Spiagge.it PRO.</td>\n</tr>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>Expense description.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>double</td>\n<td>Expenses amount [EUR]. This field is ignored if the order details are set (<em>data</em> property).</td>\n</tr>\n<tr>\n<td>vat</td>\n<td>int</td>\n<td>Tax percentage. This field is ignored if the order details are set (<em>data</em> property).</td>\n</tr>\n<tr>\n<td>notes</td>\n<td>string [optional]</td>\n<td>Notes to show together the expense.</td>\n</tr>\n<tr>\n<td>data</td>\n<td>Object [optional]</td>\n<td>The structured details of the expense. Use to specify the expense items.  <br />It is useful if the expense contains articles or services with different tax percentages.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Data property object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>products</td>\n<td>Product[]</td>\n<td>List of the order items.</td>\n</tr>\n<tr>\n<td>signature</td>\n<td>string [optional]</td>\n<td>URL of the image with the customer signature.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Product object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>product</td>\n<td>string</td>\n<td>Product name.</td>\n</tr>\n<tr>\n<td>qnt</td>\n<td>double</td>\n<td>Quantity name.</td>\n</tr>\n<tr>\n<td>price</td>\n<td>double</td>\n<td>Total amount of the line.  <br />For example, the customer buys 3 ice creams, which costs 5 EUR. The value to set is 15.</td>\n</tr>\n<tr>\n<td>vat</td>\n<td>double</td>\n<td>Tax percentage.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":[":beach","registrations",":registration","expenses",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"29476","key":"registration"}]}},"response":[],"_postman_id":"4d85c8d6-d59e-49fd-904d-1c8f562e159e"},{"name":"beaches/<id>/registrations/<reg>/expenses","id":"3e5fd3bb-56f9-428c-8cd8-316e01f104ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"user\": 4,\n    \"app\": \"Ristorante APP\",\n    \"idRef\": \"A22\",\n    \"description\": \"Bar\",\n    \"amount\": 3.50,\n    \"notes\": \"Bar Roma - 1x Cola with ice and lime.\",\n    \"data\":{\n        \"products\":[\n            {\n                \"product\":\"Cola with ice and lime\",\n                \"qnt\":1,\n                \"price\":3.5,\n                \"vat\":22\n            }\n        ]\n    }\n}"},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/:registration/expenses/","description":"<p>Questa rotta permette alle applicazioni di terzi di aggiungere nuove spese.</p>\n","urlObject":{"path":[":beach","registrations",":registration","expenses",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"disabled":true,"key":"access_token","value":"access_token"}],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"29476","key":"registration"}]}},"response":[],"_postman_id":"3e5fd3bb-56f9-428c-8cd8-316e01f104ad"},{"name":"beaches/<id>/registrations/user/<user>","id":"4dfb3dc4-8466-4b9e-918b-85c13df4b960","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/user/:user","urlObject":{"path":[":beach","registrations","user",":user"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"","key":"user"}]}},"response":[],"_postman_id":"4dfb3dc4-8466-4b9e-918b-85c13df4b960"},{"name":"beaches/<id>/registrations/email/","id":"0c7d7320-7209-4b0e-9f7d-04b2a4b00842","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/email/?e={{email}}","urlObject":{"path":[":beach","registrations","email",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"key":"e","value":"{{email}}"}],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"0c7d7320-7209-4b0e-9f7d-04b2a4b00842"},{"name":"beaches/<id>/registrations/contact/<contact>","id":"0bf67b4b-4a0c-4abf-a8ab-193fc8a6b41c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/contact/:contact","urlObject":{"path":[":beach","registrations","contact",":contact"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"1","key":"contact"}]}},"response":[],"_postman_id":"0bf67b4b-4a0c-4abf-a8ab-193fc8a6b41c"},{"name":"beaches/<id>/registrations/contact-code/<contact-code>","id":"b1a8ebe8-d71a-4bdf-ae9b-0ac2d5cc0543","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/contact-code/:contact-code","urlObject":{"path":[":beach","registrations","contact-code",":contact-code"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"22","key":"contact-code"}]}},"response":[],"_postman_id":"b1a8ebe8-d71a-4bdf-ae9b-0ac2d5cc0543"},{"name":"beaches/<id>/registrations/umbrella/<umb>","id":"171d9596-c7db-4f2c-9c28-e295e0acf906","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/registrations/umbrella/:umbrella?from=1674172800&to=1674172800","urlObject":{"path":[":beach","registrations","umbrella",":umbrella"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"key":"from","value":"1674172800"},{"key":"to","value":"1674172800"}],"variable":[{"type":"any","value":"demo2","key":"beach"},{"type":"any","value":"163","key":"umbrella"}]}},"response":[],"_postman_id":"171d9596-c7db-4f2c-9c28-e295e0acf906"}],"id":"7a2bae9e-2dbb-45ff-89f3-45d7a6a72134","description":"<p>The reservation object is the most important resource of the Spiagge.it PRO platform.</p>\n<p><strong>Registration object</strong></p>\n<p>The object properties are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer (read only)</td>\n<td>The reservation's unique ID. The field is automatically assigned by the system and cannot be modified.</td>\n</tr>\n<tr>\n<td>spotName</td>\n<td>String (optional)</td>\n<td>Name of the spot.</td>\n</tr>\n<tr>\n<td>spotType</td>\n<td>String (optional) [umbrella, gazebo, cabins, beds, bed, parking, boat, playfield]</td>\n<td>Type of the spot.</td>\n</tr>\n<tr>\n<td>umb</td>\n<td>[deprecated] String (optional)</td>\n<td>Name of the umbrella to which the booking is associated. If the booking refers to the cabin only or to loose sunbeds, it is possible to omit the field or use an empty string.  <br />Using the field sector, it is possible to assign an umbrella automatically.  <br />  <br /><strong>NB.</strong> Use spotName instead of this property.</td>\n</tr>\n<tr>\n<td>sector</td>\n<td>integer (optional)</td>\n<td>If you do not want to specify a particular umbrella, but want to leave this task to the management system, you can specify the desired sector.</td>\n</tr>\n<tr>\n<td>place</td>\n<td>[deprecated] String (optional)</td>\n<td>Special station code (i.e. those stations that are not cabins, gazebos, sunbed areas or umbrellas).  <br />  <br /><strong>NB.</strong> Use spotName instead of this property.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>integer [1:temporary, 2:confirmed, 3:seasonal, 4:child-reservation, 5:seasonal-temporary] (optional)</td>\n<td>Booking status. If not specified, the reservation is added as confirmed.</td>\n</tr>\n<tr>\n<td>from</td>\n<td>UNIX timestamp</td>\n<td>Reservation start day (identified as midnight with UTC time zone)</td>\n</tr>\n<tr>\n<td>to</td>\n<td>UNIX timestamp</td>\n<td>Reservation end day (identified as midnight with UTC time zone)</td>\n</tr>\n<tr>\n<td>halfday</td>\n<td>integer [0:daily, 1:morning,2:afternoon] (optional)</td>\n<td>If present, it is possible to specify for which half of the day the reservation is active. The field is ignored if the start date and end date do not match.</td>\n</tr>\n<tr>\n<td>beds</td>\n<td>integer</td>\n<td>Number of sunbeds</td>\n</tr>\n<tr>\n<td>deckchairs</td>\n<td>integer</td>\n<td>Number of deckchairs</td>\n</tr>\n<tr>\n<td>chairs</td>\n<td>integer</td>\n<td>Number of chairs</td>\n</tr>\n<tr>\n<td>maxibeds</td>\n<td>integer</td>\n<td>Number of maxi-sunbeds</td>\n</tr>\n<tr>\n<td>cabin</td>\n<td>[deprecated] String (optional)</td>\n<td>Cabin name.  <br />  <br /><strong>NB.</strong> Use spotName instead of this property when spotType is equal to cabins.</td>\n</tr>\n<tr>\n<td>tickets</td>\n<td>integer</td>\n<td>Number of entrance tickets purchased.</td>\n</tr>\n<tr>\n<td>customer</td>\n<td>Object (optional)</td>\n<td>Cliente della prenotazione</td>\n</tr>\n<tr>\n<td>hotel</td>\n<td>String (optional)</td>\n<td>Name of the hotel where the customer is staying.</td>\n</tr>\n<tr>\n<td>hotelRoom</td>\n<td>String (optional)</td>\n<td>Hotel room number.</td>\n</tr>\n<tr>\n<td>travelGroup</td>\n<td>String (optional)</td>\n<td>Name of the travel group to which the customer belongs.</td>\n</tr>\n<tr>\n<td>vehiclePlate</td>\n<td>String (optional)</td>\n<td>Vehicle plate. This property is used in the reservations associated with the spots of type parking.</td>\n</tr>\n<tr>\n<td>beachServices</td>\n<td>reservationBeachService[] (optional)</td>\n<td>An array of beach services has been added to the reservation.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>boolean (optional)</td>\n<td>Indicates whether the reservation is paid.</td>\n</tr>\n<tr>\n<td>payed</td>\n<td>[deprecated] boolean (optional)</td>\n<td>Indicates whether the reservation is paid. Deprecated property.</td>\n</tr>\n<tr>\n<td>price</td>\n<td>double (optional)</td>\n<td>The price that the customer must pay.</td>\n</tr>\n<tr>\n<td>account</td>\n<td>double (optional)</td>\n<td>Deposit paid by the customer.</td>\n</tr>\n<tr>\n<td>voucher</td>\n<td>integer (optional)</td>\n<td>ID of the agreement applied to the customer.</td>\n</tr>\n<tr>\n<td>notes</td>\n<td>String (optional)</td>\n<td>Notes relating to your booking.</td>\n</tr>\n<tr>\n<td>qrcode</td>\n<td>String (read only)</td>\n<td>Booking ticket QR Code string.</td>\n</tr>\n<tr>\n<td>expirationDate</td>\n<td>UNIX timestamp (optional)</td>\n<td>Automatic booking cancellation date. Useful in case of unconfirmed online booking and status equal to 1.</td>\n</tr>\n<tr>\n<td>lastMod</td>\n<td>UNIX timestamp (read only)</td>\n<td>Last update date.</td>\n</tr>\n<tr>\n<td>allowLastDayOverbooking</td>\n<td>boolean (write only)</td>\n<td>Allow the overbooking between the last day of the current reservation and the first day of the next one.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Reservation customer object</strong></p>\n<p>Inside the registration object there is a secondary object for the customer data. The properties of this object are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer (optional)</td>\n<td>The system generates the customer ID. If it is empty, a new contact will be created. It is not recommended to use this field if the \"contacts\" resource APIs are not also implemented.</td>\n</tr>\n<tr>\n<td>code</td>\n<td>String (optional)</td>\n<td>Customer identification code.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String (optional)</td>\n<td>Customer name.</td>\n</tr>\n<tr>\n<td>surname</td>\n<td>String (optional)</td>\n<td>Customer surname.</td>\n</tr>\n<tr>\n<td>email</td>\n<td>String (optional)</td>\n<td>Customer e-mail address.</td>\n</tr>\n<tr>\n<td>phone</td>\n<td>Object (optional)</td>\n<td>Customer phone number.</td>\n</tr>\n<tr>\n<td>_ areaCode</td>\n<td>String</td>\n<td>Country code.</td>\n</tr>\n<tr>\n<td>_ number</td>\n<td>String</td>\n<td>Phone number.</td>\n</tr>\n<tr>\n<td>company</td>\n<td>String (optional)</td>\n<td>Customer's company name.</td>\n</tr>\n<tr>\n<td>taxCode</td>\n<td>String (optional)</td>\n<td>Customer tax code.</td>\n</tr>\n<tr>\n<td>vatCode</td>\n<td>String (optional)</td>\n<td>Customer VAT code.</td>\n</tr>\n<tr>\n<td>address</td>\n<td>Object (optional)</td>\n<td>Customer billing address.</td>\n</tr>\n<tr>\n<td>_ street</td>\n<td>String</td>\n<td>Address.</td>\n</tr>\n<tr>\n<td>_ number</td>\n<td>String</td>\n<td>House number or other.</td>\n</tr>\n<tr>\n<td>_ zip</td>\n<td>String</td>\n<td>ZIP code.</td>\n</tr>\n<tr>\n<td>_ city</td>\n<td>String</td>\n<td>City.</td>\n</tr>\n<tr>\n<td>_ state</td>\n<td>String</td>\n<td>State or province in ISO 3166-2 format</td>\n</tr>\n<tr>\n<td>_ country</td>\n<td>String</td>\n<td>Country in ISO 3166-1 alpha-2 format</td>\n</tr>\n<tr>\n<td>pec</td>\n<td>String (optional)</td>\n<td>PEC address for electronic invoicing.</td>\n</tr>\n<tr>\n<td>sdi</td>\n<td>String (optional)</td>\n<td>Electronic invoicing recipient code.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Reservation beach service object</strong></p>\n<p>The details of the beach services added to the reservation:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>beachService</td>\n<td>Object</td>\n<td>The details of the service.</td>\n</tr>\n<tr>\n<td>_ id</td>\n<td>String (optional)</td>\n<td>Customer identification code.</td>\n</tr>\n<tr>\n<td>_ name</td>\n<td>String (optional)</td>\n<td>Customer name.</td>\n</tr>\n<tr>\n<td>_ type</td>\n<td>String [1:beach service,2:ticket]</td>\n<td>Beach service type.</td>\n</tr>\n<tr>\n<td>_ productId</td>\n<td>String (optional)</td>\n<td>Manufacturer product ID or administration product ID.</td>\n</tr>\n<tr>\n<td>usedTickets</td>\n<td>integer</td>\n<td>Number of services used.</td>\n</tr>\n<tr>\n<td>buyedTickets</td>\n<td>integer</td>\n<td>Number of services bought.</td>\n</tr>\n<tr>\n<td>deletedTickets</td>\n<td>integer</td>\n<td>Number of services deleted.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"7a2bae9e-2dbb-45ff-89f3-45d7a6a72134"},{"name":"Cashflows","item":[{"name":"beaches/<id>/cashflows","id":"406cdc3d-fde9-4723-8e1c-5734e10fce1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/cashflows/?from=1683590400&to=1683590400","urlObject":{"path":["demo2","cashflows",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"description":{"content":"<p>From filter in UNIX timestamp. [optional]</p>\n","type":"text/plain"},"key":"from","value":"1683590400"},{"description":{"content":"<p>To filter in UNIX timestamp. [optional]</p>\n","type":"text/plain"},"key":"to","value":"1683590400"}],"variable":[]}},"response":[{"id":"0787c226-15d3-4edc-803e-9ca6dc7a0683","name":"beaches/<id>/cashflows","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/cashflows/?from=1683590400&to=1683590400","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":["demo2","cashflows",""],"query":[{"key":"from","value":"1683590400","description":"From filter in UNIX timestamp. [optional]"},{"key":"to","value":"1683590400","description":"To filter in UNIX timestamp. [optional]"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 17 Apr 2025 16:35:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Apache/2.4.62 () OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"cashflows\": [\n        {\n            \"id\": 12263504,\n            \"licenseCode\": \"demo2\",\n            \"oldId\": 0,\n            \"reservationId\": 21910751,\n            \"userId\": null,\n            \"method\": 14,\n            \"amount\": 11.49,\n            \"date\": 1683590400,\n            \"receiptId\": null,\n            \"invoiceId\": null,\n            \"webticReceiptId\": null,\n            \"onlinePaymentFees\": \"1.22\",\n            \"stripeChargeId\": \"ch_3REs90JYhVpsZBXW05BrmBTD\",\n            \"notes\": null,\n            \"deleted\": false,\n            \"createdAt\": 1744895258,\n            \"updatedAt\": 1744895258,\n            \"isAdditionFlow\": false\n        }\n    ]\n}"}],"_postman_id":"406cdc3d-fde9-4723-8e1c-5734e10fce1e"},{"name":"beaches/<id>/cashflows/<cashflow>","id":"1d57f71d-99d2-48c7-bb01-844d4fe50234","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/cashflows/:cashflow","urlObject":{"path":["demo2","cashflows",":cashflow"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"description":{"content":"<p>Cash flow ID</p>\n","type":"text/plain"},"type":"any","value":"12263504","key":"cashflow"}]}},"response":[{"id":"419007fa-470a-4808-ada1-da7128e62b40","name":"beaches/<id>/cashflows/<cashflow>","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/cashflows/:cashflow","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":["demo2","cashflows",":cashflow"],"variable":[{"key":"cashflow","value":"12263504","description":"Cash flow ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 17 Apr 2025 16:35:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Apache/2.4.62 () OpenSSL/1.0.2k-fips"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 12263504,\n    \"licenseCode\": \"demo2\",\n    \"oldId\": 0,\n    \"reservationId\": 21910751,\n    \"userId\": null,\n    \"method\": 14,\n    \"amount\": 11.49,\n    \"date\": 1683590400,\n    \"receiptId\": null,\n    \"invoiceId\": null,\n    \"webticReceiptId\": null,\n    \"onlinePaymentFees\": \"1.22\",\n    \"stripeChargeId\": \"ch_3REs90JYhVpsZBXW05BrmBTD\",\n    \"notes\": null,\n    \"deleted\": false,\n    \"createdAt\": 1744895258,\n    \"updatedAt\": 1744895258,\n    \"isAdditionFlow\": false\n}"}],"_postman_id":"1d57f71d-99d2-48c7-bb01-844d4fe50234"}],"id":"6b8bbfba-b025-4465-a170-1d6519a4d64c","description":"<p>The cash flow is the object used to describe an economic movement.</p>\n<p><strong>Cashflow object</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>int</td>\n<td>Cash flow ID.</td>\n</tr>\n<tr>\n<td>licenseCode</td>\n<td>String</td>\n<td>Beach license code.</td>\n</tr>\n<tr>\n<td>oldId</td>\n<td>[deprecated] int - null</td>\n<td></td>\n</tr>\n<tr>\n<td>reservationId</td>\n<td>int</td>\n<td>Reservation ID.</td>\n</tr>\n<tr>\n<td>userId</td>\n<td>int - null</td>\n<td>Manager user ID. The property is empty in case of online payment.</td>\n</tr>\n<tr>\n<td>method</td>\n<td>int - null</td>\n<td>Patment method ID.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>double</td>\n<td>Cash flow amount.</td>\n</tr>\n<tr>\n<td>date</td>\n<td>UNIX timestamp</td>\n<td>Movement date.</td>\n</tr>\n<tr>\n<td>receiptId</td>\n<td>int - null</td>\n<td>Receipt ID</td>\n</tr>\n<tr>\n<td>invoiceId</td>\n<td>int - null</td>\n<td>Invoice ID</td>\n</tr>\n<tr>\n<td>webticReceiptId</td>\n<td>int - null</td>\n<td>SIAE documenti ID.</td>\n</tr>\n<tr>\n<td>onlinePaymentFees</td>\n<td>double</td>\n<td>Online payment fees amount.</td>\n</tr>\n<tr>\n<td>stripeChargeId</td>\n<td>String - null</td>\n<td>Stripe payment ID.</td>\n</tr>\n<tr>\n<td>notes</td>\n<td>String - null</td>\n<td>Payment note writed by the beach manager.</td>\n</tr>\n<tr>\n<td>deleted</td>\n<td>boolean</td>\n<td>Logic deletion.</td>\n</tr>\n<tr>\n<td>isAdditionalFlow</td>\n<td>boolean</td>\n<td></td>\n</tr>\n<tr>\n<td>createdAt</td>\n<td>int</td>\n<td>Object creation time.</td>\n</tr>\n<tr>\n<td>updatedAt</td>\n<td>int</td>\n<td>Last update time.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"6b8bbfba-b025-4465-a170-1d6519a4d64c"},{"name":"Map","item":[{"name":"beaches/<id>/map/render/","id":"8f9525f4-7ce2-4615-ab1e-d1705b11bf32","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/map/render?view=square&date=2020-12-10&mode=json","urlObject":{"path":[":beach","map","render"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"key":"view","value":"square"},{"key":"date","value":"2020-12-10"},{"key":"mode","value":"json"}],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"8f9525f4-7ce2-4615-ab1e-d1705b11bf32"}],"id":"bb6e81ea-ae6f-43c2-86e8-7df69db6f20f","_postman_id":"bb6e81ea-ae6f-43c2-86e8-7df69db6f20f","description":""},{"name":"Sectors","item":[{"name":"beaches/<id>/sectors/","id":"88d027a5-3682-4919-924d-9ee07cd422a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/sectors/","urlObject":{"path":[":beach","sectors",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"88d027a5-3682-4919-924d-9ee07cd422a6"},{"name":"beaches/<id>/sectors/availability/","id":"b4f2cd70-ea9f-4106-8c6a-8bcca38fe185","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/sectors/availability/?from=1723680000&to=1723680000","urlObject":{"path":[":beach","sectors","availability",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"key":"from","value":"1723680000"},{"key":"to","value":"1723680000"}],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[],"_postman_id":"b4f2cd70-ea9f-4106-8c6a-8bcca38fe185"}],"id":"0d328ce4-fa74-4f5e-9f11-248cc6a899f0","_postman_id":"0d328ce4-fa74-4f5e-9f11-248cc6a899f0","description":""},{"name":"Spots","item":[{"name":"beaches/<id>/spots/","id":"7b56ac0e-2d2a-486a-b49f-3c12b451fe84","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/spots/","urlObject":{"path":[":beach","spots",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[{"id":"087ed409-1bfb-441a-beeb-29e60c1fc3cd","name":"beaches/<id>/spots/","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/spots/","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":[":beach","spots",""],"variable":[{"key":"beach","value":"demo2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\r\n    \"spots\": [\r\n        {\r\n            \"id\": 1,\r\n            \"name\": \"1\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 1,\r\n            \"online\": true,\r\n            \"pos_x\": 67,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 2,\r\n            \"name\": \"2\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 1,\r\n            \"online\": true,\r\n            \"pos_x\": 150,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 3,\r\n            \"name\": \"3\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 1,\r\n            \"online\": true,\r\n            \"pos_x\": 234,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 4,\r\n            \"name\": \"4\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 1,\r\n            \"online\": true,\r\n            \"pos_x\": 317,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 5,\r\n            \"name\": \"5\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 1,\r\n            \"online\": true,\r\n            \"pos_x\": 400,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 6,\r\n            \"name\": \"6\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 2,\r\n            \"online\": true,\r\n            \"pos_x\": 567,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 7,\r\n            \"name\": \"7\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 2,\r\n            \"online\": true,\r\n            \"pos_x\": 650,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 8,\r\n            \"name\": \"8\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 2,\r\n            \"online\": true,\r\n            \"pos_x\": 717,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        },\r\n        {\r\n            \"id\": 9,\r\n            \"name\": \"9\",\r\n            \"type\": \"umbrella\",\r\n            \"sector\": 2,\r\n            \"online\": true,\r\n            \"pos_x\": 800,\r\n            \"pos_y\": 600,\r\n            \"background_color\": \"Standard\"\r\n        }\r\n    ]\r\n}"}],"_postman_id":"7b56ac0e-2d2a-486a-b49f-3c12b451fe84"}],"id":"938c4bb6-fae6-4407-a04d-fe87ad1e5aec","description":"<p>The spot object is a map element.</p>\n<p><strong>Spot object</strong></p>\n<p>The object properties are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer (read only)</td>\n<td>The reservation's unique ID. The field is automatically assigned by the system and cannot be modified.</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Name of the spot.</td>\n</tr>\n<tr>\n<td>type</td>\n<td>String [umbrella, gazebo, cabins, beds, bed, parking, boat, playfield]</td>\n<td>Type of the spot.</td>\n</tr>\n<tr>\n<td>sector</td>\n<td>integer</td>\n<td>Sector ID.</td>\n</tr>\n<tr>\n<td>online</td>\n<td>Boolean</td>\n<td>Spot is enabled for online reservation.</td>\n</tr>\n<tr>\n<td>pos_x</td>\n<td>integer</td>\n<td>Map X position</td>\n</tr>\n<tr>\n<td>pos_y</td>\n<td>integer</td>\n<td>Map Y position.</td>\n</tr>\n<tr>\n<td>background_color</td>\n<td>String</td>\n<td>Spot background color.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"938c4bb6-fae6-4407-a04d-fe87ad1e5aec"},{"name":"Search","item":[{"name":"beaches/search/","id":"8829625f-9fc8-4e28-899b-ffeeb7bf7438","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/search/?city=Stintino&country=it","urlObject":{"path":["search",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"disabled":true,"key":"lat","value":"44.077157"},{"disabled":true,"key":"long","value":"12.574487"},{"key":"city","value":"Stintino"},{"disabled":true,"key":"state","value":"rn"},{"key":"country","value":"it"}],"variable":[]}},"response":[],"_postman_id":"8829625f-9fc8-4e28-899b-ffeeb7bf7438"}],"id":"96626213-90a4-4eac-889a-e2d7cdd499b9","_postman_id":"96626213-90a4-4eac-889a-e2d7cdd499b9","description":""},{"name":"Statistics","item":[{"name":"beaches/<id>/statistics/cash-flows","id":"6615b020-880b-47f4-adab-ade0fd3d0e36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startDate\": 1706832000,\n  \"endDate\": 1706832000,\n  \"printerIds\": [0, -1, 2611, 2904, 2905, 2906],\n  \"channels\": [\"online\", \"offline\"]\n}"},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/statistics/cash-flows","description":"<p>The cash flow report is essential for viewing the day's cash movements, taxation, and division by payment method.</p>\n<p>The POST request includes a payload with several applicable filters. The list of applicable filters is as follows.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>startDate</td>\n<td>UNIX timestamp</td>\n<td>Midnight UTC of the range start day in UNIX timestamp format.</td>\n</tr>\n<tr>\n<td>endDate</td>\n<td>UNIX timestamp</td>\n<td>Midnight UTC of the end day in UNIX timestamp format.</td>\n</tr>\n<tr>\n<td>channels</td>\n<td>String[] [online, offline] [optional]</td>\n<td>Filter by acquisition channel (online/offline). If omitted, both types of bookings are calculated.</td>\n</tr>\n<tr>\n<td>paymentMethods</td>\n<td>integer [1:temporary, 2:confirmed, 3:seasonal] [opzionale]</td>\n<td>Filter by payment method IDs. If omitted, all methodologies are considered.</td>\n</tr>\n<tr>\n<td>printerIds</td>\n<td>integer[] [optional]</td>\n<td>Fiscal printer filter. If omitted, all are considered.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NB.</strong> To get the daily report, <em>startDate</em> and <em>endDate</em> must be equal.</p>\n<h3 id=\"response\"><strong>Response</strong></h3>\n<p>The report response provides the following graphs:</p>\n<p><strong>Division by payment method</strong></p>\n<p>Statistics divided by payment method in turn broken down by taxation method.</p>\n<p><strong>Division by type of booking duration</strong></p>\n<p>Division of receipts by type of booking duration. Daily, 2 days, weekly, etc…</p>\n<p><strong>List of individual movements</strong></p>\n<p>List of cash movements.</p>\n","urlObject":{"path":[":beach","statistics","cash-flows"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"demo2","key":"beach"}]}},"response":[{"id":"e0935aa7-153a-4fb3-8625-644fd3438f29","name":"beaches/<id>/statistics/cash-flows","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startDate\": 1706832000,\n  \"endDate\": 1706832000,\n  \"printerIds\": [0, -1, 2611, 2904, 2905, 2906],\n  \"channels\": [\"online\", \"offline\"]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/:beach/statistics/cash-flows","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":[":beach","statistics","cash-flows"],"variable":[{"key":"beach","value":"demo2"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": null,\n    \"result\": {\n        \"methods\": {\n            \"items\": [\n                {\n                    \"method\": 1,\n                    \"notFiscal\": -779,\n                    \"fiscal\": 36,\n                    \"withReceipt\": 36,\n                    \"withInvoice\": 0,\n                    \"total\": -743\n                }\n            ],\n            \"total\": -743\n        },\n        \"reservations\": {\n            \"items\": [\n                {\n                    \"umbrella\": 36,\n                    \"boat\": 0,\n                    \"cabins\": 0,\n                    \"parking\": 0,\n                    \"bed\": 0,\n                    \"gazebo\": 0,\n                    \"total\": 36,\n                    \"services\": {\n                        \"total\": 0\n                    },\n                    \"days\": 1\n                }\n            ],\n            \"total\": 36\n        },\n        \"cashFlows\": [\n            {\n                \"date\": 1706889828,\n                \"reservationId\": 14464152,\n                \"startDate\": 1706832000,\n                \"endDate\": 1706832000,\n                \"spot\": \"Ombrellone K21\",\n                \"customer\": \"\",\n                \"method\": 1,\n                \"printer\": 2905,\n                \"receiptNumber\": null,\n                \"fiscalMode\": \"receipt\",\n                \"user\": \"Davide Macrelli\",\n                \"online\": false,\n                \"cashFlowAmount\": 36,\n                \"cashFlowFiscalAmount\": 36\n            },\n            {\n                \"date\": 1706886693,\n                \"reservationId\": null,\n                \"startDate\": null,\n                \"endDate\": null,\n                \"spot\": \"Ricarica tessera\",\n                \"customer\": \"Id Tessera: 144\",\n                \"method\": 1,\n                \"printer\": null,\n                \"receiptNumber\": null,\n                \"fiscalMode\": \"not-fiscal\",\n                \"user\": \"Lorenzo Zatti\",\n                \"online\": false,\n                \"cashFlowAmount\": -30,\n                \"cashFlowFiscalAmount\": null\n            },\n            {\n                \"date\": 1706874614,\n                \"reservationId\": null,\n                \"startDate\": null,\n                \"endDate\": null,\n                \"spot\": \"Ricarica tessera\",\n                \"customer\": \"Id Tessera: 142\",\n                \"method\": 1,\n                \"printer\": null,\n                \"receiptNumber\": null,\n                \"fiscalMode\": \"not-fiscal\",\n                \"user\": \"Lorenzo Zatti\",\n                \"online\": false,\n                \"cashFlowAmount\": -749,\n                \"cashFlowFiscalAmount\": null\n            }\n        ],\n        \"onlineReceiptsAmount\": 0\n    }\n}"}],"_postman_id":"6615b020-880b-47f4-adab-ade0fd3d0e36"}],"id":"521247ac-86e9-47c3-a4c3-ada5e1496f13","_postman_id":"521247ac-86e9-47c3-a4c3-ada5e1496f13","description":""},{"name":"Contacts","item":[{"name":"beaches/<id>/contacts/","id":"2f0521c9-3013-43ff-8ded-dc4f708f5857","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/contacts/","urlObject":{"path":["demo2","contacts",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[]}},"response":[],"_postman_id":"2f0521c9-3013-43ff-8ded-dc4f708f5857"},{"name":"beaches/<id>/contacts/","id":"542dd413-7079-497e-b743-07c61115fdd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"contact\":{\r\n        \"firstName\": \"John\",\r\n        \"lastName\": \"Doe\",\r\n        \"company\": \"\",\r\n        \"type\": 2,\r\n        \"email\": \"john.doe@example.com\",\r\n        \"phoneAreaCode\": \"+39\",\r\n        \"phoneNumber\": \"123456789\",\r\n        \"taxCode\": \"DOEJHN70G01A123B\",\r\n        \"vatCode\": \"DOEJHN70G01A123B\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/contacts/?mode=check","urlObject":{"path":["demo2","contacts",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[{"description":{"content":"<p>Comparison mode to detect duplicates - ''/ 'check' / 'merge'</p>\n","type":"text/plain"},"key":"mode","value":"check"}],"variable":[]}},"response":[],"_postman_id":"542dd413-7079-497e-b743-07c61115fdd8"},{"name":"beaches/<id>/contacts/<id>/","id":"32450359-74ee-4594-b2b3-559f34944e52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/contacts/:id/","urlObject":{"path":["demo2","contacts",":id",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"32450359-74ee-4594-b2b3-559f34944e52"},{"name":"beaches/<id>/contacts/<id>/","id":"cf06a4ad-2717-44a3-a0b8-33191b182acc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"contact\":{\r\n        \"firstName\": \"Mario\",\r\n        \"lastName\": \"Rossi\",\r\n        \"company\": \"ACME\",\r\n        \"type\": 2,\r\n        \"email\": \"info@example.com\",\r\n        \"phoneAreaCode\": \"+39\",\r\n        \"phoneNumber\": \"333000000\",\r\n        \"website\": \"https://www.example.com\",\r\n        \"value\": 3,\r\n        \"pauseDate\": 1607543701,\r\n        \"vatCode\": \"12345678910\",\r\n        \"taxCode\": \"RSSMRO70G01H294X\",\r\n        \"pec\": \"example@pec.it\",\r\n        \"sdi\": \"KRRH6B9\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://legacy.spiagge.it/app/world/api/v1//app/world/api/v1/beaches/<id>/contacts/:contact","urlObject":{"path":["app","world","api","v1","beaches","<id>","contacts",":contact"],"host":["https://legacy.spiagge.it/app/world/api/v1/"],"query":[],"variable":[{"type":"any","value":"","key":"contact"}]}},"response":[],"_postman_id":"cf06a4ad-2717-44a3-a0b8-33191b182acc"},{"name":"beaches/<id>/contacts/<id>/","id":"3efbcbf1-9864-43f2-bf96-bcb04a3ffbf0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1//app/world/api/v1/beaches/<id>/contacts/:contact","urlObject":{"path":["app","world","api","v1","beaches","<id>","contacts",":contact"],"host":["https://legacy.spiagge.it/app/world/api/v1/"],"query":[],"variable":[{"type":"any","value":"","key":"contact"}]}},"response":[],"_postman_id":"3efbcbf1-9864-43f2-bf96-bcb04a3ffbf0"}],"id":"8cc87b65-031d-4c1c-b3ad-bf153825a46a","_postman_id":"8cc87b65-031d-4c1c-b3ad-bf153825a46a","description":""},{"name":"Tickets","item":[{"name":"beaches/<id>/tickets/","id":"830e9fae-c1c4-4c61-87c0-592e71db22a7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/tickets/","urlObject":{"path":["demo2","tickets",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[]}},"response":[{"id":"2884cbd1-ae94-4b29-b744-1c8907673ac3","name":"beaches/<id>/tickets/","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/tickets/?from=1733875200&to=1733961600","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":["demo2","tickets",""],"query":[{"key":"from","value":"1733875200"},{"key":"to","value":"1733961600"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"tickets\": [\n        {\n            \"code\": \"ABCD\",\n            \"type\": \"person\",\n            \"quantity\": 2,\n            \"quantityType\": \"daily\",\n            \"from\": 1733875200,\n            \"to\": 1733961600,\n            \"vehiclePlate\": \"AB123CD\"\n        }\n    ]\n}"}],"_postman_id":"830e9fae-c1c4-4c61-87c0-592e71db22a7"},{"name":"beaches/<id>/tickets/<id>/","id":"09aac513-4e35-409d-901b-0de0e7e3d672","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"GET","header":[],"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/tickets/:id/","urlObject":{"path":["demo2","tickets",":id",""],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[{"id":"de19de7c-27f1-4106-89f5-2f1975e21919","name":"beaches/<id>/tickets/<id>/","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/tickets/:id/","host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"path":["demo2","tickets",":id",""],"variable":[{"key":"id","value":"","description":"Ticket ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"id\": 1234,\r\n    \"code\": \"ABCD\",\r\n    \"type\": \"person\",\r\n    \"quantity\": 2,\r\n    \"quantityType\": \"daily\",\r\n    \"from\": 1733875200,\r\n    \"to\": 1733961600,\r\n\t\"vehiclePlate\": \"AB123CD\"\r\n}"}],"_postman_id":"09aac513-4e35-409d-901b-0de0e7e3d672"}],"id":"04d9e1f3-23be-4d26-addd-2146eaf18046","description":"<p>You can integrate the Spiagge.it platform to an access control system.</p>\n<p>The ticket object represents the code that the gate reader can scan. One ticket can allow only one entrance or multiple entrances.</p>\n<p>There are multiple types of tickets: people entrance, cabin access, vehicles, etc.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>int</td>\n<td>The ticket resource identifier.</td>\n</tr>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>The ticket code. It can be printed as a barcode or QR code.</td>\n</tr>\n<tr>\n<td>type</td>\n<td>string [people, cabin, vehicle]</td>\n<td>The type of the ticket.</td>\n</tr>\n<tr>\n<td>from</td>\n<td>UNIX timestamp</td>\n<td>Start of the authorized period.</td>\n</tr>\n<tr>\n<td>to</td>\n<td>UNIX timestamp</td>\n<td>End of the authorized period.</td>\n</tr>\n<tr>\n<td>quantity</td>\n<td>int</td>\n<td>Number of entrances permitted with this ticket.</td>\n</tr>\n<tr>\n<td>quantityType</td>\n<td>string [daily, absolute]</td>\n<td>Specify if the quantity limit is daily or absolute.</td>\n</tr>\n<tr>\n<td>vehiclePlate</td>\n<td>string</td>\n<td>The vehicle ticket can contain the vehicle plate.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"04d9e1f3-23be-4d26-addd-2146eaf18046"},{"name":"Gates","item":[{"name":"beaches/<id>/gates/scan/","id":"1853dfe6-49f5-4c0e-ae27-280124cc27ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"code\": \"ABCD\",\r\n\t\"action\": \"entrance\",\r\n\t\"quantity\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/gates/scan","urlObject":{"path":["demo2","gates","scan"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[]}},"response":[{"id":"cab80928-fc97-4ee0-b5cf-f663e8cf7b53","name":"beaches/<id>/gates/scan/","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\t\"code\": \"ABCD\",\r\n\t\"action\": \"entrance\",\r\n\t\"quantity\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/demo2/gates/scan"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 12 Dec 2024 16:12:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Apache/2.4.62 (Amazon Linux) OpenSSL/3.0.8"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true\n}"}],"_postman_id":"1853dfe6-49f5-4c0e-ae27-280124cc27ad"}],"id":"096ef506-5a98-4115-9a5a-a503ba466876","_postman_id":"096ef506-5a98-4115-9a5a-a503ba466876","description":""},{"name":"Webhook","item":[{"name":"Webhook request","id":"8f6ab926-8b91-4620-a24a-715b79048e10","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"client_id"},{"key":"password","value":"client_secret"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"license\": \"demo2\" ,\r\n  \"resource\": \"reservation\",\r\n  \"action\": \"create\",\r\n  \"resourceId\": 1234\r\n}","options":{"raw":{"language":"json"}}},"url":"{{third_party_webhook_endpoint}}","description":"<p>This is the structure of the notification request from Spiagge.it to the third-party server.</p>\n<p>The third-party server has to response with HTTP status code 200 to confirm.</p>\n","urlObject":{"host":["{{third_party_webhook_endpoint}}"],"query":[],"variable":[]}},"response":[{"id":"85a3f53e-83dc-487b-989a-5352d6f1e259","name":"Webhook request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"license\": \"demo2\" ,\r\n  \"resource\": \"reservation\",\r\n  \"action\": \"create\",\r\n  \"resourceId\": 1234\r\n}","options":{"raw":{"language":"json"}}},"url":"https://third_party_webhook_endpoint.example.com/webhook"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8f6ab926-8b91-4620-a24a-715b79048e10"},{"name":"beaches/webhook-emulator","id":"ac197cae-206e-494d-b774-fc04de33fb5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"access_token"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://third-party-webhook-url\",\n  \"license\": \"demo2\",\n  \"resource\": \"reservation\",\n  \"action\": \"create\",\n  \"resourceId\": 14525895\n}"},"url":"https://legacy.spiagge.it/app/world/api/v1/beaches/webhook-emulator","description":"<p>This endpoint allows to generate a fake webhook request to test and develop the third-party endpoint.</p>\n","urlObject":{"path":["webhook-emulator"],"host":["https://legacy.spiagge.it/app/world/api/v1/beaches"],"query":[],"variable":[]}},"response":[],"_postman_id":"ac197cae-206e-494d-b774-fc04de33fb5f"}],"id":"88843aa4-3998-47a7-a407-80fa3fd34b63","description":"<p>The polling mechanism with Spiagge.it API is deny. For this reason is available a webhook to receive the notifications when someone updates an object in Spiagge.it platform.</p>\n<h2 id=\"tracked-actions\">Tracked actions</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Resource</strong></th>\n<th><strong>Action</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>reservation</td>\n<td>create</td>\n<td>Creation of a new reservation.</td>\n</tr>\n<tr>\n<td>reservation</td>\n<td>update</td>\n<td>Update of a new reservation.</td>\n</tr>\n<tr>\n<td>reservation</td>\n<td>delete</td>\n<td>Cancellation of a reservation.</td>\n</tr>\n<tr>\n<td>contact</td>\n<td>create</td>\n<td>Creation of a new contact.</td>\n</tr>\n<tr>\n<td>contact</td>\n<td>update</td>\n<td>Update of a contact.</td>\n</tr>\n<tr>\n<td>contact</td>\n<td>delete</td>\n<td>Cancellation of a contact.</td>\n</tr>\n<tr>\n<td>spot</td>\n<td>create</td>\n<td>Creation of a new spot.</td>\n</tr>\n<tr>\n<td>spot</td>\n<td>update</td>\n<td>Update of a spot.</td>\n</tr>\n<tr>\n<td>spot</td>\n<td>delete</td>\n<td>Cancellation of a spot.</td>\n</tr>\n<tr>\n<td>ticket</td>\n<td>create</td>\n<td>Creation of a new ticket.</td>\n</tr>\n<tr>\n<td>ticket</td>\n<td>update</td>\n<td>Update of a ticket.</td>\n</tr>\n<tr>\n<td>ticket</td>\n<td>delete</td>\n<td>Cancellation of a ticket.</td>\n</tr>\n<tr>\n<td>cashflow</td>\n<td>create</td>\n<td>Creation of a cash flow.</td>\n</tr>\n<tr>\n<td>cashflow</td>\n<td>update</td>\n<td>Update of a cash flow.</td>\n</tr>\n<tr>\n<td>cashflow</td>\n<td>delete</td>\n<td>Cancellation of a cash flow.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"88843aa4-3998-47a7-a407-80fa3fd34b63"}],"id":"0151f641-32d3-435e-a3e3-4552c898d459","description":"<p>The beach resource represents a license of Spiagge.it PRO.</p>\n<p>All license data are inside the beach path. We use this architecture to segregate the data of each license.</p>\n","_postman_id":"0151f641-32d3-435e-a3e3-4552c898d459"}],"event":[{"listen":"prerequest","script":{"id":"7018c512-62ae-4d7c-bb95-8fb97db015d2","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"8953e1ef-24e2-4289-a88e-13b60e35b159","type":"text/javascript","exec":[""]}}],"variable":[{"key":"world_api_host","value":"https://legacy.spiagge.it/app/world/api/v1/","type":"string"},{"key":"beach","value":"demo2","type":"string"},{"key":"access_token","value":"access_token","type":"string"},{"key":"client_id","value":"client_id","type":"string"},{"key":"client_secret","value":"client_secret","type":"string"}]}