# Cancellation
These operations cover the cancellation of car rental bookings, either initiated by the traveler or by the car rental supplier/vendor.
**Webhook used:** [PNR_V3](/openapi/webhookeventapi/webhooks/paths/pnr_v3/post)
| Step | Operation | Event trigger | Context |
| --- | --- | --- | --- |
| 1
| `BOOKING_CANCELED_BY_TRAVELER`
| When the car booking is canceled by the traveler.
| The car reservation has been canceled by the traveler.
The refund amount depends on the supplier's cancellation policy:
- **Refundable** (canceled before the cancellation deadline): The full prepaid amount is refunded.
- **Partially refundable** (canceled after the deadline): A penalty is deducted from the full price and the remaining amount is refunded.
- **Non-refundable:** No refund is received.
- **Pay-at-counter bookings**: There is no refund to process, however a cancellation fee may still apply per supplier policy.
**Example:** A traveler booked a refundable $165 car rental with free cancellation until 48 hours before pickup.
They cancel 5 days before pickup. The `BOOKING_CANCELED_BY_TRAVELER` event is triggered and the full $165 is refunded.
|
| 2 | `BOOKING_CANCELED_BY_VENDOR` | When the car booking is canceled by the supplier or the vendor. | The car rental company or booking supplier has canceled the reservation.
This scenario is less common and could occur due to fleet unavailability, branch closure, or operational issues.
The refund processing follows the same rules as traveler-initiated cancellations.
For a vendor cancellation, the traveler is typically entitled to a full refund since the cancellation was not their doing,
though the actual refund may depend on the supplier policies.
**Example:** A traveler has a confirmed reservation at an airport branch.
The branch experiences a fleet shortage and cancels the reservation.
The `BOOKING_CANCELED_BY_VENDOR` event is triggered. The full prepaid amount is refunded. |
## Car cancellation flow diagram
```mermaid
flowchart LR
subgraph cancellation["Cancellation"]
A(["Confirmed car
booking"]) --> B{"Who initiates
the cancellation?"}
B -->|"Traveler
cancels"| C{"Cancellation
policy?"}
C -->|"Free
cancellation"| D["BOOKING_CANCELED_
BY_TRAVELER
―――――――――――
Full prepaid price refunded if canceled before deadline"]
C -->|"Penalty
applies"| E["BOOKING_CANCELED_
BY_TRAVELER
―――――――――――
Penalty deducted and remainder refunded, if canceled after deadline."]
C -->|"Non-
refundable"| F["BOOKING_CANCELED_
BY_TRAVELER
―――――――――――
Non-refundable rate.
No refund processed ($0)."]
B -->|"Supplier/vendor
cancels"| G["BOOKING_CANCELED_
BY_VENDOR
―――――――――――
Supplier proactively canceled.
e.g., Due to fleet shortage, closure, etc.
Typically full refund."]
D --> H["INVOICE_GENERATED
―――――――――――
Credit note or a refund
adjustment invoice."]
E --> H
G --> H
end
style A fill:#f0f0f0,stroke:#999
style D fill:#F44336,color:#fff
style E fill:#F44336,color:#fff
style F fill:#F44336,color:#fff
style G fill:#F44336,color:#fff
style H fill:#FF9800,color:#fff
```