API ReferenceView as MarkdownOpenAPI

Bookings

View as Markdown

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.

Retrieve a booking event

A booking as an iCalendar event to add to a calendar. Answers an .ics file.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the booking event.

Status codes

200 500

GET/booking-event/:id
curl -X GET 'http://hristovtintdetailng.com/booking-event/{id}?ionic=true'
Response
{
  "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"
}

Retrieve the booking receipt

A booking's receipt page (?id). With the service, staff member and the service's receipt page, when it has one. JSON with ?ionic.

Optional user

Works without a token; with a user token the answer is personal.

Query parameters
idstring

The ID of the booking receipt.

Status codes

200 500

GET/booking-receipt
curl -X GET 'http://hristovtintdetailng.com/booking-receipt?ionic=true&id=...'
Response
{
  "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"
}

List all bookings

Every booking (admin). Newest first.

Admin token

Needs a site admin token.

Returns

Returns a list of Booking objects.

Status codes

200 401 500

GET/bookings
curl -X GET 'http://hristovtintdetailng.com/bookings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "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 a booking

Creates a booking. The older booking route, without online payment: 400 when the phone number is under 6 characters. Emails the business, can sign the customer up to the newsletter and syncs the booking to Beds24.

Public

Public - no token needed.

Parameters
newsletterstring

The booking's newsletter.

emailstring

An email address.

namestring

Customer's full name.

agestring

The booking's age.

citystring

Customer's city.

event_idstring

The booking's event id.

Returns

Returns the Booking object.

Status codes

201 400 500

POST/bookings
curl -X POST 'http://hristovtintdetailng.com/bookings?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "newsletter": "...", "email": "...", "name": "...", "age": "...", "city": "..." }'
Response
{
  "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 a bookings checkout

Books a service: checks the slot is free, creates the booking and customer, and answers what payment needs (card form or none). 400 when the phone number is under 6 characters. Answers 201 { clientSecret, booking_id }: the Stripe payment the card form completes, after which PATCH /finalize-booking confirms it. The booking stays unfinalized until then.

Public

Public - no token needed.

Parameters
newsletterstring

The bookings checkout's newsletter.

emailstring

An email address.

namestring

The bookings checkout's name.

agestring

The bookings checkout's age.

citystring

The bookings checkout's city.

Status codes

201 400 500

POST/bookings-checkout
curl -X POST 'http://hristovtintdetailng.com/bookings-checkout?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "newsletter": "...", "email": "...", "name": "...", "age": "...", "city": "..." }'
Response
{
  "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
}

Update a bookings date

Moves a booking to another date and time. Answers { booking, service }. The old slot is freed and the new one taken. 403 when the booking is not for one of the user's services.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the bookings date.

Status codes

200 400 401 403 404 500

PATCH/bookings-date/:id
curl -X PATCH 'http://hristovtintdetailng.com/bookings-date/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "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

Changes a booking's status and records conversions for paid ones. 403 when the booking is not for one of the user's services. A booking marked paid is sent as a conversion to the tracking platforms with the customer's ids.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the booking.

Parameters
statusstring

Follow-up outcome with the customer: other, churnet, not_upsell or upsell.

orderstring

The booking's order.

Returns

Returns the Booking object.

Status codes

200 400 401 403 404 500

PATCH/bookings-status/:id
curl -X PATCH 'http://hristovtintdetailng.com/bookings-status/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "status": "...", "order": "..." }'
Response
{
  "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 a booking

Updates a booking. Answers the updated booking, or 404. Fields outside the allowed list are ignored.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the booking.

Returns

Returns the Booking object.

Status codes

200 400 401 404 500

PATCH/bookings/:id
curl -X PATCH 'http://hristovtintdetailng.com/bookings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "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 a booking

Deletes a booking. Answers the deleted booking. 403 when it is not for one of the user's services.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the booking.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/bookings/:id
curl -X DELETE 'http://hristovtintdetailng.com/bookings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create a booking

Adds (+) or removes a product with its options in the visitor's pending booking. The pending booking is kept per session. Answers it.

Public

Public - no token needed.

Parameters
actionstring

The booking's action.

productstring

The booking's product.

optionsstring

The booking's options.

Returns

Returns the Booking object.

Status codes

200 500

POST/bookings/flow
curl -X POST 'http://hristovtintdetailng.com/bookings/flow?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "action": "...", "product": "...", "options": "..." }'
Response
{
  "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

The page where the business confirms a booking from its email. A wrong code goes to the not-found page.

Public

Public - no token needed.

Path parameters
booking_idstringRequired

The booking's booking id.

service_idstringRequired

The booking's service id.

validation_codestringRequired

The booking's validation code.

Status codes

200 500

GET/confirm-booking/:booking_id&:service_id&:validation_code
curl -X GET 'http://hristovtintdetailng.com/confirm-booking/{booking_id}&{service_id}&{validation_code}?ionic=true'

Update the finalize booking

Completes a booking after payment (booking_id, payment_intent): marks it paid, emails both sides and syncs Beds24. Checks with Stripe that the payment succeeded and belongs to this booking (401 otherwise). Answers { id }.

Public

Public - no token needed.

Parameters
booking_idstring

The finalize booking's booking id.

payment_intentstring

The finalize booking's payment intent.

emailstring

An email address.

event_idstring

The finalize booking's event id.

Returns

Returns the Booking object.

Status codes

200 401 500

PATCH/finalize-booking
curl -X PATCH 'http://hristovtintdetailng.com/finalize-booking?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "booking_id": "...", "payment_intent": "...", "email": "...", "event_id": "..." }'
Response
{
  "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"
}

Retrieve a hour

The free hours of a service on a date, with a staff member. Answers the hours still free, after the bookings already made and the staff member's locked hours.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
service_idstringRequired

The hour's service id.

datestringRequired

A date (YYYY-MM-DD).

staff_idstringRequired

The hour's staff id.

Status codes

200 500

GET/get-hours/:service_id/:date/:staff_id
curl -X GET 'http://hristovtintdetailng.com/get-hours/{service_id}/{date}/{staff_id}?ionic=true'
Response
{
  "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"
}

Retrieve a service

A service for its booking page, with its staff members' names. 404 when there is no such service.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the service.

Returns

Returns the Service object.

Status codes

200 404 500

GET/get-services/:id
curl -X GET 'http://hristovtintdetailng.com/get-services/{id}?ionic=true'
Response
{
  "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
  }
}

Retrieve a booking

A customer's booking page. Opened from the booking email.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the booking.

Returns

Returns the Booking object.

Status codes

200 500

GET/my_bookings/:id
curl -X GET 'http://hristovtintdetailng.com/my_bookings/{id}?ionic=true'
Response
{
  "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 a user booking change

Cancels one of the signed-in customer's bookings, freeing its slot. 403 when the booking is not the signed-in user's. Also cancels it in Beds24 when synced.

User token

Needs the token of a signed-in user.

Path parameters
booking_idstringRequired

The user booking change's booking id.

Returns

Returns an empty answer on success.

Status codes

200 401 500

DELETE/user-booking-change/:booking_id
curl -X DELETE 'http://hristovtintdetailng.com/user-booking-change/{booking_id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all beds24 settings

The Beds24 connection. Answers { connected: false } when not connected; never includes the tokens.

Admin token

Needs a site admin token.

Returns

Returns a list of Beds24Settings objects.

Status codes

200 401 500

GET/beds24-settings
curl -X GET 'http://hristovtintdetailng.com/beds24-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "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"
  }
]

Create a beds24 setting

Connects Beds24 with an invite code and answers its rooms. Answers { settings, rooms } without the credentials. 400 without inviteCode or when Beds24 refuses it. Reconnecting to a different Beds24 account clears the old room mappings.

Admin token

Needs a site admin token.

Parameters
inviteCodestring

The beds24 setting's invite code.

Returns

Returns the Beds24Settings object.

Status codes

200 400 401 403 500

POST/beds24-settings
curl -X POST 'http://hristovtintdetailng.com/beds24-settings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "inviteCode": "..." }'
Response
{
  "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"
}

Update a beds24 setting

Maps Beds24 rooms to services (room_mappings) and syncs. Each mapping needs beds24_room_id and service (400 otherwise). Syncs right after.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the beds24 setting.

Parameters
room_mappingsobject[]

Which Beds24 room each service is: the service and the room id.

Returns

Returns the Beds24Settings object.

Status codes

200 400 401 404 500

PATCH/beds24-settings/:id
curl -X PATCH 'http://hristovtintdetailng.com/beds24-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "room_mappings": "..." }'
Response
{
  "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"
}

Delete a beds24 setting

Disconnects Beds24. Bookings already synced stay. 403 when the connection is another user's.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the beds24 setting.

Returns

Returns an empty answer on success.

Status codes

200 401 403 404 500

DELETE/beds24-settings/:id
curl -X DELETE 'http://hristovtintdetailng.com/beds24-settings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Sync the beds24 setting

Syncs bookings and availability with Beds24 now. Answers what moved each way, and the error fields. 404 when Beds24 is not connected.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the beds24 setting.

Returns

Returns the Beds24Settings object.

Status codes

200 400 401 404 500

POST/beds24-settings/:id/sync
curl -X POST 'http://hristovtintdetailng.com/beds24-settings/{id}/sync?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "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"
}

List all beds24 settings

The Beds24 account's rooms, live, for mapping them to services. 404 when Beds24 is not connected.

Admin token

Needs a site admin token.

Returns

Returns a list of Beds24Settings objects.

Status codes

200 400 401 404 500

GET/beds24-settings/rooms
curl -X GET 'http://hristovtintdetailng.com/beds24-settings/rooms?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "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"
  }
]
↑↓ Navigate↵ GoEsc Close