> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://wt.hhr.systems/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://wt.hhr.systems/_mcp/server.

# Updating passengers

`OTA_AirBookModifyRQ` changes passenger details on an existing booking. Its main job is completing a group booking: after you hold seats with `OTA_AirPriceRQ`, the booking has counts but no names, and you add the names and documents here before you pay and issue. It works on individual bookings too, so you can also use it to fix a detail on a booking you made by name.

#### Add group passengers before the deadline

For a group, add the passengers before the `updateTravellersTimeLimit`, and no later than 72 hours before departure. After that the booking is dead and you cannot ticket it. See [Time limits](/time-limits).

## Reference the booking

Point the request at the booking with its record locators in `airReservation.bookingReferenceID`: the W1 locator and the HHR locator. Then set `modificationType` in `airBookModifyRQ` for the kind of change you are making.

| `modificationType` | Use it to                                          |
| ------------------ | -------------------------------------------------- |
| `3`                | Add or change a passenger name                     |
| `40`               | Change other passenger details, such as a document |
| `5`                | Assign seats or add special services               |
| `9`                | Change the contact details                         |

## Add the names

Send `modificationType` `3` with each traveler's name and the segments they ride. Match `travelerRefNumber.rph` to the passenger slots the group booking created.

```json
{
  "version": "2.001",
  "pos": {
    "source": [
      {
        "isoCurrency": "SAR",
        "requestorID": { "id": "AGENT001", "name": "Sample Travel", "type": "5" },
        "bookingChannel": { "type": "OTA" }
      }
    ]
  },
  "airReservation": {
    "bookingReferenceID": [
      { "companyName": { "code": "W1" }, "type": "14", "id": "N6G2NW" },
      { "companyName": { "code": "HHR" }, "type": "14", "id": "CB0255134" }
    ]
  },
  "airBookModifyRQ": {
    "modificationType": "3",
    "travelerInfo": {
      "airTraveler": [
        {
          "personName": { "givenName": ["BARAA"], "surname": "BUKHARI" },
          "travelerRefNumber": { "rph": "1" },
          "flightSegmentRPHs": { "flightSegmentRPH": ["1"] }
        },
        {
          "personName": { "givenName": ["SARA"], "surname": "BUKHARI" },
          "travelerRefNumber": { "rph": "2" },
          "flightSegmentRPHs": { "flightSegmentRPH": ["1"] }
        }
      ]
    }
  }
}
```

The response returns the reservation with the updated travelers. Once every passenger is in place, [pay and issue](/paying-with-the-wallet).

## Before and after ticketing

Most changes happen before you ticket, while the booking is still open. Once the tickets are issued, what you can change narrows:

* **Names are fixed.** You cannot change a passenger name after the tickets are issued, so get the names right before you pay.
* **Seats can still change.** A seat change with `modificationType` `5` works after payment.

For anything else after ticketing, and for the exact seat-change body, the GO7 [modify-booking](https://go7-worldticket.github.io/docs/ota/endpoints/modify-booking) page is the source of truth. Assigning seats works hand in hand with the [seat map](/seat-maps). If a change is rejected, the [error response](/errors) tells you why.