Skip to main content
Base URL: https://app.gestionesala.com/api/v1. Autenticazione: header Authorization: Bearer gsk_... su ogni richiesta. Specifica sorgente: openapi.yaml.

Recupera la chiave API corrente

GET /me

Risposte

Campi della risposta

Verifica lo stato del servizio

GET /health Verifica che il servizio e il database rispondano. Non richiede autenticazione.

Risposte

Campi della risposta

Recupera la specifica OpenAPI

GET /openapi.json Restituisce la specifica OpenAPI 3.1 di questa API. Non richiede autenticazione.

Risposte

Elenca i locali accessibili alla chiave

GET /venues Scope: venues:read

Parametri

Risposte

Campi della risposta

Recupera un locale

GET /venues/{id} Scope: venues:read

Parametri

Risposte

Campi della risposta

Elenca i turni di un locale

GET /venues/{id}/shifts Scope: venues:read

Parametri

Risposte

Campi della risposta

Elenca le chiusure di un locale

GET /venues/{id}/closures Scope: venues:read

Parametri

Risposte

Campi della risposta

Elenca le sale di un locale

GET /venues/{id}/areas Scope: floor:read

Parametri

Risposte

Campi della risposta

Elenca i tavoli della pianta attiva

GET /venues/{id}/tables Scope: floor:read

Parametri

Risposte

Campi della risposta

Elenca le piante di un locale

GET /venues/{id}/floor-plans Scope: floor:read

Parametri

Risposte

Campi della risposta

Recupera una pianta

GET /venues/{id}/floor-plans/{planId} Scope: floor:read

Parametri

Risposte

Campi della risposta

Recupera lo stato della sala

GET /venues/{id}/floor Scope: floor:read e reservations:read

Parametri

Risposte

Campi della risposta

Elenca le regole di durata del tavolo

GET /venues/{id}/turn-time-rules Scope: venues:read

Parametri

Risposte

Campi della risposta

Elenca le regole di ritmo degli arrivi

GET /venues/{id}/pacing-rules Scope: venues:read

Parametri

Risposte

Campi della risposta

Elenca i tag di servizio

GET /service-tags Scope: guests:read

Parametri

Risposte

Campi della risposta

Verifica la disponibilità

GET /availability Scope: reservations:read

Parametri

Risposte

Campi della risposta

Elenca gli orari disponibili

GET /availability/slots Scope: reservations:read. Ogni orario, a passi di 15 minuti dall’apertura del turno, è un orario in cui una prenotazione verrebbe accettata in questo momento.

Parametri

Risposte

Campi della risposta

Elenca i giorni disponibili

GET /availability/days Scope: reservations:read. Intervallo di al massimo 62 giorni, estremi inclusi.

Parametri

Risposte

Campi della risposta

Elenca le prenotazioni

GET /reservations Scope: reservations:read

Parametri

Risposte

Campi della risposta

Crea una prenotazione

POST /reservations Scope: reservations:write

Parametri

Body (JSON)

Risposte

Campi della risposta

Recupera una prenotazione

GET /reservations/{id} Scope: reservations:read

Parametri

Risposte

Campi della risposta

Aggiorna una prenotazione

PATCH /reservations/{id} Scope: reservations:write. Conferma, sposta o cambia stato, tavolo o ospite. Gli stati della sala (arrived, seated, released, completed, no_show) e tableId/tableCombinationId chiedono anche floor:write. Per annullare si usa DELETE.

Parametri

Body (JSON)

Risposte

Campi della risposta

Annulla una prenotazione

DELETE /reservations/{id} Scope: reservations:write. Porta la prenotazione allo stato cancelled. Se è già cancelled, risponde 200 senza effetti. Dagli stati seated, released, completed e no_show risponde 409 conflict con details.allowedTransitions.

Parametri

Risposte

Campi della risposta

Elenca le voci della lista d’attesa

GET /waitlist Scope: waitlist:read

Parametri

Risposte

Campi della risposta

Crea una voce in lista d’attesa

POST /waitlist Scope: waitlist:write

Parametri

Body (JSON)

Risposte

Campi della risposta

Recupera una voce della lista d’attesa

GET /waitlist/{id} Scope: waitlist:read

Parametri

Risposte

Campi della risposta

Aggiorna una voce della lista d’attesa

PATCH /waitlist/{id} Scope: waitlist:write. Modifica coperti o fascia oraria. Una voce già richiamata torna in attesa. Una voce convertita o rimossa risponde 409.

Parametri

Body (JSON)

Risposte

Campi della risposta

Rimuovi una voce dalla lista d’attesa

DELETE /waitlist/{id} Scope: waitlist:write. Porta la voce allo stato cancelled ed emette l’evento waitlist_entry_cancelled. La richiesta ripetuta non ha effetti; una voce già convertita risponde 409.

Parametri

Risposte

Campi della risposta

Converti una voce in prenotazione

POST /waitlist/{id}/convert Scope: waitlist:write e reservations:write. La prenotazione ha lo stesso ospite e gli stessi coperti; l’orario è quello del richiamo, se c’è stato, altrimenti l’inizio della fascia. Una voce già convertita risponde 200 con la sua prenotazione.

Parametri

Risposte

Campi della risposta

Elenca gli ospiti

GET /guests Scope: guests:read

Parametri

Risposte

Campi della risposta

Crea o aggiorna un ospite

POST /guests Scope: guests:write. Crea l’ospite o aggiorna quello con lo stesso telefono. Risponde 201 se l’ospite è nuovo, 200 se il telefono esiste già (i campi inviati vengono scritti) o se la stessa Idempotency-Key ritrova la richiesta precedente.

Parametri

Body (JSON)

Risposte

Campi della risposta

Cerca un ospite per telefono

GET /guests/lookup Scope: guests:read

Parametri

Risposte

Campi della risposta

Recupera un ospite

GET /guests/{id} Scope: guests:read

Parametri

Risposte

Campi della risposta

Aggiorna un ospite

PATCH /guests/{id} Scope: guests:write. Aggiorna la scheda, i consensi e i tag di campagna. null o "" rimuove un campo. Se SQUADD è collegato all’organizzazione, consents e campaignTags appartengono a SQUADD e la modifica risponde 403.

Parametri

Body (JSON)

Risposte

Campi della risposta

Elimina un ospite

DELETE /guests/{id} Scope: guests:write. Sposta l’ospite nel Cestino; dopo 30 giorni viene eliminato definitivamente.

Parametri

Risposte

Imposta i tag di servizio di un ospite

PUT /guests/{id}/tags Scope: guests:write. Sostituisce i tag dell’ospite; i nomi vengono dal catalogo (GET /service-tags). [] li rimuove tutti.

Parametri

Body (JSON)

Risposte

Campi della risposta

Recupera la scheda di servizio di un ospite

GET /guests/{id}/service-card Scope: guests:read. Nome, allergie e tag di servizio dell’ospite.

Parametri

Risposte

Campi della risposta

Elenca gli eventi

GET /events Scope: events:read. Ogni evento ha la stessa busta dei webhook.

Parametri

Risposte

Campi della risposta

Recupera il consuntivo di un periodo

GET /reports/period Scope: reports:read. Una riga per giorno del periodo.

Parametri

Risposte

Campi della risposta

Recupera la chiusura di fine serata

GET /reports/eod Scope: reports:read. Include il confronto con lo stesso giorno della settimana precedente.

Parametri

Risposte

Campi della risposta

Esporta le prenotazioni

GET /exports/reservations Scope: reports:read e reservations:read. Risposta in streaming: CSV (RFC 4180) o una prenotazione JSON per riga.

Parametri

Risposte

Formati della risposta: text/csv, application/x-ndjson

Campi della risposta

Elenca le consegne dei webhook

GET /webhook-deliveries Scope: webhooks:read. Le consegne con status=discarded formano la coda di scarto.

Parametri

Risposte

Campi della risposta

Reinvia una consegna

POST /webhook-deliveries/{id}/redeliver Scope: webhooks:write. Rimette in coda una consegna conclusa, con la stessa chiave di idempotenza.

Parametri

Risposte

Campi della risposta

Elenca le destinazioni dei webhook

GET /webhook-endpoints Scope: webhooks:read. Le destinazioni dei locali accessibili alla chiave.

Parametri

Risposte

Campi della risposta

Invia un evento di prova

POST /webhook-endpoints/test Scope: webhooks:write. Invia subito un evento di prova firmato, fuori dalla coda: nessun nuovo tentativo, l’esito è nella risposta.

Body (JSON)

Risposte

Campi della risposta

Ruota il segreto di firma

POST /webhook-endpoints/{id}/rotate-secret Scope: webhooks:write. Genera un nuovo segreto di firma; il precedente resta valido per overlapMinutes minuti.

Parametri

Body (JSON)

Risposte

Campi della risposta

Importa ospiti

POST /imports/guests Scope: imports:write. Fino a 1000 righe per richiesta. Crea o aggiorna ogni ospite per telefono. Una riga storta non ferma le altre: finisce in rejections col motivo. Chi importa anche le prenotazioni passate non manda visitCount/noShowCount (si conterebbero due volte).

Parametri

Body (JSON)

Risposte

Campi della risposta

Importa prenotazioni

POST /imports/reservations Scope: imports:write. Fino a 1000 righe per richiesta, passate e future. Origine import. Il passato entra nel suo stato finale, senza controllo di disponibilità e senza tavolo; il futuro passa dal motore come ogni prenotazione. Nessuna automazione e nessun webhook partono.

Parametri

Body (JSON)

Risposte

Campi della risposta

Recupera un import

GET /imports/{id} Scope: imports:write. Restituisce il resoconto di un import.

Parametri

Risposte

Campi della risposta

Oggetto errore

Tutte le risposte di errore hanno questo formato.