# Payment timings

**Understand when travellers are charged for accommodation and car rental bookings (v3.2), and how to use payment timing data to build accurate checkout experiences.**

## In this guide

* Payment timing concepts.
* When payments are taken.
* Payment timing values.
* Retrieving payment timings via API.
* UI implementation guidance.
* Integration rules and validation.


## What is the payment timing?

Payment timing defines **when a traveller is charged during the booking lifecycle**.

A single booking can include multiple payment events (schedules) depending on:

* Supplier or property policies.
* Product type (accommodation or car rental)
* Payment method and partner configuration.


Use payment timing data to:
✓ Show **what is paid now vs later.**
✓ Accurately reflect **all charges across the booking lifecycle**.
✓ Avoid unexpected charges at check-in or pickup.

## Payment moments in a booking

Payments can occur at four key moments:

* At booking time.
* Before the free cancellation period ends.
* At service delivery (check-in or pick-up).
* Split between booking and service delivery.


The Demand API returns both **timing and amounts**, enabling you to reconstruct the full payment schedule..

## Payment timing values

Use this table to understand each timing and when the traveller is charged.

| Timing | When the traveller is charged | Travel service | Behaviour |
|  --- | --- | --- | --- |
| `pay_at_the_property` | At checkin. | Accommodation | May include prepayment instalments before arrival, depending on policy. |
| `pay_online_later` | Before the free cancellation period ends (policy-dependent). | Accommodation | Deferred full charge before cancellation deadline. Not supported for CC MOTO, CC SCA, CC Riskified, or Credit Cards. |
| `pay_online_now` | At booking time. | Accommodation and Car rental | Full amount charged immediately. |
| `pay_at_pickup` | At vehicle collection. | Car rental | Amount is paid at the rental desk. |
| `pay_partial_online` | Split between booking and pick-up. | Car rental | Partial upfront payment + remaining balance at pick-up. |
| `unknown` | Not determined in search stage. | Car rental | Cannot be used to create orders. |


### Constraints on payment timings

The availability of payment timings depends on:

* Partner agreement configuration.
* Supported payment methods.
* Supplier or property settings.


For example:

* `pay_online_now` and `pay_online_later` require enabled online payments for accommodation.
* Certain card flows restrict specific timings.


## Retrieve payment timings

Use these endpoints to access payment timing data:

|  Endpoints |  What it returns |
|  --- | --- |
| /search | Payment timing per product in search results. |
| /availability | Available payment timings for each product. |
| /orders/preview | Final payment timing and detailed payment schedule for the selected products. |


## Integration rules

When implementing payment logic:

* Always use `timing` as the source of truth.
* Do not hardcode payment behaviour.
* Always display both:
  * Amounts charged online.
  * Amounts due at property or pickup.
* Always process all `dates` entries in /orders/preview.


### Validation requirements

Ensure that:

* At least one `dates` entry exists for every payment timing.
* All payment events are reflected in the UI.
* No hidden or unprocessed charges remain at checkout.


Failure to do so may result in incorrect pricing display or incomplete checkout flows.

Curious to know more?
For more details:

* [Displaying payments guide](/demand/docs/payments/payments-display)
* [Payment methods](/demand/docs/payments/payments-methods)
* [Payment schedules](/demand/docs/payments/payments-schedules)
* [Payments quick guide](/demand/docs/payments/how-to)