Skip to content

Manage a booking

Terminal window
curl -s https://api.mrcharles.app/api/v1/public/bookings/manage/1000bb60…

Returns the booking summary — same shape as booking in the confirm response. Cache-Control: no-store.

FieldWhy it matters
mayCanceltrue only while the booking is cancellable right now
cancelNoticeHoursThe policy snapshot taken when the booking was made
status, paymentStatusPoll these after a card payment until confirmed
StatusCodeCause
404RESOURCE_NOT_FOUNDUnknown or mistyped token

POST /public/bookings/manage/{token}/cancel

Section titled “POST /public/bookings/manage/{token}/cancel”
{ "reason": "Our drummer is ill" }

reason is optional and reaches the studio. Returns the updated booking with "status": "cancelled".

StatusCodeCause
409CANCEL_TOO_LATEInside the notice window — the guest must call the studio
409INVALID_STATEAlready cancelled, completed or past

Cancelling frees the slot immediately. A paid deposit is not refunded automatically; that is the studio’s call from its dashboard.

  • 32 random bytes, hex-encoded. Only a hash is stored — it cannot be looked up or recovered.
  • Equivalent to a password for that one booking. Keep it out of logs, analytics and Referer headers.
  • Rate limited: 120 reads/min and 15 writes/min per IP.