Skip to main content

POST /v1/calendar/bookings

Prenota un orario. L’orario deve essere uno di quelli restituiti da GET /v1/calendar/availability: il controllo definitivo (conflitti, capienze, preavviso) avviene qui, con un lock sul calendario, così due richieste simultanee sullo stesso orario non possono riuscire entrambe.

Request Body

Metti sempre una Idempotency-Key (header, max 200 caratteri, per esempio l’ID dell’ordine nel tuo gestionale). Se ripeti la chiamata con la stessa chiave, ricevi la stessa prenotazione con created: false invece di crearne una seconda.

Richiesta

Risposta

201 Created con "created": true. Con una Idempotency-Key già usata: 200 e "created": false.

Campi della prenotazione

Errori

422 - missing_event / missing_name / missing_time / missing_date

Manca un campo obbligatorio.

422 - calendar_required

Il tipo è choice con più calendari: indica calendar. La risposta elenca calendars.

422 - calendar_not_for_event

Quel calendario non offre quel tipo di appuntamento.

409 - slot_unavailable

L’orario è già occupato (o non c’è più un calendario libero col round robin).

409 - outside_hours

L’orario è fuori dall’orario di lavoro o fuori dalla griglia degli slot.

409 - notice_too_short / beyond_horizon

Troppo vicino (preavviso minimo del tipo) o troppo lontano (orizzonte del tipo).

422 - invalid_email / invalid_answers / invalid_status / invalid_attendee

Campo malformato.