Booking line

The Booking Line object represents the reservation/purchase of a specific activity, service, accommodation or other product from your inventory by one Guest. It holds prices, dates and it's related to Guest and Booking

The Booking line object

{
    "id": 30369743,
    "starts_at": "2024-04-09 14:00:00",
    "ends_at": "2024-04-16 10:00:00",
    "status": "confirmed",
    "slot": 0,
    "qty": 7,
    "product_id": "9d84ae87-4365-4b3f-b337-b054657df53e",
    "package_id": null,
    "booking_id": "3d084b8e-032d-4edc-88f9-e9c15e164a80",
    "guest_id": "98194687-4737-48f8-8edc-540bafde9fd5",
    "cart_id": "ced956e4-281b-4cf3-8918-b40c8e82c04e",
    "currency": "EUR",
    "unit_price_excl_tax": 16.8067,
    "unit_price_incl_tax": 20,
    "total_price_excl_tax": 117.65,
    "total_price_incl_tax": 140,
    "final_price_excl_tax": 100,
    "final_price_incl_tax": 119,
    "discounted_price": 17.65,
    "tax_component": 22.35,
    "discounted_tax": 3.35,
    "discount_total": 21,
    "final_tax_component": 19,
    "cancelled_at": null,
    "created_at": "2024-03-28T16:45:01+00:00",
    "updated_at": "2024-03-29T08:14:49+00:00"
},

id

Unique ID of the person.

starts_at nullable

The start date and time of the booking line. Formatted as "YYYY-MM-DD HH:MM:SS". Null when it's dateless purchase like T-shirt or unscheduled activity.

ends_at nullable

The end date and time of the booking line. Formatted as "YYYY-MM-DD HH:MM:SS". Null when it's dateless purchase like T-shirt or unscheduled activity.

slot nullable

An integer representing the sequence or position of the booking line within calendar. Important for accommodations.

qty

Quantity of the booked item or service.

product_id expandable

A unique identifier for the product associated with this booking line.

package_id nullable, expandable

A unique identifier for the package, if applicable, associated with this booking line.

booking_id expandable

A unique identifier for the booking associated with this booking line.

guest_id expandable

The unique ID of the guest associated with this booking line.

cart_id

A unique identifier for the cart associated with this purchase.

currency

A code representing the currency used for the transaction. In ISO 4217 format.

unit_price_excl_tax

Unit price of the item excluding tax. This is the price for one unit of the item before any taxes are applied.

unit_price_incl_tax

Unit price of the item including tax. This is the price for one unit of the item after all applicable taxes have been added.

total_price_excl_tax

Total price of the items excluding tax. This is the aggregate price of all units of the item before any taxes are applied.

total_price_incl_tax

Total price of the items including tax. This is the aggregate price of all units of the item after all applicable taxes have been added.

final_price_excl_tax

The final price excluding tax, after applying any discounts or adjustments to the total price excluding tax.

final_price_incl_tax

The final price including tax, after applying any discounts or adjustments to the total price including tax.

discounted_price

The value of the discount applied to the original price, not including taxes.

tax_component

The amount of tax that has been added before discount.

discounted_tax

Tax component of discount.

discount_total

The total amount saved due to discounts applied on the total price.

final_tax_component

The amount of tax that has been added after discount.

booking_status

An indicator of the reservation or purchase status, such as confirmed, pending, or cancelled.

cancelled_at nullable

The timestamp indicating when the booking line was cancelled, if applicable. This field can be null if the booking line has not been cancelled.

created_at

The timestamp indicating when the booking line was initially created.

updated_at

The timestamp showing the most recent update made to the booking.

Endpoints

List bookings lines

get

List all bookings lines

Query parameters
limitinteger · int32 · min: 1 · max: 100Optional

Number of guests to return

Default: 10
pageinteger · int32 · min: 1Optional

Page number

Default: 1
sort_byobject · enumOptional

Sorts the results based on the passed field. All possible values can be appended with ",asc" or ",desc"

Possible values:
starts_atstringOptional

Filter by start date in local time

Example: 2021-01-01,2021-12-31Pattern: ^\d{4}-\d{2}-\d{2},\d{4}-\d{2}-\d{2}$
start_timestringOptional

Filter by start time in local time

Example: 10:00Pattern: ^([01]\d|2[0-3]):([0-5]\d)$
ends_atstringOptional

Filter by end date in local time

Example: 2021-01-01,2021-12-31Pattern: ^\d{4}-\d{2}-\d{2},\d{4}-\d{2}-\d{2}$
end_timestringOptional

Filter by end time in local time

Example: 12:00Pattern: ^([01]\d|2[0-3]):([0-5]\d)$
onsite_atstringOptional

Filter by onsite date in local time, cancelled booking lines are excluded

Example: 2021-01-01,2021-12-31Pattern: ^\d{4}-\d{2}-\d{2},\d{4}-\d{2}-\d{2}$
cancelled_atstringOptional

Filter by cancelled at date in UTC

Example: 2021-01-01,2021-12-31Pattern: ^\d{4}-\d{2}-\d{2},\d{4}-\d{2}-\d{2}$
booking_idstring · uuid[]Optional

ID(s) of the booking to filter booking lines by

product_idstring · uuid[]Optional

ID(s) of the product to filter booking lines by

product_variant_idstring · uuid[]Optional

ID(s) of the product variant to filter booking lines by

Responses
200

A list of booking lines

application/json
get
/booking_lines
GET /private/booking_lines HTTP/1.1
Host: api.bookinglayer.io
Accept: */*
200

A list of booking lines

[
  {
    "cancelled_at": "2000-01-23T04:56:07.000+00:00",
    "invoiced_total": 2.027123,
    "channel": "partner",
    "is_last_minute": true,
    "payer": "{}",
    "google_analytics_client_id": "google_analytics_client_id",
    "reference": "2025-0201",
    "check_in_status": "nobody",
    "id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "ends_at": "2000-01-23T04:56:07.000+00:00",
    "final_price_incl_tax": 7.0614014,
    "check_out_status": "nobody",
    "commission_percentage": 6.0274563,
    "custom_fields": "{}",
    "pax": 2,
    "booker_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "opened": true,
    "reference_number": "0201",
    "cp_guest_management": true,
    "disabled_emails": true,
    "paid_amount": 1.2315135,
    "credited_total": 4.145608,
    "status_log": [
      {
        "date": "2000-01-23T04:56:07.000+00:00",
        "status": "draft"
      },
      {
        "date": "2000-01-23T04:56:07.000+00:00",
        "status": "draft"
      }
    ],
    "duration_in_nights": 4,
    "has_accommodation": true,
    "status": "draft",
    "web_check_in_status": "nobody",
    "starts_at": "2000-01-23T04:56:07.000+00:00",
    "discount_total": 5.637377,
    "total_price_incl_tax": 5.962134,
    "amount_to_refund": 1.4894159,
    "has_transfers": true,
    "created_at": "2000-01-23T04:56:07.000+00:00",
    "reseller_reference": "2025-0300",
    "expired_at": "2000-01-23T04:56:07.000+00:00",
    "has_accommodation_transfers": true,
    "reference_suffix": "",
    "duration_in_days": 1,
    "expires_at": "2000-01-23T04:56:07.000+00:00",
    "updated_at": "2000-01-23T04:56:07.000+00:00",
    "commission_value": 0.8008282,
    "final_price_excl_tax": 2.302136,
    "refund_amount": 1.0246457,
    "currency": "currency",
    "total_price_excl_tax": 1.4658129,
    "tax_component": 9.301444,
    "cancellation_fee_amount": 6.846853,
    "final_tax_component": 3.6160767,
    "cancellation_fee_percentage": 7.4577446,
    "reference_year": "2025",
    "is_connect": false,
    "due_amount": 7.386282,
    "locations": [
      {
        "address": "123 Main St, Springfield",
        "city": "Springfield",
        "latitude": 37.7749,
        "created_at": "2023-01-10T09:30:00Z",
        "backoffice_title": "Ericeria",
        "abbreviation": "ERC",
        "channex_export_mode": "grouped",
        "deleted_at": "2023-01-15T10:00:00Z",
        "zip_code": "12345",
        "channex_uuid": "channex_uuid",
        "updated_at": "2023-02-20T14:45:00Z",
        "id": 532,
        "longitude": -122.4194
      },
      {
        "address": "123 Main St, Springfield",
        "city": "Springfield",
        "latitude": 37.7749,
        "created_at": "2023-01-10T09:30:00Z",
        "backoffice_title": "Ericeria",
        "abbreviation": "ERC",
        "channex_export_mode": "grouped",
        "deleted_at": "2023-01-15T10:00:00Z",
        "zip_code": "12345",
        "channex_uuid": "channex_uuid",
        "updated_at": "2023-02-20T14:45:00Z",
        "id": 532,
        "longitude": -122.4194
      }
    ]
  }
]

Fetch booking line

get

Fetch a single booking line by its ID.

Path parameters
booking_line_idstringRequired

The ID of the booking line to fetch

Query parameters
Responses
200

A booking line object

application/json
get
/booking_lines/{booking_line_id}
GET /private/booking_lines/{booking_line_id} HTTP/1.1
Host: api.bookinglayer.io
Accept: */*
200

A booking line object

{
  "data": {
    "cancelled_at": "2000-01-23T04:56:07.000+00:00",
    "invoiced_total": 2.027123,
    "channel": "partner",
    "is_last_minute": true,
    "payer": "{}",
    "google_analytics_client_id": "google_analytics_client_id",
    "reference": "2025-0201",
    "check_in_status": "nobody",
    "id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "ends_at": "2000-01-23T04:56:07.000+00:00",
    "final_price_incl_tax": 7.0614014,
    "check_out_status": "nobody",
    "commission_percentage": 6.0274563,
    "custom_fields": "{}",
    "pax": 2,
    "booker_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
    "opened": true,
    "reference_number": "0201",
    "cp_guest_management": true,
    "disabled_emails": true,
    "paid_amount": 1.2315135,
    "credited_total": 4.145608,
    "status_log": [
      {
        "date": "2000-01-23T04:56:07.000+00:00",
        "status": "draft"
      },
      {
        "date": "2000-01-23T04:56:07.000+00:00",
        "status": "draft"
      }
    ],
    "duration_in_nights": 4,
    "has_accommodation": true,
    "status": "draft",
    "web_check_in_status": "nobody",
    "starts_at": "2000-01-23T04:56:07.000+00:00",
    "discount_total": 5.637377,
    "total_price_incl_tax": 5.962134,
    "amount_to_refund": 1.4894159,
    "has_transfers": true,
    "created_at": "2000-01-23T04:56:07.000+00:00",
    "reseller_reference": "2025-0300",
    "expired_at": "2000-01-23T04:56:07.000+00:00",
    "has_accommodation_transfers": true,
    "reference_suffix": "",
    "duration_in_days": 1,
    "expires_at": "2000-01-23T04:56:07.000+00:00",
    "updated_at": "2000-01-23T04:56:07.000+00:00",
    "commission_value": 0.8008282,
    "final_price_excl_tax": 2.302136,
    "refund_amount": 1.0246457,
    "currency": "currency",
    "total_price_excl_tax": 1.4658129,
    "tax_component": 9.301444,
    "cancellation_fee_amount": 6.846853,
    "final_tax_component": 3.6160767,
    "cancellation_fee_percentage": 7.4577446,
    "reference_year": "2025",
    "is_connect": false,
    "due_amount": 7.386282,
    "locations": [
      {
        "address": "123 Main St, Springfield",
        "city": "Springfield",
        "latitude": 37.7749,
        "created_at": "2023-01-10T09:30:00Z",
        "backoffice_title": "Ericeria",
        "abbreviation": "ERC",
        "channex_export_mode": "grouped",
        "deleted_at": "2023-01-15T10:00:00Z",
        "zip_code": "12345",
        "channex_uuid": "channex_uuid",
        "updated_at": "2023-02-20T14:45:00Z",
        "id": 532,
        "longitude": -122.4194
      },
      {
        "address": "123 Main St, Springfield",
        "city": "Springfield",
        "latitude": 37.7749,
        "created_at": "2023-01-10T09:30:00Z",
        "backoffice_title": "Ericeria",
        "abbreviation": "ERC",
        "channex_export_mode": "grouped",
        "deleted_at": "2023-01-15T10:00:00Z",
        "zip_code": "12345",
        "channex_uuid": "channex_uuid",
        "updated_at": "2023-02-20T14:45:00Z",
        "id": 532,
        "longitude": -122.4194
      }
    ]
  }
}

Webhooks

Webhooks are a mechanism for Bookinglayer to notify other apps when something happens in the system. They are described in detail in a dedicated Webhooks document.

BookingLinesCreated

Sends new booking line IDs via a webhook call when a booking line gets created.

{
    "event": "BookingLinesCreated",
    "data": {
        "ids": [30369743, 30369745]
    }
}

BookingLinesUpdates

Sends booking line IDs via a webhook call when an existing booking line gets updated.

{
    "event": "BookingLinesUpdates",
    "data": {
        "ids": [30369743, 30369745]
    }
}

BookingLinesDeleted

Sends deleted booking line IDs via a webhook call when a booking line gets deleted.

    "event": "BookingLinesDeleted",
    "data": {
        "ids": [30369743, 30369745]
    }
}

BookingLinesCancelled

Sends cancelled booking line IDs via a webhook call when a booking line gets cancelled.

    "event": "BookingLinesCancelled",
    "data": {
        "ids": [30369743, 30369745]
    }
}

BookingLinesReinstated

Sends reinstated booking line IDs via a webhook call when a booking line gets reinstated.

    "event": "BookingLinesReinstated",
    "data": {
        "ids": [30369743, 30369745]
    }
}

Last updated