Split Booking
Split passengers from an existing booking into separate bookings. This endpoint allows dividing a multi-passenger booking into multiple individual or smaller group bookings.
Endpoint
- URL:
/api/v1/flight/split - Method:
POST - Auth Required: Yes (Bearer Token/X-API-KEY)
- Content-Type:
application/json
Authentication
This endpoint requires a valid JWT Bearer token in the Authorization header:
Authorization: Bearer <access_token>
Obtain tokens via /api/v1/sign-in (POST) with your credentials.
Request Structure
| Field | Type | Required | Description |
|---|---|---|---|
| system | string | No | Booking system code (e.g., VN, VJ, 1A) |
| bookingCode | string | No | Original booking code (PNR) |
| splitPassengers | array of SplitPassenger | No | List of passengers to split into new booking |
SplitPassenger Object
| Field | Type | Required | Description |
|---|---|---|---|
| type | string | No | Passenger type (ADT, CHD, INF) |
| givenName | string | No | Given name of passenger |
| surName | string | No | Surname of passenger |
| passengerId | string | No | Unique passenger ID to identify passenger in booking |
Example Request:
{
"system": "VN",
"bookingCode": "ABC123",
"splitPassengers": [
{
"type": "ADT",
"givenName": "VAN",
"surName": "NGUYEN",
"passengerId": "pax-001"
},
{
"type": "CHD",
"givenName": "MINH",
"surName": "NGUYEN",
"passengerId": "pax-002"
}
]
}
Request Constraints & Business Rules
- The original booking must exist and be in a valid state for splitting.
- Passengers specified must exist in the original booking.
- At least one passenger must remain in the original booking.
- Infant passengers must be split with their accompanying adult.
- All split passengers must have the same itinerary.
- Fare rules may apply restrictions on booking splits.
- Some special service requests may not be transferable to split bookings.
Response Structure
| Field | Type | Nullable | Description |
|---|---|---|---|
| system | string | Yes | System name (e.g., VN, VJ, 1A) |
| status | boolean | No | true if successful, false if failed |
| error | object | Yes | Error details (if any) |
| description | string | Yes | Error description (if any) |
| trackingId | string | Yes | Tracking ID for request logs |
| trackingTime | string | Yes | Time for request tracking (ISO 8601 format) |
| bookingCodes | array | Yes | List of booking codes (original and new split bookings) |
Error Object
| Field | Type | Nullable | Description |
|---|---|---|---|
| id | integer | No | Error code ID |
| message | string | Yes | Error message |
Example Response:
{
"system": "VN",
"status": true,
"error": null,
"description": null,
"trackingId": "abc-123",
"trackingTime": "2024-06-01T12:00:00Z",
"bookingCodes": [
"ABC123",
"DEF456"
]
}
Error Codes
See Error Codes for details on possible error responses.
Security & Validation
- All input is validated for type and required fields.
- Only authenticated users can access this endpoint.
- Booking codes are verified against existing bookings.
- Passenger information is validated against booking records.
- All split operations are logged and traceable.
- Original booking integrity is maintained during the split process.
Validation Questions
- Are there restrictions on which booking statuses can be split?
- How are ancillary services and baggage handled during splits?
- What happens to group discounts when bookings are split?
- Can infant passengers be split separately from their accompanying adult?
For integration support, see Contact Support.