Bookings are appointments clients made for a service - the time slot, the staff member, the client's details and the payment. A booking is created from the site's booking page and confirmed or cancelled from the admin.
Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.
22 endpoints in 2 parts: Booking, Beds24 Settings.
Returns one booking event, found by its ID.
Public - no token needed.
The ID of the booking event.
curl -X GET 'http://builderly.max-media.io/booking-event/{id}?ionic=true'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Returns the booking receipt.
Works without a token; with a user token the answer is personal.
The ID of the booking receipt.
curl -X GET 'http://builderly.max-media.io/booking-receipt?ionic=true&id=...'
{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Returns the site's bookings, newest first unless a sort is given.
Needs a site admin token.
Returns a list of Booking objects.
curl -X GET 'http://builderly.max-media.io/bookings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}
]Create new booking.
Public - no token needed.
The booking's newsletter.
An email address.
The booking's name.
The booking's age.
The booking's city.
The booking's event id.
Returns the Booking object.
curl -X POST 'http://builderly.max-media.io/bookings?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "newsletter": "...", "email": "...", "name": "...", "age": "...", "city": "..." }'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Creates a bookings checkout from the fields sent.
Public - no token needed.
The bookings checkout's newsletter.
An email address.
The bookings checkout's name.
The bookings checkout's age.
The bookings checkout's city.
curl -X POST 'http://builderly.max-media.io/bookings-checkout?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "newsletter": "...", "email": "...", "name": "...", "age": "...", "city": "..." }'{
"has_cash": false,
"cash_locale": "Pay by cash",
"cash_instructions": "example",
"cash_increase": 0,
"has_card": false,
"card_locale": "Pay with credit card",
"email": "jane@example.com",
"country": "example",
"has_invoicing": false,
"invoice_locale": "Pay via invoice",
"invoicing_instructions": "example",
"currency": "EUR",
"agreedToTerms": false,
"agreedToTermsAt": "example",
"merchant_id": "example",
"has_paypal": false,
"paypal_increase": 0,
"paypal_id": "example",
"lock_currency": false,
"commission_percentage": 4.4,
"two_currencies": false,
"second_currency": "EUR",
"calculate_rate": false,
"currency_rate": 1
}Changes the fields sent; the others stay as they are.
Needs the token of a signed-in user.
The ID of the bookings date.
curl -X PATCH 'http://builderly.max-media.io/bookings-date/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Change the status of a booking.
Needs the token of a signed-in user.
The ID of the booking.
The booking's status.
The booking's order.
Returns the Booking object.
curl -X PATCH 'http://builderly.max-media.io/bookings-status/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "status": "...", "order": "..." }'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Update Booking by id.
Needs the token of a signed-in user.
The ID of the booking.
Returns the Booking object.
curl -X PATCH 'http://builderly.max-media.io/bookings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Delete Booking record by id.
Needs the token of a signed-in user.
The ID of the booking.
Returns an empty answer on success.
curl -X DELETE 'http://builderly.max-media.io/bookings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Creates a booking from the fields sent.
Public - no token needed.
The booking's action.
The booking's product.
The booking's options.
Returns the Booking object.
curl -X POST 'http://builderly.max-media.io/bookings/flow?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "action": "...", "product": "...", "options": "..." }'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Confirm a booking.
Public - no token needed.
The booking's booking id.
The booking's service id.
The booking's validation code.
curl -X GET 'http://builderly.max-media.io/confirm-booking/{booking_id}&{service_id}&{validation_code}?ionic=true'Changes the fields sent; the others stay as they are.
Public - no token needed.
The finalize booking's booking id.
The finalize booking's payment intent.
An email address.
The finalize booking's event id.
Returns the Booking object.
curl -X PATCH 'http://builderly.max-media.io/finalize-booking?ionic=true' \
-H 'Content-Type: application/json' \
-d '{ "booking_id": "...", "payment_intent": "...", "email": "...", "event_id": "..." }'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Returns one hour, found by its ID.
Works without a token; with a user token the answer is personal.
The hour's service id.
A date (YYYY-MM-DD).
The hour's staff id.
curl -X GET 'http://builderly.max-media.io/get-hours/{service_id}/{date}/{staff_id}?ionic=true'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Returns one service, found by its ID.
Works without a token; with a user token the answer is personal.
The ID of the service.
Returns the Service object.
curl -X GET 'http://builderly.max-media.io/get-services/{id}?ionic=true'{
"title": "Example",
"url": "example-item",
"static_url": "example-item",
"header": "example",
"description": "Text shown on the site.",
"bookable": true,
"expirable": false,
"confirm_bookings": false,
"show_notes": false,
"minutes_delete_bookings": 1,
"medias": [
{
"media": "6543210fedcba98765432100",
"gcs_url": "example-item",
"gcs_480_30_url": "example-item",
"gcs_720_30_url": "example-item",
"gcs_1080_30_url": "example-item",
"duration": 1,
"vimeo_uri": "example",
"vimeo_picture": "example",
"vimeo_url": "example-item",
"youtube_url": "example-item",
"youtube_picture": "example",
"thumbnail": "example",
"_id": "6543210fedcba98765432100"
}
],
"collection_id": "6543210fedcba98765432100",
"price": 49.9,
"online_payment": false,
"book_by_date": false,
"book_date_range": false,
"start_date": "2026-11-04T12:00:00.000Z",
"end_date": "2026-11-04T12:00:00.000Z",
"day_offset": 0,
"is_recurring": false,
"max_participants": 1,
"session_duration": 1,
"time_between_sessions": 0,
"discount": [
{
"days": 1,
"per_total_price": 49.9,
"fixed_price": 49.9,
"per_day": 1,
"_id": "6543210fedcba98765432100"
}
],
"monday": {
"active": false,
"hours": "example"
},
"tuesday": {
"active": false,
"hours": "example"
},
"wednesday": {
"active": false,
"hours": "example"
},
"thursday": {
"active": false,
"hours": "example"
},
"friday": {
"active": false,
"hours": "example"
},
"saturday": {
"active": false
}
}Returns one booking, found by its ID.
Works without a token; with a user token the answer is personal.
The ID of the booking.
Returns the Booking object.
curl -X GET 'http://builderly.max-media.io/my_bookings/{id}?ionic=true'{
"date": "example",
"date_iso": "2026-11-04T12:00:00.000Z",
"depart_date": "example",
"depart_date_iso": "2026-11-04T12:00:00.000Z",
"price": 49.9,
"time": "example",
"local_time": "example",
"isLastHour": false,
"organization_name": "Example",
"name": "Example",
"firstname": "Example",
"lastname": "Example",
"email": "jane@example.com",
"phone_number": "+359 888 123 456",
"address": "example",
"city": "example",
"state": "example",
"country": "example",
"zip_code": "example",
"tax_identification_number": "example",
"notes": "Text shown on the site.",
"service_id": "6543210fedcba98765432100",
"staff_member": "6543210fedcba98765432100",
"coupon": "6543210fedcba98765432100"
}Deletes the user booking change. This cannot be undone.
Needs the token of a signed-in user.
The user booking change's booking id.
Returns an empty answer on success.
curl -X DELETE 'http://builderly.max-media.io/user-booking-change/{booking_id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Returns the site's beds24 settings, newest first unless a sort is given.
Needs a site admin token.
Returns a list of Beds24Settings objects.
curl -X GET 'http://builderly.max-media.io/beds24-settings?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"sync_enabled": true,
"sync_from": "2026-11-04T12:00:00.000Z",
"last_pull_at": "2026-11-04T12:00:00.000Z",
"last_error": "example",
"last_error_at": "2026-11-04T12:00:00.000Z",
"room_mappings": [
{
"beds24_room_id": "example",
"beds24_room_name": "Example",
"service": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]Creates a beds24 setting from the fields sent.
Needs a site admin token.
The beds24 setting's invite code.
Returns the Beds24Settings object.
curl -X POST 'http://builderly.max-media.io/beds24-settings?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "inviteCode": "..." }'{
"sync_enabled": true,
"sync_from": "2026-11-04T12:00:00.000Z",
"last_pull_at": "2026-11-04T12:00:00.000Z",
"last_error": "example",
"last_error_at": "2026-11-04T12:00:00.000Z",
"room_mappings": [
{
"beds24_room_id": "example",
"beds24_room_name": "Example",
"service": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Changes the fields sent; the others stay as they are.
Needs a site admin token.
The ID of the beds24 setting.
The beds24 setting's room mappings.
Returns the Beds24Settings object.
curl -X PATCH 'http://builderly.max-media.io/beds24-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "room_mappings": "..." }'{
"sync_enabled": true,
"sync_from": "2026-11-04T12:00:00.000Z",
"last_pull_at": "2026-11-04T12:00:00.000Z",
"last_error": "example",
"last_error_at": "2026-11-04T12:00:00.000Z",
"room_mappings": [
{
"beds24_room_id": "example",
"beds24_room_name": "Example",
"service": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Deletes the beds24 setting. This cannot be undone.
Needs a site admin token.
The ID of the beds24 setting.
Returns an empty answer on success.
curl -X DELETE 'http://builderly.max-media.io/beds24-settings/{id}?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'Sync the beds24 setting.
Needs a site admin token.
The ID of the beds24 setting.
Returns the Beds24Settings object.
curl -X POST 'http://builderly.max-media.io/beds24-settings/{id}/sync?ionic=true' \
-H 'Authorization: Bearer <TOKEN>'{
"sync_enabled": true,
"sync_from": "2026-11-04T12:00:00.000Z",
"last_pull_at": "2026-11-04T12:00:00.000Z",
"last_error": "example",
"last_error_at": "2026-11-04T12:00:00.000Z",
"room_mappings": [
{
"beds24_room_id": "example",
"beds24_room_name": "Example",
"service": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}Returns the site's beds24 settings, newest first unless a sort is given.
Needs a site admin token.
Returns a list of Beds24Settings objects.
curl -X GET 'http://builderly.max-media.io/beds24-settings/rooms?ionic=true' \ -H 'Authorization: Bearer <TOKEN>'
[
{
"sync_enabled": true,
"sync_from": "2026-11-04T12:00:00.000Z",
"last_pull_at": "2026-11-04T12:00:00.000Z",
"last_error": "example",
"last_error_at": "2026-11-04T12:00:00.000Z",
"room_mappings": [
{
"beds24_room_id": "example",
"beds24_room_name": "Example",
"service": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100"
}
],
"owner_id": "6543210fedcba98765432100",
"connected_account_owner_id": "6543210fedcba98765432100",
"_id": "6543210fedcba98765432100",
"updatedAt": "2026-11-04T12:00:00.000Z",
"createdAt": "2026-11-04T12:00:00.000Z"
}
]