๐Ÿ“š API Documentation

-

-

-

Logo

๐Ÿ”‘ Configurazione API Key

Inserisci la tua API Key per testare gli endpoint.

POST /api/hotel/booking โ€” Crea nuova prenotazione

Crea una nuova prenotazione. Genera un link per la selezione dell'ombrellone.
Stato: 1_pending, Active: 1, Ombrellone: nessuno

๐Ÿงช Tester
// Clicca "Esegui" per testare
PUT /api/hotel/booking โ€” Aggiorna prenotazione (cambio date/nome)

Aggiorna una prenotazione esistente (cambio date o nome).
Se ha ombrellone: viene svuotato, torna in attesa
Se non ha ombrellone: rimane in attesa
Il link rimane lo stesso e torna utilizzabile.

๐Ÿงช Tester
// Clicca "Esegui" per testare
PUT /api/hotel/bookingCancel โ€” Cancella prenotazione

Cancella una prenotazione.
Active: 0, Status: 4_cancelled
Ombrellone: svuotato, Link: bloccato

๐Ÿงช Tester
// Clicca "Esegui" per testare
PUT /api/hotel/bookingReinstate โ€” Ripristina prenotazione cancellata

Ripristina una prenotazione precedentemente cancellata.
Active: 1, Status: 1_pending
Ombrellone: nessuno (svuotato alla cancellazione)
Link: torna utilizzabile

๐Ÿงช Tester
// Clicca "Esegui" per testare
PUT /api/hotel/bookingInHouse โ€” Modifica prenotazione in-house (cambio date)

Modifica una prenotazione per ospite giร  in hotel (cambio date).
Se nuova departure_date < vecchia: accorcia soggiorno, mantiene ombrellone
Se nuova departure_date > vecchia: mantiene originale + crea nuova prenotazione con {confirmation_id}_EXT

๐Ÿงช Tester
// Clicca "Esegui" per testare
GET /api/hotel/booking โ€” Verifica stato prenotazione

Recupera i dettagli di una prenotazione tramite confirmation_id.

๐Ÿงช Tester
// Clicca "Esegui" per testare
GET /api/hotel/bookings โ€” Lista prenotazioni con filtri

Restituisce l'elenco delle prenotazioni con filtri opzionali.
tipo_data: arrivo = data check-in nel range | partenza = data check-out nel range | soggiorno = prenotazioni che toccano il range

๐Ÿงช Tester
// Clicca "Esegui" per testare
๐Ÿ“ฆ Struttura Response Standard
{ "id": 123, "hotel_code": "BLUBSV", "confirmation_id": "OPERA123456", "guest_name": "Rossi", "arrival_date": "2026-07-30", "departure_date": "2026-08-02", "umbrella_code": null, "beach_status": "1_pending", "beach_price": null, "beach_url": "http://localhost:5000/select/abc...", "created_at": "2026-07-30 14:30:00", "updated_at": "2026-07-30 14:30:00", "link_sent_at": null, "confirmed_at": null, "active": 1 }
๐Ÿ“Š Stati Prenotazione (beach_status)
CodiceDescrizione
1_pendingIn Attesa โ€” In attesa selezione ombrellone
2_confirmedConfermata โ€” Ombrellone selezionato
3_expiredScaduta โ€” Data arrivo passata
4_cancelledCancellata โ€” Prenotazione cancellata
โš ๏ธ Codici Errore
HTTPDescrizione
401API key mancante o non valida
400Campo obbligatorio mancante
403Accesso negato (prenotazione di altro hotel)
404Prenotazione non trovata
409Prenotazione giร  esistente (solo POST)
๐Ÿ“ Note Importanti
  • departure_date = checkout hotel โ†’ nel DB salvato come departure_date - 1 (ultimo giorno spiaggia)
  • POST crea nuova prenotazione, errore 409 se giร  esiste
  • PUT aggiorna prenotazione esistente identificata da confirmation_id
  • bookingInHouse imposta automaticamente beach_price = 0
  • Ogni API Key รจ associata a un singolo hotel/spiaggia