Pricing
Provides pricing information for various endpoints.
To use this capability, add octo/pricing
to your Octo-Capabilities
header.
This capability supports dynamic pricing, allowing transfer and product prices to change daily and at different start times. Ensure your system can support this level of pricing before integration.
Pricing Transfers
POST
/{host}/transfers
Returns top-level pricing by option in the transfer.
Request Body
currency
string
The currency to use
Response
{
"id": "6730c8a5603611ce232b67e9",
"utcCreatedAt": "2024-11-10T14:52:21.813Z",
"utcExpiresAt": "2024-11-13T14:52:21.781Z",
"status": "AVAILABLE",
"pickUp": {
"name": "Aeropuerto Josep Tarradellas Barcelona-El Prat",
"googlePlaceId": null,
"latitude": 41.2890205,
"longitude": 2.0649989,
"country": "ES"
},
"dropOff": {
"name": "Alexandra Barcelona Hotel, Curio Collection by Hilton",
"googlePlaceId": null,
"latitude": 41.3932199,
"longitude": 2.1589192,
"country": "ES"
},
"distanceUnit": "KM",
"distanceInclude": 18.24,
"options": [
{
"id": "a5361c57-caa0-44e7-901f-50cb1834797f",
"reference": "5dfb86d284b03e663dd92364",
"vehicle": {
"seats": 3,
"suitcases": 3,
"type": "sedan",
"category": "standard",
"name": "Skoda Octavia",
"image": "https://app.rhombuss.com/api/public/services/sedan-skoda-octavia.png"
},
"defaultCurrency": "EUR",
"availableCurrencies": [
"USD",
"EUR",
"GBP"
],
"pricing": {
"net": 4449,
"original": 5339,
"retail": 7851,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": []
},
"cancellationPolicy": [
{
"type": "FULL_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "For a full refund, you must cancel at least 24 Hours before the experience's start time."
},
{
"type": "NO_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "If you cancel less than 24 Hours before the experience's start time, the amount you paid will not be refunded."
},
{
"type": "CHANGES",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "Any changes made less than 24 Hours before the experience’s start time will not be accepted."
}
]
},
{
"id": "c470ecb1-78df-40a3-bca2-0bf49cf6d740",
"reference": "5e8e12f66db6fe2742b682fd",
"vehicle": {
"seats": 2,
"suitcases": 2,
"type": "sedan",
"category": "luxury",
"name": "Mercedes Benz S Class",
"image": "https://app.rhombuss.com/api/public/services/sedan-mercedes-benz-s-class.png"
},
"defaultCurrency": "EUR",
"availableCurrencies": [
"USD",
"EUR",
"GBP"
],
"pricing": {
"net": 12100,
"original": 14520,
"retail": 21353,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": []
},
"cancellationPolicy": [
{
"type": "FULL_REFUND",
"cutoffAmount": 48,
"cutoffUnit": "HOURS",
"description": "To receive a Full Refund, cancellations must be made at least 48 Hours prior to the start time of the experience."
},
{
"type": "PARTIAL_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "To receive a 50 % refund, cancellations must be made at least 24 Hours prior to the start time of the experience."
},
{
"type": "NO_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "If you cancel less than 24 Hours before the experience's start time, the amount you paid will not be refunded."
}
]
},
{
"id": "6278c8b6-baa1-4f59-9138-0f7da451c234",
"reference": "669e946751fd06f319d27c2a",
"vehicle": {
"seats": 3,
"suitcases": 3,
"type": "sedan",
"category": "business",
"name": "Mercedes Benz E Class",
"image": "https://app.rhombuss.com/api/public/services/sedan-mercedes-benz-e-class.png"
},
"defaultCurrency": "EUR",
"availableCurrencies": [
"USD",
"EUR",
"GBP"
],
"pricing": {
"net": 7150,
"original": 8580,
"retail": 12618,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": []
},
"cancellationPolicy": [
{
"type": "FULL_REFUND",
"cutoffAmount": 48,
"cutoffUnit": "HOURS",
"description": "To receive a Full Refund, cancellations must be made at least 48 Hours prior to the start time of the experience."
},
{
"type": "PARTIAL_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "To receive a 50 % refund, cancellations must be made at least 24 Hours prior to the start time of the experience."
},
{
"type": "NO_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "If you cancel less than 24 Hours before the experience's start time, the amount you paid will not be refunded."
}
]
}
]
}
On the response the only changes from the original schema is on the Transfer Options Object:
{
// ... Rest of Transfer Options
"defaultCurrency": "USD",
"availableCurrencies": ["USD", "EUR", "GBP"]
}
The defaultCurrency
is the default currency for Transfer Option, if you omit the currency
parameter on future endpoints this is the value Rhomtrip will fallback to. availableCurrencies
are all the possible currencies that we accept for the transfer option.
All the options of a transfer have the following availableCurrencies
: USD, EUR and GBP
Additionally, we will incorporate an object called pricing
into each transfer option. Below is a detailed explanation of each field within this pricing object:
original
The original price for this product which will be the same or higher than the sale amount. Use this to show a discount has been applied e.g. $10 $8.50
retail
The sale price you should charge your customers.
net
The wholesale rate the supplier will charge you for this sale.
currency
The currency.
currencyPrecision
All pricing is given in integers to avoid floating point rounding issues. e.g. USD = 2 and JPY = 0. To convert a price to decimal you should do: price
/ (10 ** currencyPrecision
) where ** is to the power of e.g. Math.pow(10, currencyPrecision
).
includedTaxes
Any taxes included in the retail and/or net price.
Booking Reservation
POST
/{host}/bookings
The booking reservation call
Request Body
currency
string
The currency to use
Response
{
"id": "6730c8ef603611ce232b67f5",
"uuid": "69fc58c4-c22b-4250-8142-3191f1daf3cd",
"status": "CONFIRMED",
"utcCreatedAt": "2024-11-10T14:53:35.541Z",
"utcUpdatedAt": "2024-11-10T14:54:38.499Z",
"utcExpiresAt": "2024-11-11T00:33:35.541Z",
"utcRedeemedAt": null,
"utcConfirmedAt": "2024-11-10T14:54:38.499Z",
"emailReceipt": "john@email.com",
"resellerReference": "U46DKGD",
"cancellable": true,
"cancellation": null,
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "user@email.com",
"phoneNumber": "3196473402",
"postalCode": "2323",
"country": "US",
"notes": "Lorem ipsum"
},
"notes": "Lorem ipsum",
"type": "Transfer",
"transferId": "672c96a9c7c84c138f45bb1c",
"transfer": {
"transferType": "ARRIVAL",
"serviceReference": "SD3DD",
"startTime": "18:00",
"localDateStart": "2024-11-19",
"distanceUnit": "KM",
"distanceInclude": 18.24,
"options": [
{
"id": "a5361c57-caa0-44e7-901f-50cb1834797f",
"reference": "5dfb86d284b03e663dd92364",
"vehicle": {
"seats": 3,
"suitcases": 3,
"type": "sedan",
"category": "standard",
"name": "Skoda Octavia",
"image": "https://app.rhombuss.com/api/public/services/sedan-skoda-octavia.png"
},
"defaultCurrency": "EUR",
"availableCurrencies": [
"USD",
"EUR",
"GBP"
],
"pricing": {
"net": 4449,
"original": 5339,
"retail": 7851,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": []
},
"cancellationPolicy": [
{
"type": "FULL_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "For a full refund, you must cancel at least 24 Hours before the experience's start time."
},
{
"type": "NO_REFUND",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "If you cancel less than 24 Hours before the experience's start time, the amount you paid will not be refunded."
},
{
"type": "CHANGES",
"cutoffAmount": 24,
"cutoffUnit": "HOURS",
"description": "Any changes made less than 24 Hours before the experience’s start time will not be accepted."
}
]
}
]
}
}
This capability extends the booking schema to add a pricing field which gives you the final price of the booking as well as any included taxes. The final price includes tax, and should be what you display to the guest as the amount they need to pay.
"pricing": {
"original": 8800,
"retail": 8800,
"net": 5500,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": [
{
"name": "VAT 10",
"retail": 800,
"net": 500
}
]
}
We include the net amount as well as any taxes included in the net price.
Last updated