Skip to main content
POST
Booking Price

Booking Price

Calculates the total price for a booking at a specific resource and time slot. When dynamic pricing is enabled, the response includes demand-based and last-minute price adjustments alongside the base price. This endpoint is used by the Members Portal to display price annotations in the booking calendar and time selectors, but it can also be called directly to preview pricing before creating a booking.

Authentication

Requires a valid customer bearer token.

Query Parameters

string
Comma-separated list of response fields to include. Use this to limit the response to only the fields you need.Example: Price,DynamicPriceAdjustment,LastMinutePriceAdjustment,PriceFactorDemand

Request Body

number
required
The resource to calculate pricing for.
string
required
Booking start time in ISO 8601 UTC format (e.g. 2026-04-06T10:00:00.000Z).
string
required
Booking end time in ISO 8601 UTC format (e.g. 2026-04-06T11:00:00.000Z).
boolean
required
Whether the booking should be charged immediately.
array
Array of visitor objects associated with the booking. Pass an empty array if none.
array
Array of add-on products included in the booking. Pass an empty array if none.
object
Custom field values for the booking. Use { "Data": [] } if none.
number
Booking ID. Use 0 for new bookings. For existing bookings, pass the booking ID to preserve any previously locked-in pricing.
string
A unique identifier for the booking. Use a UUID for new bookings.
string
Display name of the customer making the booking.

Response

number
required
Total calculated price for the booking, including all dynamic adjustments.
number
required
Absolute price adjustment from demand-based dynamic pricing. Positive values indicate a surcharge, negative values a discount. 0 when no demand adjustment applies.
number
required
Absolute price adjustment for last-minute bookings. Applied when the booking is made within the configured last-minute period before the start time. 0 when not applicable.
number
required
Demand factor as a decimal multiplier. For example, 0.1 means a 10% surcharge, -0.15 means a 15% discount. 0 when no demand adjustment applies.

Examples

Calculate price for a one-hour booking

Response with dynamic pricing surcharge

In this example, the base price is 30anda10percentdemandsurchargeof30 and a 10 percent demand surcharge of 3 has been applied, resulting in a total of $33.

Response with no dynamic pricing

Response with last-minute discount

TypeScript Integration

Notes

  • Dynamic pricing must be enabled via the Nexudus.ML.DynamicPricing.Enabled business setting. When disabled, DynamicPriceAdjustment, LastMinutePriceAdjustment, and PriceFactorDemand will all be 0.
  • Pricing is calculated per hour of the booking. Each hour may have a different demand level, so the total adjustment is the sum of all hourly adjustments.
  • Previously charged bookings (non-zero Id) preserve their original pricing factors — the response reflects the locked-in adjustments rather than recalculating.
  • See Dynamic Pricing for a full explanation of how demand levels, availability thresholds, and last-minute adjustments are determined.