/v2/cart/{id}Add passengers
Replace the passenger list. Ages are measured on the departure date, not today.
Ownership is checked first. A cart that does not exist and a cart that belongs to someone else return the same 404, so ids cannot be probed. Passenger count and types must match what the cart was priced for. Note the 406 status on age-band failures — it is not 400.
cURL
curl -X PUT https://booking.aerolink.dev/v2/cart/66e1... \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{"passengers":[{"type":"ADT","givenName":"RAHIM","surname":"UDDIN","gender":"MALE","dateOfBirth":"1990-05-12"}]}'Path parameters
idstringCart id
idstring required | Cart id |
Request
{
"passengers": [
{
"type": "ADT",
"givenName": "RAHIM",
"surname": "UDDIN",
"gender": "MALE",
"dateOfBirth": "1990-05-12",
"email": "customer@example.com",
"phoneNo": "+8801700000000"
}
]
}Body fields
passengersarrayFull passenger list. Replaces whatever the cart held.
passengerTypeenumADT, CHLD, INF, C02–C11, STU, ADR. Drives title, age validation and fare matching.
givenNamestringGiven name
surnamestringSurname
genderenumUsed to derive passengerTitle
dateOfBirthstringISO date. A malformed value throws.
saveTravelerbooleanWhen true the passenger is written to the traveller book
travelerIdstringLinks to an existing saved traveller
documentobjectPassport / travel document
passengersarray required | Full passenger list. Replaces whatever the cart held. |
passengerTypeenum required | ADT, CHLD, INF, C02–C11, STU, ADR. Drives title, age validation and fare matching. |
givenNamestring required | Given name |
surnamestring required | Surname |
genderenum required | Used to derive passengerTitle |
dateOfBirthstring required | ISO date. A malformed value throws. |
saveTravelerboolean optional | When true the passenger is written to the traveller book |
travelerIdstring optional | Links to an existing saved traveller |
documentobject optional | Passport / travel document |
Response
{
"message": "Success",
"data": {
"id": "66e1...",
"searchId": "9f2c...",
"price": { "currencyCode": "BDT", "total": 46300 },
"passengers": [
{
"givenName": "RAHIM",
"surname": "UDDIN",
"passengerType": "ADT"
}
],
"finalPaymentDate": "2026-10-10T23:59:59"
}
}Business rules
- For Sabre carts, a C02–C11 type whose real age falls in a different band is re-bucketed before matching.
- Passport numbers are checked against existing bookings on the same flight and date.
Errors
Cart missing or owned by another customer
A passenger type the cart was not priced for
Child must be 2–11, infant under 2, adult-fare 12+ — all at departure.
Missing token or missing B2C_CART_UPDATE
| HTTP | message | When |
|---|---|---|
| 404 | Entity Not Found | Cart missing or owned by another customer |
| 400 | CHILD_AGE_MISMATCH | A passenger type the cart was not priced for |
| 406 | invalid CHLD / INF / adult fare age | Child must be 2–11, infant under 2, adult-fare 12+ — all at departure. |
| 401 / 403 | UNAUTHORIZED | Missing token or missing B2C_CART_UPDATE |