Appearance
Package Tour Bookings
Package tours use booking_type: PACKAGE and have specific fields for commission and direct payment flows.
Create Package Tour Booking
http
POST /api/v1/bookingsRequest Body:
| Field | Type | Required | Notes |
|---|---|---|---|
| booking_reference | string | ✅ Yes | 1–50 chars |
| booking_type | string | ✅ Yes | Must be PACKAGE |
| booking_date | string | ✅ Yes | YYYY-MM-DD |
| total_amount | number | ✅ Yes | >= 0 |
| total_paid | number | No | Use 0 unless paid_directly_to_supplier |
| service_fee | number | No | Forced to 0 |
| commission | number | No | Agency commission amount |
| paid_directly_to_supplier | boolean | No | Marks total fare as paid to supplier |
| paid_directly_to_agency | boolean | No | Indicates manual payment entry is needed |
| client_id | string | No | uuid |
| pnr | string | No | Max 20 chars |
| notes | string | No | Max 1000 chars |
Update Package Tour Booking
http
PUT /api/v1/bookings/{id}Update Fields:
| Field | Type | Notes |
|---|---|---|
| booking_reference | string | 1–50 chars |
| pnr | string | Max 20 chars |
| booking_date | string | YYYY-MM-DD |
| service_fee | number | Keep at 0 |
| commission | number | Agency commission amount |
| paid_directly_to_supplier | boolean | Cannot be true simultaneously with paid_directly_to_agency |
| paid_directly_to_agency | boolean | Cannot be true simultaneously with paid_directly_to_supplier |
| income_tax_free | number | Optional |
| income_after_tax | number | Optional |
| notes | string | Max 1000 chars |
Mutual Exclusion
paid_directly_to_supplier and paid_directly_to_agency cannot both be true at the same time.