Bookings
Create and manage bookings as the profile owner. A booking has a status of pending, confirmed, completed or cancelled. Changing status to confirmed/cancelled notifies the visitor by email; completing a booking triggers a review request.
/api/v1/my-profile/bookings AuthList bookings with optional filters.
| Param | Type | In | Description |
|---|---|---|---|
status | string | query | pending | confirmed | completed | cancelled |
date_from | date | query | YYYY-MM-DD |
date_to | date | query | YYYY-MM-DD |
limit | int | query | Page size (default 50) |
offset | int | query | Offset (default 0) |
{
"success": true,
"bookings": [
{ "id": 12, "visitor_name": "Jane", "booking_date": "2026-07-01", "start_time": "10:00", "status": "confirmed", "price": 5000, "currency": "usd" }
],
"total": 42
}/api/v1/my-profile/bookings/grid AuthEverything the calendar/grid view needs in one call: bookings plus schedule, overrides, services, settings, staff and stats.
| Param | Type | In | Description |
|---|---|---|---|
date_from | date | query | YYYY-MM-DD |
date_to | date | query | YYYY-MM-DD |
status | string | query | |
product_id | int | query | Filter by service/object |
operator_id | int | query | Filter by staff member |
search | string | query | Search by visitor |
{
"success": true,
"bookings": [ … ],
"schedule": [ … ],
"overrides": [ … ],
"services": [ … ],
"settings": { … },
"staff": [ … ],
"can_view_all": true,
"stats": { "today": 2, "pending": 3, "upcoming": 7, "total": 42 }
}/api/v1/my-profile/bookings/poll AuthLightweight change check — returns a timestamp that changes when bookings change. Use it to decide whether to refetch.
{ "ts": 1717440000 }/api/v1/my-profile/bookings/stats AuthSummary counters.
{
"success": true,
"stats": { "today": 2, "pending": 3, "upcoming": 7, "total": 42 }
}/api/v1/my-profile/bookings AuthCreate a booking as the owner. For rentals send checkout_date instead of a single time.
{
"product_id": 8,
"operator_id": null,
"booking_date": "2026-07-01",
"start_time": "10:00",
"duration_minutes": 60,
"visitor_name": "Jane",
"visitor_email": "[email protected]",
"visitor_phone": "+1…",
"visitor_note": "",
"price": 5000,
"currency": "usd"
}{ "success": true, "booking": { "id": 13, "status": "confirmed", … } }/api/v1/my-profile/bookings/{id}/status AuthChange a booking status. Confirmed/cancelled emails the visitor; completed requests a review.
{ "status": "confirmed", "reason": "" }{ "success": true, "booking": { "id": 13, "status": "confirmed" } }/api/v1/my-profile/bookings/{id}/reschedule AuthMove a booking to a new date/time (and optionally service/staff). Set send_notification to false to skip the email.
{
"booking_date": "2026-07-02",
"start_time": "11:00",
"duration_minutes": 60,
"product_id": 8,
"operator_id": null,
"send_notification": true
}{ "success": true, "booking": { … } }/api/v1/my-profile/bookings/{id}/notify AuthSend (or resend) the reschedule notification email to the visitor.
{ "success": true }5000 with currency usd means $50.00.