> 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.

# Update passengers on a booking

POST https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ
Content-Type: application/json

Add or change passenger details on an existing booking. This is how you complete a group booking: hold the seats with `OTA_AirPriceRQ`, then send this request with the passengers' names and documents before you ticket.

Reference the booking by its W1 record locator in `airReservation.bookingReferenceID`, and set `modificationType` in `airBookModifyRQ`:

- `3` change or add a passenger name - `40` change other passenger details - `5` seats and special services - `9` change the contact details

Update passengers before the `updateTravellersTimeLimit`, and for a group no later than 72 hours before departure. You cannot change a passenger name after the tickets are issued. For the seat-change body, see the GO7 [modify-booking](https://go7-worldticket.github.io/docs/ota/endpoints/modify-booking) page.


Reference: https://wt.hhr.systems/hhr-ticketing-system-api/booking/update-passengers

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /ota/v2015b/OTA#OTA_AirBookModifyRQ:
    post:
      operationId: updatePassengers
      summary: Update passengers on a booking
      description: >
        Add or change passenger details on an existing booking. This is how you
        complete a group booking: hold the seats with `OTA_AirPriceRQ`, then
        send this request with the passengers' names and documents before you
        ticket.


        Reference the booking by its W1 record locator in
        `airReservation.bookingReferenceID`, and set `modificationType` in
        `airBookModifyRQ`:


        - `3` change or add a passenger name - `40` change other passenger
        details - `5` seats and special services - `9` change the contact
        details


        Update passengers before the `updateTravellersTimeLimit`, and for a
        group no later than 72 hours before departure. You cannot change a
        passenger name after the tickets are issued. For the seat-change body,
        see the GO7
        [modify-booking](https://go7-worldticket.github.io/docs/ota/endpoints/modify-booking)
        page.
      tags:
        - Booking
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
        - name: local-name
          in: header
          description: Routes the request to the update-passengers operation.
          required: true
          schema:
            $ref: >-
              #/components/schemas/OtaV2015BOtaOtaAirBookModifyRqPostParametersLocalName
      responses:
        '200':
          description: The updated reservation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirBookModifyResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AirBookModifyRequest'
servers:
  - url: https://api.sar.worldticket.cloud
    description: Production
  - url: https://test-api.worldticket.net
    description: Test
components:
  schemas:
    OtaV2015BOtaOtaAirBookModifyRqPostParametersLocalName:
      type: string
      enum:
        - OTA_AirBookModifyRQ
      default: OTA_AirBookModifyRQ
      title: OtaV2015BOtaOtaAirBookModifyRqPostParametersLocalName
    RequestorID:
      type: object
      properties:
        id:
          type: string
          description: Agent identifier.
        name:
          type: string
          description: Agency name.
        type:
          type: string
          description: Requestor type.
      title: RequestorID
    BookingChannel:
      type: object
      properties:
        type:
          type: string
      title: BookingChannel
    Source:
      type: object
      properties:
        isocurrency:
          type: string
          description: ISO currency code. Always SAR.
        isoCurrency:
          type: string
          description: ISO currency code (used by the cancel operation).
        requestorID:
          $ref: '#/components/schemas/RequestorID'
        bookingChannel:
          $ref: '#/components/schemas/BookingChannel'
      title: Source
    Pos:
      type: object
      properties:
        source:
          type: array
          items:
            $ref: '#/components/schemas/Source'
      description: Point of sale. Identifies the agent and channel behind the request.
      title: Pos
    CompanyName:
      type: object
      properties:
        code:
          type: string
          description: W1 for the WorldTicket PNR, HHR for the railway locator.
      title: CompanyName
    BookingReferenceIdType:
      type: string
      enum:
        - '14'
      title: BookingReferenceIdType
    BookingReferenceID:
      type: object
      properties:
        companyName:
          $ref: '#/components/schemas/CompanyName'
        type:
          $ref: '#/components/schemas/BookingReferenceIdType'
        id:
          type: string
          description: Record locator.
      title: BookingReferenceID
    AirBookModifyRequestAirReservation:
      type: object
      properties:
        bookingReferenceID:
          type: array
          items:
            $ref: '#/components/schemas/BookingReferenceID'
      description: References the booking to change by its record locators.
      title: AirBookModifyRequestAirReservation
    AirBookModifyRequestAirBookModifyRqModificationType:
      type: string
      enum:
        - '3'
        - '40'
        - '5'
        - '9'
      description: >
        What to change. 3 changes or adds a passenger name, 40 changes other
        passenger details, 5 covers seats and special services, 9 changes the
        contact details.
      title: AirBookModifyRequestAirBookModifyRqModificationType
    PassengerTypeCode:
      type: string
      enum:
        - ADT
        - CHD
        - INF
        - CTC
      description: >
        Passenger type. ADT, CHD and INF map to HHR codes 1, 2 and 3. CTC marks
        the required contact passenger.
      title: PassengerTypeCode
    PersonName:
      type: object
      properties:
        surname:
          type: string
        givenName:
          type: array
          items:
            type: string
        middleName:
          type: array
          items:
            type: string
        namePrefix:
          type: array
          items:
            type: string
      title: PersonName
    Email:
      type: object
      properties:
        value:
          type: string
      title: Email
    Telephone:
      type: object
      properties:
        countryAccessCode:
          type: string
        phoneNumber:
          type: string
      title: Telephone
    TravelerDocumentDocType:
      type: string
      enum:
        - '2'
        - '5'
      description: Document type. 2 is Passport, 5 is National ID.
      title: TravelerDocumentDocType
    TravelerDocument:
      type: object
      properties:
        docID:
          type: string
        docType:
          $ref: '#/components/schemas/TravelerDocumentDocType'
          description: Document type. 2 is Passport, 5 is National ID.
        birthDate:
          type: string
        expireDate:
          type: string
        docHolderNationality:
          type: string
      title: TravelerDocument
    AirTravelerFlightSegmentRpHs:
      type: object
      properties:
        flightSegmentRPH:
          type: array
          items:
            type: string
      title: AirTravelerFlightSegmentRpHs
    AirTravelerTravelerRefNumber:
      type: object
      properties:
        rph:
          type: string
      title: AirTravelerTravelerRefNumber
    AirTraveler:
      type: object
      properties:
        passengerTypeCode:
          $ref: '#/components/schemas/PassengerTypeCode'
        gender:
          type: string
        personName:
          $ref: '#/components/schemas/PersonName'
        email:
          type: array
          items:
            $ref: '#/components/schemas/Email'
        telephone:
          type: array
          items:
            $ref: '#/components/schemas/Telephone'
        document:
          type: array
          items:
            $ref: '#/components/schemas/TravelerDocument'
        flightSegmentRPHs:
          $ref: '#/components/schemas/AirTravelerFlightSegmentRpHs'
        travelerRefNumber:
          $ref: '#/components/schemas/AirTravelerTravelerRefNumber'
      title: AirTraveler
    AirBookModifyRequestAirBookModifyRqTravelerInfo:
      type: object
      properties:
        airTraveler:
          type: array
          items:
            $ref: '#/components/schemas/AirTraveler'
      title: AirBookModifyRequestAirBookModifyRqTravelerInfo
    AirBookModifyRequestAirBookModifyRq:
      type: object
      properties:
        modificationType:
          $ref: >-
            #/components/schemas/AirBookModifyRequestAirBookModifyRqModificationType
          description: >
            What to change. 3 changes or adds a passenger name, 40 changes other
            passenger details, 5 covers seats and special services, 9 changes
            the contact details.
        travelerInfo:
          $ref: '#/components/schemas/AirBookModifyRequestAirBookModifyRqTravelerInfo'
      title: AirBookModifyRequestAirBookModifyRq
    AirBookModifyRequest:
      type: object
      properties:
        pos:
          $ref: '#/components/schemas/Pos'
        version:
          type: string
        airReservation:
          $ref: '#/components/schemas/AirBookModifyRequestAirReservation'
          description: References the booking to change by its record locators.
        airBookModifyRQ:
          $ref: '#/components/schemas/AirBookModifyRequestAirBookModifyRq'
      required:
        - pos
        - version
        - airReservation
        - airBookModifyRQ
      title: AirBookModifyRequest
    AirBookModifyResponseSuccess:
      type: object
      properties: {}
      title: AirBookModifyResponseSuccess
    AirBookModifyResponse:
      type: object
      properties:
        success:
          $ref: '#/components/schemas/AirBookModifyResponseSuccess'
        airReservation:
          type: object
          additionalProperties:
            description: Any type
        version:
          type: number
          format: double
      title: AirBookModifyResponse

```

## Examples



**Request**

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

**Response**

```json
{
  "success": {},
  "airReservation": {
    "bookingReferenceID": [
      {
        "companyName": {
          "code": "W1"
        },
        "id": "N6G2NW",
        "type": "14"
      },
      {
        "companyName": {
          "code": "HHR"
        },
        "id": "CB0255134",
        "type": "14"
      }
    ],
    "createDateTime": "2026-05-01T10:13:21.740Z",
    "travelerInfo": {
      "airTraveler": [
        {
          "personName": {
            "givenName": [
              "BARAA"
            ],
            "surname": "BUKHARI"
          },
          "travelerRefNumber": {
            "rph": "1"
          }
        },
        {
          "personName": {
            "givenName": [
              "SARA"
            ],
            "surname": "BUKHARI"
          },
          "travelerRefNumber": {
            "rph": "2"
          }
        }
      ]
    }
  },
  "version": 2.001
}
```

**SDK Code**

```python
import requests

url = "https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ"

payload = {
    "pos": { "source": [
            {
                "isoCurrency": "SAR",
                "requestorID": {
                    "id": "AGENT001",
                    "name": "Sample Travel",
                    "type": "5"
                },
                "bookingChannel": { "type": "OTA" }
            }
        ] },
    "version": "2.001",
    "airReservation": { "bookingReferenceID": [
            {
                "companyName": { "code": "W1" },
                "type": "14",
                "id": "N6G2NW"
            },
            {
                "companyName": { "code": "HHR" },
                "type": "14",
                "id": "CB0255134"
            }
        ] },
    "airBookModifyRQ": {
        "modificationType": "3",
        "travelerInfo": { "airTraveler": [
                {
                    "personName": {
                        "surname": "BUKHARI",
                        "givenName": ["BARAA"]
                    },
                    "flightSegmentRPHs": { "flightSegmentRPH": ["1"] },
                    "travelerRefNumber": { "rph": "1" }
                },
                {
                    "personName": {
                        "surname": "BUKHARI",
                        "givenName": ["SARA"]
                    },
                    "flightSegmentRPHs": { "flightSegmentRPH": ["1"] },
                    "travelerRefNumber": { "rph": "2" }
                }
            ] }
    }
}
headers = {
    "local-name": "OTA_AirBookModifyRQ",
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ';
const options = {
  method: 'POST',
  headers: {
    'local-name': 'OTA_AirBookModifyRQ',
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: '{"pos":{"source":[{"isoCurrency":"SAR","requestorID":{"id":"AGENT001","name":"Sample Travel","type":"5"},"bookingChannel":{"type":"OTA"}}]},"version":"2.001","airReservation":{"bookingReferenceID":[{"companyName":{"code":"W1"},"type":"14","id":"N6G2NW"},{"companyName":{"code":"HHR"},"type":"14","id":"CB0255134"}]},"airBookModifyRQ":{"modificationType":"3","travelerInfo":{"airTraveler":[{"personName":{"surname":"BUKHARI","givenName":["BARAA"]},"flightSegmentRPHs":{"flightSegmentRPH":["1"]},"travelerRefNumber":{"rph":"1"}},{"personName":{"surname":"BUKHARI","givenName":["SARA"]},"flightSegmentRPHs":{"flightSegmentRPH":["1"]},"travelerRefNumber":{"rph":"2"}}]}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ"

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

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("local-name", "OTA_AirBookModifyRQ")
	req.Header.Add("x-api-key", "YOUR_API_KEY")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["local-name"] = 'OTA_AirBookModifyRQ'
request["x-api-key"] = 'YOUR_API_KEY'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"pos\": {\n    \"source\": [\n      {\n        \"isoCurrency\": \"SAR\",\n        \"requestorID\": {\n          \"id\": \"AGENT001\",\n          \"name\": \"Sample Travel\",\n          \"type\": \"5\"\n        },\n        \"bookingChannel\": {\n          \"type\": \"OTA\"\n        }\n      }\n    ]\n  },\n  \"version\": \"2.001\",\n  \"airReservation\": {\n    \"bookingReferenceID\": [\n      {\n        \"companyName\": {\n          \"code\": \"W1\"\n        },\n        \"type\": \"14\",\n        \"id\": \"N6G2NW\"\n      },\n      {\n        \"companyName\": {\n          \"code\": \"HHR\"\n        },\n        \"type\": \"14\",\n        \"id\": \"CB0255134\"\n      }\n    ]\n  },\n  \"airBookModifyRQ\": {\n    \"modificationType\": \"3\",\n    \"travelerInfo\": {\n      \"airTraveler\": [\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"BARAA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"1\"\n          }\n        },\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"SARA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"2\"\n          }\n        }\n      ]\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ")
  .header("local-name", "OTA_AirBookModifyRQ")
  .header("x-api-key", "YOUR_API_KEY")
  .header("Content-Type", "application/json")
  .body("{\n  \"pos\": {\n    \"source\": [\n      {\n        \"isoCurrency\": \"SAR\",\n        \"requestorID\": {\n          \"id\": \"AGENT001\",\n          \"name\": \"Sample Travel\",\n          \"type\": \"5\"\n        },\n        \"bookingChannel\": {\n          \"type\": \"OTA\"\n        }\n      }\n    ]\n  },\n  \"version\": \"2.001\",\n  \"airReservation\": {\n    \"bookingReferenceID\": [\n      {\n        \"companyName\": {\n          \"code\": \"W1\"\n        },\n        \"type\": \"14\",\n        \"id\": \"N6G2NW\"\n      },\n      {\n        \"companyName\": {\n          \"code\": \"HHR\"\n        },\n        \"type\": \"14\",\n        \"id\": \"CB0255134\"\n      }\n    ]\n  },\n  \"airBookModifyRQ\": {\n    \"modificationType\": \"3\",\n    \"travelerInfo\": {\n      \"airTraveler\": [\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"BARAA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"1\"\n          }\n        },\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"SARA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"2\"\n          }\n        }\n      ]\n    }\n  }\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ', [
  'body' => '{
  "pos": {
    "source": [
      {
        "isoCurrency": "SAR",
        "requestorID": {
          "id": "AGENT001",
          "name": "Sample Travel",
          "type": "5"
        },
        "bookingChannel": {
          "type": "OTA"
        }
      }
    ]
  },
  "version": "2.001",
  "airReservation": {
    "bookingReferenceID": [
      {
        "companyName": {
          "code": "W1"
        },
        "type": "14",
        "id": "N6G2NW"
      },
      {
        "companyName": {
          "code": "HHR"
        },
        "type": "14",
        "id": "CB0255134"
      }
    ]
  },
  "airBookModifyRQ": {
    "modificationType": "3",
    "travelerInfo": {
      "airTraveler": [
        {
          "personName": {
            "surname": "BUKHARI",
            "givenName": [
              "BARAA"
            ]
          },
          "flightSegmentRPHs": {
            "flightSegmentRPH": [
              "1"
            ]
          },
          "travelerRefNumber": {
            "rph": "1"
          }
        },
        {
          "personName": {
            "surname": "BUKHARI",
            "givenName": [
              "SARA"
            ]
          },
          "flightSegmentRPHs": {
            "flightSegmentRPH": [
              "1"
            ]
          },
          "travelerRefNumber": {
            "rph": "2"
          }
        }
      ]
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'local-name' => 'OTA_AirBookModifyRQ',
    'x-api-key' => 'YOUR_API_KEY',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ");
var request = new RestRequest(Method.POST);
request.AddHeader("local-name", "OTA_AirBookModifyRQ");
request.AddHeader("x-api-key", "YOUR_API_KEY");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"pos\": {\n    \"source\": [\n      {\n        \"isoCurrency\": \"SAR\",\n        \"requestorID\": {\n          \"id\": \"AGENT001\",\n          \"name\": \"Sample Travel\",\n          \"type\": \"5\"\n        },\n        \"bookingChannel\": {\n          \"type\": \"OTA\"\n        }\n      }\n    ]\n  },\n  \"version\": \"2.001\",\n  \"airReservation\": {\n    \"bookingReferenceID\": [\n      {\n        \"companyName\": {\n          \"code\": \"W1\"\n        },\n        \"type\": \"14\",\n        \"id\": \"N6G2NW\"\n      },\n      {\n        \"companyName\": {\n          \"code\": \"HHR\"\n        },\n        \"type\": \"14\",\n        \"id\": \"CB0255134\"\n      }\n    ]\n  },\n  \"airBookModifyRQ\": {\n    \"modificationType\": \"3\",\n    \"travelerInfo\": {\n      \"airTraveler\": [\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"BARAA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"1\"\n          }\n        },\n        {\n          \"personName\": {\n            \"surname\": \"BUKHARI\",\n            \"givenName\": [\n              \"SARA\"\n            ]\n          },\n          \"flightSegmentRPHs\": {\n            \"flightSegmentRPH\": [\n              \"1\"\n            ]\n          },\n          \"travelerRefNumber\": {\n            \"rph\": \"2\"\n          }\n        }\n      ]\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "local-name": "OTA_AirBookModifyRQ",
  "x-api-key": "YOUR_API_KEY",
  "Content-Type": "application/json"
]
let parameters = [
  "pos": ["source": [
      [
        "isoCurrency": "SAR",
        "requestorID": [
          "id": "AGENT001",
          "name": "Sample Travel",
          "type": "5"
        ],
        "bookingChannel": ["type": "OTA"]
      ]
    ]],
  "version": "2.001",
  "airReservation": ["bookingReferenceID": [
      [
        "companyName": ["code": "W1"],
        "type": "14",
        "id": "N6G2NW"
      ],
      [
        "companyName": ["code": "HHR"],
        "type": "14",
        "id": "CB0255134"
      ]
    ]],
  "airBookModifyRQ": [
    "modificationType": "3",
    "travelerInfo": ["airTraveler": [
        [
          "personName": [
            "surname": "BUKHARI",
            "givenName": ["BARAA"]
          ],
          "flightSegmentRPHs": ["flightSegmentRPH": ["1"]],
          "travelerRefNumber": ["rph": "1"]
        ],
        [
          "personName": [
            "surname": "BUKHARI",
            "givenName": ["SARA"]
          ],
          "flightSegmentRPHs": ["flightSegmentRPH": ["1"]],
          "travelerRefNumber": ["rph": "2"]
        ]
      ]]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.sar.worldticket.cloud/ota/v2015b/OTA#OTA_AirBookModifyRQ")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```