Hold a booking window
hub_hold_bookingClaim a window on one resource. The hold is what makes the window unavailable to everybody else, and it expires by itself if nobody pays — so holding is safe, and a hold nobody confirms costs nothing. startAt must be exactly a slot start from get_booking_availability, and endAt exactly where the last slot ends; anything else is refused rather than rounded. A refusal with 409 means somebody took it first: re-read availability and offer what is left, do not retry the same window.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | Yes | ISO instant, exactly where the booked window ends | |
| startAt | Yes | ISO instant, exactly a slot start from availability | |
| outletId | No | The shop the sale happens at | |
| productId | Yes | Product id | |
| customerId | No | Who it is for, id from get_customers. Omit for a walk-in nobody identified | |
| resourceId | Yes | Which resource — the barber, room or asset being booked |