Cancellations and deleting bookings
When a booking is cancelled on your side, you remove it from our system by deleting the booking via the API. See the API reference for the full Booking endpoints.
When can a booking be cancelled?
Cancellation is only allowed before promo codes have been communicated to the traveler. Once a promo code, claim link, or deep link has been sent (via email, SMS, WhatsApp, or any other channel), the booking is locked and cannot be deleted.
| Condition | Can cancel? |
|---|---|
| Promo codes have not been sent to the traveler | Yes |
| Promo codes have been sent (via Hubby or your own channels) | No |
| Promo codes have been redeemed | No |
| Departure date is in the past | No |
Tip: If you need the flexibility to cancel bookings after creation, set
should_send_message: falseincommunication_optionsand handle delivery yourself. This way you control exactly when the traveler receives the promo code, and you can cancel the booking any time before that.
Two ways to delete (cancel) a booking
By our internal ID —
DELETE /bookings/{id}Use the booking's unique identifier in our system (theidfield in the booking response).By external booking ID —
DELETE /bookings/{id}/byExternalBookingIdUse thebooking_idvalue you sent when creating the booking (your own reservation or confirmation number).
Naming note: In the API, "booking_id" is used in two senses: (1) our internal booking identifier (the id field in responses), and (2) the booking_id field you set on the booking (your external reference). For delete, use our id with DELETE /bookings/{id}, and your booking_id with DELETE /bookings/{id}/byExternalBookingId.
- API reference — Booking and PromoCode endpoints