Booking Components
A Booking Component object represents an individual component of a booking, such as a flight or package, and includes details like the supplier, amount, and more.
Components can be created through this API, or imported from your booking system's supplier payment reports. Imported components carry source_system and the supplier payment detail: the cost, sell and commission split, what has been paid to the supplier so far, what is still outstanding and when it is due, and the amount in the supplier's own currency. Those fields are null on components created through the API.
Booking Component Model
Properties
- Name
id- Type
- string
- Description
Unique identifier for the object.
- Name
supplier- Type
- object
- Description
The supplier model that the booking component is booked with.
- Name
amount- Type
- integer
- Description
The cost of the component (what you pay the supplier), in the lowest denomination for the currency (e.g., pence for GBP).
- Name
currency- Type
- string
- Description
The currency of the component. See the currency documentation.
- Name
booking_reference- Type
- string
- Description
The supplier booking reference for the component. For imported components this is the reference the most recent supplier payment was made against (PNR, ticket or invoice number).
- Name
destination_air- Type
- string
- Description
If the component is a flight, this represents the destination airport code.
- Name
type- Type
- string
- Description
A reference type for the component (e.g., flight, package, transfer). Imported components use
Flight,Hotel,Transfer,Rail,Cruise,Tour/Activity,Vehicle Hire,FeeorOther.
- Name
source_system- Type
- string
- Description
The booking system the component was imported from (e.g.,
DOLPHIN), ornullfor components created through the API. Imported components are maintained by the import and cannot be edited through the API.
- Name
source_product- Type
- string
- Description
The product label as the source system knows it (e.g.,
Non-BSP Cash Ticket). Imported components only.
- Name
sell_amount- Type
- integer
- Description
The price the component is sold to the customer for, in the lowest denomination for the currency. Imported components only.
- Name
commission_amount- Type
- integer
- Description
The commission earned on the component, in the lowest denomination for the currency. Imported components only.
- Name
buy_vat_amount- Type
- integer
- Description
VAT on the cost, in the lowest denomination for the currency. Imported components only.
- Name
commission_vat_amount- Type
- integer
- Description
VAT on the commission, in the lowest denomination for the currency. Imported components only.
- Name
supplier_currency- Type
- string
- Description
The ISO 4217 code of the currency the supplier is paid in (e.g.,
EUR), when every payment for the component shares one currency. Imported components only.
- Name
supplier_amount- Type
- integer
- Description
The total paid and due to the supplier in
supplier_currency, in hundredths of that currency's unit. Imported components only.
- Name
paid_amount- Type
- integer
- Description
The amount paid to the supplier so far, in the lowest denomination for the currency. Imported components only.
- Name
due_amount- Type
- integer
- Description
The amount still owed to the supplier, in the lowest denomination for the currency. Imported components only.
- Name
due_date- Type
- date
- Description
The earliest date on which an outstanding supplier payment falls due, or
nullwhen nothing is outstanding. Imported components only.
- Name
first_paid_at- Type
- date
- Description
The date of the first payment made to the supplier for the component. Imported components only.
- Name
last_paid_at- Type
- date
- Description
The date of the most recent payment made to the supplier for the component. Imported components only.
- Name
payments_count- Type
- integer
- Description
The number of payments made to the supplier for the component. Imported components only.
- Name
created_at- Type
- datetime
- Description
The datetime at which the object was created within our systems.
- Name
updated_at- Type
- datetime
- Description
The datetime at which the object was last changed, by the API or by an import.
Created through the API
{
"id": "8224bb6e-1d70-588b-82b8-226f2d71012e",
"supplier": {
"id": "6ab41ce7-36c8-5835-b997-492adb3d66e1",
"name": "Felloh Travel - Packages",
"source_system": null,
"created_at": "2022-06-28T17:27:59.616Z"
},
"amount": 56300,
"currency": "GBX",
"booking_reference": "X1232JJ",
"destination_air": "AMS",
"type": "flight",
"source_system": null,
"source_product": null,
"sell_amount": null,
"commission_amount": null,
"buy_vat_amount": null,
"commission_vat_amount": null,
"supplier_currency": null,
"supplier_amount": null,
"paid_amount": null,
"due_amount": null,
"due_date": null,
"first_paid_at": null,
"last_paid_at": null,
"payments_count": null,
"created_at": "2023-02-15T16:00:18.886Z",
"updated_at": "2023-02-15T16:00:18.886Z"
}
Imported from a booking system
{
"id": "d1f0a4c2-5b3e-4c0a-9f6e-2a7b8c9d0e1f",
"supplier": {
"id": "3c9e2f70-1a4b-4d5e-8f60-7b8c9d0e1f2a",
"name": "Hotel Arctic",
"source_system": "DOLPHIN",
"created_at": "2026-09-26T07:12:41.102Z"
},
"amount": 153390,
"currency": "GBX",
"booking_reference": "/IN/002/ZTU034",
"destination_air": null,
"type": "Hotel",
"source_system": "DOLPHIN",
"source_product": "Hotel",
"sell_amount": 189900,
"commission_amount": 0,
"buy_vat_amount": 0,
"commission_vat_amount": 0,
"supplier_currency": "EUR",
"supplier_amount": 166000,
"paid_amount": 56208,
"due_amount": 84470,
"due_date": "2026-11-03",
"first_paid_at": "2026-08-14",
"last_paid_at": "2026-08-14",
"payments_count": 1,
"created_at": "2026-09-26T07:12:44.310Z",
"updated_at": "2026-09-26T07:12:44.310Z"
}
Create One
This endpoint allows you to create a new booking component. Components imported from a booking system are created and kept up to date by the import; the supplier payment fields cannot be set through this endpoint.
Path Parameters
- Name
booking_id- Type
- UUID
- Description
The booking ID to which you wish to add a component.
Parameters
- Name
supplierrequired- Type
- uuid
- Description
The supplier object that the booking component is booked with.
- Name
amountrequired- Type
- integer
- Description
The amount that the component is for, in the lowest denomination for the currency.
- Name
currency- Type
- string
- Description
The currency of the component. Defaults to GBX.
- Name
booking_referencerequired- Type
- string
- Description
The supplier booking reference for the component.
- Name
destination_air- Type
- string
- Description
The destination airport code if the component is a flight.
- Name
type- Type
- string
- Description
A reference type for the component (e.g., flight, package, transfer).
Returns
- Name
id- Type
- string
- Description
Unique identifier for the object.
Request
import axios from 'axios';
const response = await axios.put(
`https://api.felloh.com/agent/booking/8224bb6e-1d70-588b-82b8-226f2d71012e/component`,
{
supplier: "ab6f8eb9-1c07-4ca4-888b-ae1a11b4463c",
amount: 56300,
currency: "GBX",
booking_reference: "X1232JJ",
destination_air: "AMS",
type: "flight"
},
{
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer <YOUR TOKEN HERE>` }
}
);
Response
{
"data": {
"id": "226009ab-ffe9-4c80-922b-982e8e7849f8"
},
"errors": [],
"meta": {
"code": 200,
"reason": "OK",
"message": "The request was successful",
"request_id": "cdd40f5c-9d82-44c2-92e3-b5d2cad364f6"
}
}
Delete One
This endpoint allows you to delete a booking component.
Path Parameters
- Name
booking_id- Type
- UUID
- Description
The booking ID from which you wish to delete a component.
- Name
component_id- Type
- UUID
- Description
The component ID that you wish to delete.
Request
import axios from 'axios';
const bookingID = '226009ab-ffe9-4c80-922b-982e8e7849f8';
const componentID = '226009ab-ffe9-4c80-922b-982e8e7849f8';
const response = await axios.delete(
`https://api.felloh.com/agent/bookings/${bookingID}/component/${componentID}`,
{
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer <YOUR TOKEN HERE>` }
}
);
Response
{
"data": {},
"errors": [],
"meta": {
"code": 200,
"reason": "OK",
"message": "The request was successful",
"request_id": "cdd40f5c-9d82-44c2-92e3-b5d2cad364f6"
}
}
