Skip to guide
Podyx Developers Studio API v2

STUDIO API / CAPABILITY GUIDES

Read Markdown ↗

Quotes & requirements

Use Podyx to resolve the price and the details a customer must provide. Partial selections help you decide which question your interface asks next.

Inputs and outputs

Booking quotes accept explicit sessions[]. A room/date-only selection can return status=incomplete, missing_inputs and current requirements. Complete selections include service, concrete setup where required, local date/start, duration and the applicable details.

Returned requirements can include custom forms, guests/seats rules, invoice fields, displayed consent documents and paginated file-transfer choices. Render the actual requirements; do not invent consent defaults or reuse another purchase rail's shape.

Prices, tax, promo eligibility and credits come from Podyx. Amounts are decimal strings with a currency. Caller-supplied prices and provider IDs are refused. client_id optionally selects an owned studio client for personalized prices/credits, requires clients:read, and does not authenticate a visitor. Email is not accepted in quote input.

Complete the customer's selection

Collect the missing choices and real acceptance of the displayed documents, then quote again. status=complete establishes advisory facts at that moment. It does not hold time, lock a price or authorize charging a customer. Both native and studio-collected admission revalidate the same mandatory choices.

A quote creates no client, booking, payment, receipt or job. It is a read-only POST and does not require Idempotency-Key. The operation still requires current account/key/public-API and family read authority.

Different capabilities have different requirements

Ordinary booking quotes, package quotes and Tour quotes are separate contracts. A Tour quote returns a price map rather than generic status=complete; use the Tour offer's questions, phone, guest and consent requirements separately. Tour admission requires a pre-updated owned client profile when phone is required. Tour terms-only policy does not imply ordinary booking consent policy.

A Tour's base label can be free while selected add-ons owe money. line_items[].unit_price can already be scaled for Tour duration; do not scale it again. Use the returned total.

Failure and recovery

Validation errors identify malformed or incompatible selections. An incomplete admission can return 422 incomplete_selection; it is better to collect the missing inputs through quote reads first. A fingerprint identifies current advisory facts, not a price lock. If admission detects stale facts, refresh and obtain any required new customer decision.