This article provides sample flows for retrieving booking pricing information using Preview Price and Calculate Price. Use these flows as a starting point to implement tailored booking experiences.
You can display services and available slots to customers, let them choose their preferred options, then show accurate pricing in your custom checkout before creating the booking.
bookingLineItems with serviceId, numberOfParticipants, and choices for each variant.priceInfo.calculatedPrice for the total cost and priceInfo.bookingLineItems[].pricePerParticipant for individual line item pricing.options.paymentStatus to PAID to update the booking status to CONFIRMED.To show booking pricing in external apps or 3rd-party systems:
booking object.priceInfo.calculatedPrice to display accurate booking costs in your external interface. Make sure to handle deposits and non-numerical prices properly:
priceInfo.deposit is present, show deposit requirements separately.priceInfo.priceDescriptionInfo contains custom pricing text instead of calculatedPrice for services with CUSTOM rate types.For services with a duration range configured, you can preview the price based on the customer's selected time range. This is useful for duration-range services where the customer chooses how long to book.
Call Get Service to retrieve the service and confirm it has a duration range configured in schedule.availabilityConstraints.durationRange.
Let the customer select their desired start and end times within the allowed duration range.
Call Preview Price specifying bookingLineItems with serviceId, numberOfParticipants, localStartDate, localEndDate, and timeZone. For example:
Display the returned priceInfo.calculatedPrice to the customer. The price is calculated based on the duration: per minute for hourly services and per day for daily services.
Last updated: 1 July 2026