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

# Create an individual booking

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

Create a booking when you already know the passengers. Send full passenger data for up to 10 travelers plus one CTC contact passenger. The response returns the W1 record locator and the booking time limits.


Reference: https://wt.hhr.systems/hhr-ticketing-system-api/booking/create-individual

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /ota/v2015b/OTA#OTA_AirBookRQ:
    post:
      operationId: createIndividual
      summary: Create an individual booking
      description: >
        Create a booking when you already know the passengers. Send full
        passenger data for up to 10 travelers plus one CTC contact passenger.
        The response returns the W1 record locator and the booking time limits.
      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 individual booking operation.
          required: true
          schema:
            $ref: >-
              #/components/schemas/OtaV2015BOtaOtaAirBookRqPostParametersLocalName
      responses:
        '200':
          description: The reservation, with record locators and time limits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirBookResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AirBookRequest'
servers:
  - url: https://api.sar.worldticket.cloud
    description: Production
  - url: https://test-api.worldticket.net
    description: Test
components:
  schemas:
    OtaV2015BOtaOtaAirBookRqPostParametersLocalName:
      type: string
      enum:
        - OTA_AirBookRQ
      default: OTA_AirBookRQ
      title: OtaV2015BOtaOtaAirBookRqPostParametersLocalName
    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
    StationCode:
      type: string
      enum:
        - JED
        - JXD
        - KCX
        - MKX
        - DMX
      description: HHR station code.
      title: StationCode
    Location:
      type: object
      properties:
        locationCode:
          $ref: '#/components/schemas/StationCode'
      title: Location
    Airline:
      type: object
      properties:
        code:
          type: string
        flightNumber:
          type: string
      title: Airline
    BookingClass:
      type: string
      enum:
        - 'Y'
        - C
      description: Booking class. Y is Economy (HHR class T), C is Business (HHR class P).
      title: BookingClass
    FlightSegment:
      type: object
      properties:
        rph:
          type: string
          description: Reference placeholder for this segment.
        status:
          type: string
        flightNumber:
          type: string
        fareBasisCode:
          type: string
        departureAirport:
          $ref: '#/components/schemas/Location'
        arrivalAirport:
          $ref: '#/components/schemas/Location'
        departureDateTime:
          type: string
        arrivalDateTime:
          type: string
        marketingAirline:
          $ref: '#/components/schemas/Airline'
        operatingAirline:
          $ref: '#/components/schemas/Airline'
        resBookDesigCode:
          $ref: '#/components/schemas/BookingClass'
      title: FlightSegment
    AirItineraryOriginDestinationOptionsOriginDestinationOptionItems:
      type: object
      properties:
        rph:
          type: string
        flightSegment:
          type: array
          items:
            $ref: '#/components/schemas/FlightSegment'
      title: AirItineraryOriginDestinationOptionsOriginDestinationOptionItems
    AirItineraryOriginDestinationOptions:
      type: object
      properties:
        originDestinationOption:
          type: array
          items:
            $ref: >-
              #/components/schemas/AirItineraryOriginDestinationOptionsOriginDestinationOptionItems
      title: AirItineraryOriginDestinationOptions
    AirItinerary:
      type: object
      properties:
        originDestinationOptions:
          $ref: '#/components/schemas/AirItineraryOriginDestinationOptions'
      title: AirItinerary
    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
    AirBookRequestTravelerInfo:
      type: object
      properties:
        airTraveler:
          type: array
          items:
            $ref: '#/components/schemas/AirTraveler'
      description: >
        Up to 10 passengers plus one CTC contact passenger. Give each traveler
        full details and reference the segments they travel on.
      title: AirBookRequestTravelerInfo
    AirBookRequest:
      type: object
      properties:
        pos:
          $ref: '#/components/schemas/Pos'
        version:
          type: string
        airItinerary:
          $ref: '#/components/schemas/AirItinerary'
        travelerInfo:
          $ref: '#/components/schemas/AirBookRequestTravelerInfo'
          description: >
            Up to 10 passengers plus one CTC contact passenger. Give each
            traveler full details and reference the segments they travel on.
      required:
        - pos
        - version
        - airItinerary
        - travelerInfo
      title: AirBookRequest
    AirBookResponseSuccess:
      type: object
      properties: {}
      title: AirBookResponseSuccess
    AirBookResponseAirReservation:
      type: object
      properties:
        bookingReferenceID:
          type: array
          items:
            type: object
            additionalProperties:
              description: Any type
          description: >
            Record locators. W1 is the WorldTicket PNR you use in every API
            call; HHR is the Haramain locator.
      title: AirBookResponseAirReservation
    AirBookResponse:
      type: object
      properties:
        success:
          $ref: '#/components/schemas/AirBookResponseSuccess'
        airReservation:
          $ref: '#/components/schemas/AirBookResponseAirReservation'
        timeStamp:
          type: string
        version:
          type: number
          format: double
      title: AirBookResponse

```

## Examples



**Request**

```json
{
  "pos": {
    "source": [
      {
        "isocurrency": "SAR",
        "requestorID": {
          "id": "AGENT001",
          "name": "Sample Travel",
          "type": "5"
        },
        "bookingChannel": {
          "type": "OTA"
        }
      }
    ]
  },
  "version": "2.001",
  "airItinerary": {
    "originDestinationOptions": {
      "originDestinationOption": [
        {
          "flightSegment": [
            {
              "rph": "1",
              "status": "30",
              "flightNumber": "1132",
              "fareBasisCode": "EWTOWI",
              "departureAirport": {
                "locationCode": "MKX"
              },
              "arrivalAirport": {
                "locationCode": "DMX"
              },
              "departureDateTime": "2026-05-14T13:20:00.000+03:00",
              "arrivalDateTime": "2026-05-14T15:40:00.000+03:00",
              "marketingAirline": {
                "code": "HHR"
              },
              "operatingAirline": {
                "code": "HHR",
                "flightNumber": "1132"
              },
              "resBookDesigCode": "Y"
            }
          ]
        }
      ]
    }
  },
  "travelerInfo": {
    "airTraveler": [
      {
        "passengerTypeCode": "CTC",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "BARAA"
          ]
        },
        "email": [
          {
            "value": "contact@example.com"
          }
        ]
      },
      {
        "passengerTypeCode": "ADT",
        "gender": "Male",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "BARAA"
          ],
          "namePrefix": [
            "MR"
          ]
        },
        "email": [
          {
            "value": "traveler1@example.com"
          }
        ],
        "telephone": [
          {
            "countryAccessCode": "966",
            "phoneNumber": "512345678"
          }
        ],
        "document": [
          {
            "docID": "1234567890",
            "docType": "5",
            "birthDate": "1990-01-01",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          }
        ],
        "flightSegmentRPHs": {
          "flightSegmentRPH": [
            "1"
          ]
        },
        "travelerRefNumber": {
          "rph": "1"
        }
      },
      {
        "passengerTypeCode": "ADT",
        "gender": "Female",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "SARA"
          ],
          "namePrefix": [
            "MRS"
          ]
        },
        "email": [
          {
            "value": "traveler2@example.com"
          }
        ],
        "telephone": [
          {
            "countryAccessCode": "966",
            "phoneNumber": "512345679"
          }
        ],
        "document": [
          {
            "docID": "1234567891",
            "docType": "5",
            "birthDate": "1992-06-15",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          }
        ],
        "flightSegmentRPHs": {
          "flightSegmentRPH": [
            "1"
          ]
        },
        "travelerRefNumber": {
          "rph": "2"
        }
      }
    ]
  }
}
```

**Response**

```json
{
  "success": {},
  "airReservation": {
    "bookingReferenceID": [
      {
        "companyName": {
          "code": "W1"
        },
        "id": "8FQQ4A",
        "type": "14"
      },
      {
        "companyName": {
          "code": "HHR"
        },
        "id": "CB0255134",
        "type": "14"
      }
    ],
    "priceInfo": {
      "fareInfos": {
        "fareInfo": [
          {
            "ruleInfo": {
              "tpaextensions": {
                "confirmationTimeLimit": "2026-05-11T10:49:00Z",
                "updateTravellersTimeLimit": "2026-05-11T10:20:00Z"
              }
            }
          }
        ]
      }
    },
    "ticketing": [
      {
        "flightSegmentRefNumber": [
          "1"
        ],
        "ticketTimeLimit": "2026-05-11T14:03:09.000+03:00",
        "ticketType": "E_TICKET"
      }
    ]
  },
  "timeStamp": "2026-05-01T09:20:11.004Z",
  "version": 2.001
}
```

**SDK Code**

```python
import requests

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

payload = {
    "pos": { "source": [
            {
                "isocurrency": "SAR",
                "requestorID": {
                    "id": "AGENT001",
                    "name": "Sample Travel",
                    "type": "5"
                },
                "bookingChannel": { "type": "OTA" }
            }
        ] },
    "version": "2.001",
    "airItinerary": { "originDestinationOptions": { "originDestinationOption": [{ "flightSegment": [
                        {
                            "rph": "1",
                            "status": "30",
                            "flightNumber": "1132",
                            "fareBasisCode": "EWTOWI",
                            "departureAirport": { "locationCode": "MKX" },
                            "arrivalAirport": { "locationCode": "DMX" },
                            "departureDateTime": "2026-05-14T13:20:00.000+03:00",
                            "arrivalDateTime": "2026-05-14T15:40:00.000+03:00",
                            "marketingAirline": { "code": "HHR" },
                            "operatingAirline": {
                                "code": "HHR",
                                "flightNumber": "1132"
                            },
                            "resBookDesigCode": "Y"
                        }
                    ] }] } },
    "travelerInfo": { "airTraveler": [
            {
                "passengerTypeCode": "CTC",
                "personName": {
                    "surname": "BUKHARI",
                    "givenName": ["BARAA"]
                },
                "email": [{ "value": "contact@example.com" }]
            },
            {
                "passengerTypeCode": "ADT",
                "gender": "Male",
                "personName": {
                    "surname": "BUKHARI",
                    "givenName": ["BARAA"],
                    "namePrefix": ["MR"]
                },
                "email": [{ "value": "traveler1@example.com" }],
                "telephone": [
                    {
                        "countryAccessCode": "966",
                        "phoneNumber": "512345678"
                    }
                ],
                "document": [
                    {
                        "docID": "1234567890",
                        "docType": "5",
                        "birthDate": "1990-01-01",
                        "expireDate": "2030-12-31",
                        "docHolderNationality": "SA"
                    }
                ],
                "flightSegmentRPHs": { "flightSegmentRPH": ["1"] },
                "travelerRefNumber": { "rph": "1" }
            },
            {
                "passengerTypeCode": "ADT",
                "gender": "Female",
                "personName": {
                    "surname": "BUKHARI",
                    "givenName": ["SARA"],
                    "namePrefix": ["MRS"]
                },
                "email": [{ "value": "traveler2@example.com" }],
                "telephone": [
                    {
                        "countryAccessCode": "966",
                        "phoneNumber": "512345679"
                    }
                ],
                "document": [
                    {
                        "docID": "1234567891",
                        "docType": "5",
                        "birthDate": "1992-06-15",
                        "expireDate": "2030-12-31",
                        "docHolderNationality": "SA"
                    }
                ],
                "flightSegmentRPHs": { "flightSegmentRPH": ["1"] },
                "travelerRefNumber": { "rph": "2" }
            }
        ] }
}
headers = {
    "local-name": "OTA_AirBookRQ",
    "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_AirBookRQ';
const options = {
  method: 'POST',
  headers: {
    'local-name': 'OTA_AirBookRQ',
    '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","airItinerary":{"originDestinationOptions":{"originDestinationOption":[{"flightSegment":[{"rph":"1","status":"30","flightNumber":"1132","fareBasisCode":"EWTOWI","departureAirport":{"locationCode":"MKX"},"arrivalAirport":{"locationCode":"DMX"},"departureDateTime":"2026-05-14T13:20:00.000+03:00","arrivalDateTime":"2026-05-14T15:40:00.000+03:00","marketingAirline":{"code":"HHR"},"operatingAirline":{"code":"HHR","flightNumber":"1132"},"resBookDesigCode":"Y"}]}]}},"travelerInfo":{"airTraveler":[{"passengerTypeCode":"CTC","personName":{"surname":"BUKHARI","givenName":["BARAA"]},"email":[{"value":"contact@example.com"}]},{"passengerTypeCode":"ADT","gender":"Male","personName":{"surname":"BUKHARI","givenName":["BARAA"],"namePrefix":["MR"]},"email":[{"value":"traveler1@example.com"}],"telephone":[{"countryAccessCode":"966","phoneNumber":"512345678"}],"document":[{"docID":"1234567890","docType":"5","birthDate":"1990-01-01","expireDate":"2030-12-31","docHolderNationality":"SA"}],"flightSegmentRPHs":{"flightSegmentRPH":["1"]},"travelerRefNumber":{"rph":"1"}},{"passengerTypeCode":"ADT","gender":"Female","personName":{"surname":"BUKHARI","givenName":["SARA"],"namePrefix":["MRS"]},"email":[{"value":"traveler2@example.com"}],"telephone":[{"countryAccessCode":"966","phoneNumber":"512345679"}],"document":[{"docID":"1234567891","docType":"5","birthDate":"1992-06-15","expireDate":"2030-12-31","docHolderNationality":"SA"}],"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_AirBookRQ"

	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  \"airItinerary\": {\n    \"originDestinationOptions\": {\n      \"originDestinationOption\": [\n        {\n          \"flightSegment\": [\n            {\n              \"rph\": \"1\",\n              \"status\": \"30\",\n              \"flightNumber\": \"1132\",\n              \"fareBasisCode\": \"EWTOWI\",\n              \"departureAirport\": {\n                \"locationCode\": \"MKX\"\n              },\n              \"arrivalAirport\": {\n                \"locationCode\": \"DMX\"\n              },\n              \"departureDateTime\": \"2026-05-14T13:20:00.000+03:00\",\n              \"arrivalDateTime\": \"2026-05-14T15:40:00.000+03:00\",\n              \"marketingAirline\": {\n                \"code\": \"HHR\"\n              },\n              \"operatingAirline\": {\n                \"code\": \"HHR\",\n                \"flightNumber\": \"1132\"\n              },\n              \"resBookDesigCode\": \"Y\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"travelerInfo\": {\n    \"airTraveler\": [\n      {\n        \"passengerTypeCode\": \"CTC\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"contact@example.com\"\n          }\n        ]\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Male\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ],\n          \"namePrefix\": [\n            \"MR\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler1@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345678\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567890\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1990-01-01\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"1\"\n        }\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Female\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"SARA\"\n          ],\n          \"namePrefix\": [\n            \"MRS\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler2@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345679\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567891\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1992-06-15\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"2\"\n        }\n      }\n    ]\n  }\n}")

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

	req.Header.Add("local-name", "OTA_AirBookRQ")
	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_AirBookRQ")

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

request = Net::HTTP::Post.new(url)
request["local-name"] = 'OTA_AirBookRQ'
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  \"airItinerary\": {\n    \"originDestinationOptions\": {\n      \"originDestinationOption\": [\n        {\n          \"flightSegment\": [\n            {\n              \"rph\": \"1\",\n              \"status\": \"30\",\n              \"flightNumber\": \"1132\",\n              \"fareBasisCode\": \"EWTOWI\",\n              \"departureAirport\": {\n                \"locationCode\": \"MKX\"\n              },\n              \"arrivalAirport\": {\n                \"locationCode\": \"DMX\"\n              },\n              \"departureDateTime\": \"2026-05-14T13:20:00.000+03:00\",\n              \"arrivalDateTime\": \"2026-05-14T15:40:00.000+03:00\",\n              \"marketingAirline\": {\n                \"code\": \"HHR\"\n              },\n              \"operatingAirline\": {\n                \"code\": \"HHR\",\n                \"flightNumber\": \"1132\"\n              },\n              \"resBookDesigCode\": \"Y\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"travelerInfo\": {\n    \"airTraveler\": [\n      {\n        \"passengerTypeCode\": \"CTC\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"contact@example.com\"\n          }\n        ]\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Male\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ],\n          \"namePrefix\": [\n            \"MR\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler1@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345678\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567890\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1990-01-01\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"1\"\n        }\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Female\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"SARA\"\n          ],\n          \"namePrefix\": [\n            \"MRS\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler2@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345679\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567891\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1992-06-15\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"2\"\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_AirBookRQ")
  .header("local-name", "OTA_AirBookRQ")
  .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  \"airItinerary\": {\n    \"originDestinationOptions\": {\n      \"originDestinationOption\": [\n        {\n          \"flightSegment\": [\n            {\n              \"rph\": \"1\",\n              \"status\": \"30\",\n              \"flightNumber\": \"1132\",\n              \"fareBasisCode\": \"EWTOWI\",\n              \"departureAirport\": {\n                \"locationCode\": \"MKX\"\n              },\n              \"arrivalAirport\": {\n                \"locationCode\": \"DMX\"\n              },\n              \"departureDateTime\": \"2026-05-14T13:20:00.000+03:00\",\n              \"arrivalDateTime\": \"2026-05-14T15:40:00.000+03:00\",\n              \"marketingAirline\": {\n                \"code\": \"HHR\"\n              },\n              \"operatingAirline\": {\n                \"code\": \"HHR\",\n                \"flightNumber\": \"1132\"\n              },\n              \"resBookDesigCode\": \"Y\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"travelerInfo\": {\n    \"airTraveler\": [\n      {\n        \"passengerTypeCode\": \"CTC\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"contact@example.com\"\n          }\n        ]\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Male\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ],\n          \"namePrefix\": [\n            \"MR\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler1@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345678\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567890\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1990-01-01\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"1\"\n        }\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Female\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"SARA\"\n          ],\n          \"namePrefix\": [\n            \"MRS\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler2@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345679\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567891\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1992-06-15\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"2\"\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_AirBookRQ', [
  'body' => '{
  "pos": {
    "source": [
      {
        "isocurrency": "SAR",
        "requestorID": {
          "id": "AGENT001",
          "name": "Sample Travel",
          "type": "5"
        },
        "bookingChannel": {
          "type": "OTA"
        }
      }
    ]
  },
  "version": "2.001",
  "airItinerary": {
    "originDestinationOptions": {
      "originDestinationOption": [
        {
          "flightSegment": [
            {
              "rph": "1",
              "status": "30",
              "flightNumber": "1132",
              "fareBasisCode": "EWTOWI",
              "departureAirport": {
                "locationCode": "MKX"
              },
              "arrivalAirport": {
                "locationCode": "DMX"
              },
              "departureDateTime": "2026-05-14T13:20:00.000+03:00",
              "arrivalDateTime": "2026-05-14T15:40:00.000+03:00",
              "marketingAirline": {
                "code": "HHR"
              },
              "operatingAirline": {
                "code": "HHR",
                "flightNumber": "1132"
              },
              "resBookDesigCode": "Y"
            }
          ]
        }
      ]
    }
  },
  "travelerInfo": {
    "airTraveler": [
      {
        "passengerTypeCode": "CTC",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "BARAA"
          ]
        },
        "email": [
          {
            "value": "contact@example.com"
          }
        ]
      },
      {
        "passengerTypeCode": "ADT",
        "gender": "Male",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "BARAA"
          ],
          "namePrefix": [
            "MR"
          ]
        },
        "email": [
          {
            "value": "traveler1@example.com"
          }
        ],
        "telephone": [
          {
            "countryAccessCode": "966",
            "phoneNumber": "512345678"
          }
        ],
        "document": [
          {
            "docID": "1234567890",
            "docType": "5",
            "birthDate": "1990-01-01",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          }
        ],
        "flightSegmentRPHs": {
          "flightSegmentRPH": [
            "1"
          ]
        },
        "travelerRefNumber": {
          "rph": "1"
        }
      },
      {
        "passengerTypeCode": "ADT",
        "gender": "Female",
        "personName": {
          "surname": "BUKHARI",
          "givenName": [
            "SARA"
          ],
          "namePrefix": [
            "MRS"
          ]
        },
        "email": [
          {
            "value": "traveler2@example.com"
          }
        ],
        "telephone": [
          {
            "countryAccessCode": "966",
            "phoneNumber": "512345679"
          }
        ],
        "document": [
          {
            "docID": "1234567891",
            "docType": "5",
            "birthDate": "1992-06-15",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          }
        ],
        "flightSegmentRPHs": {
          "flightSegmentRPH": [
            "1"
          ]
        },
        "travelerRefNumber": {
          "rph": "2"
        }
      }
    ]
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'local-name' => 'OTA_AirBookRQ',
    '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_AirBookRQ");
var request = new RestRequest(Method.POST);
request.AddHeader("local-name", "OTA_AirBookRQ");
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  \"airItinerary\": {\n    \"originDestinationOptions\": {\n      \"originDestinationOption\": [\n        {\n          \"flightSegment\": [\n            {\n              \"rph\": \"1\",\n              \"status\": \"30\",\n              \"flightNumber\": \"1132\",\n              \"fareBasisCode\": \"EWTOWI\",\n              \"departureAirport\": {\n                \"locationCode\": \"MKX\"\n              },\n              \"arrivalAirport\": {\n                \"locationCode\": \"DMX\"\n              },\n              \"departureDateTime\": \"2026-05-14T13:20:00.000+03:00\",\n              \"arrivalDateTime\": \"2026-05-14T15:40:00.000+03:00\",\n              \"marketingAirline\": {\n                \"code\": \"HHR\"\n              },\n              \"operatingAirline\": {\n                \"code\": \"HHR\",\n                \"flightNumber\": \"1132\"\n              },\n              \"resBookDesigCode\": \"Y\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"travelerInfo\": {\n    \"airTraveler\": [\n      {\n        \"passengerTypeCode\": \"CTC\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"contact@example.com\"\n          }\n        ]\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Male\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"BARAA\"\n          ],\n          \"namePrefix\": [\n            \"MR\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler1@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345678\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567890\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1990-01-01\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"1\"\n        }\n      },\n      {\n        \"passengerTypeCode\": \"ADT\",\n        \"gender\": \"Female\",\n        \"personName\": {\n          \"surname\": \"BUKHARI\",\n          \"givenName\": [\n            \"SARA\"\n          ],\n          \"namePrefix\": [\n            \"MRS\"\n          ]\n        },\n        \"email\": [\n          {\n            \"value\": \"traveler2@example.com\"\n          }\n        ],\n        \"telephone\": [\n          {\n            \"countryAccessCode\": \"966\",\n            \"phoneNumber\": \"512345679\"\n          }\n        ],\n        \"document\": [\n          {\n            \"docID\": \"1234567891\",\n            \"docType\": \"5\",\n            \"birthDate\": \"1992-06-15\",\n            \"expireDate\": \"2030-12-31\",\n            \"docHolderNationality\": \"SA\"\n          }\n        ],\n        \"flightSegmentRPHs\": {\n          \"flightSegmentRPH\": [\n            \"1\"\n          ]\n        },\n        \"travelerRefNumber\": {\n          \"rph\": \"2\"\n        }\n      }\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "local-name": "OTA_AirBookRQ",
  "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",
  "airItinerary": ["originDestinationOptions": ["originDestinationOption": [["flightSegment": [
            [
              "rph": "1",
              "status": "30",
              "flightNumber": "1132",
              "fareBasisCode": "EWTOWI",
              "departureAirport": ["locationCode": "MKX"],
              "arrivalAirport": ["locationCode": "DMX"],
              "departureDateTime": "2026-05-14T13:20:00.000+03:00",
              "arrivalDateTime": "2026-05-14T15:40:00.000+03:00",
              "marketingAirline": ["code": "HHR"],
              "operatingAirline": [
                "code": "HHR",
                "flightNumber": "1132"
              ],
              "resBookDesigCode": "Y"
            ]
          ]]]]],
  "travelerInfo": ["airTraveler": [
      [
        "passengerTypeCode": "CTC",
        "personName": [
          "surname": "BUKHARI",
          "givenName": ["BARAA"]
        ],
        "email": [["value": "contact@example.com"]]
      ],
      [
        "passengerTypeCode": "ADT",
        "gender": "Male",
        "personName": [
          "surname": "BUKHARI",
          "givenName": ["BARAA"],
          "namePrefix": ["MR"]
        ],
        "email": [["value": "traveler1@example.com"]],
        "telephone": [
          [
            "countryAccessCode": "966",
            "phoneNumber": "512345678"
          ]
        ],
        "document": [
          [
            "docID": "1234567890",
            "docType": "5",
            "birthDate": "1990-01-01",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          ]
        ],
        "flightSegmentRPHs": ["flightSegmentRPH": ["1"]],
        "travelerRefNumber": ["rph": "1"]
      ],
      [
        "passengerTypeCode": "ADT",
        "gender": "Female",
        "personName": [
          "surname": "BUKHARI",
          "givenName": ["SARA"],
          "namePrefix": ["MRS"]
        ],
        "email": [["value": "traveler2@example.com"]],
        "telephone": [
          [
            "countryAccessCode": "966",
            "phoneNumber": "512345679"
          ]
        ],
        "document": [
          [
            "docID": "1234567891",
            "docType": "5",
            "birthDate": "1992-06-15",
            "expireDate": "2030-12-31",
            "docHolderNationality": "SA"
          ]
        ],
        "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_AirBookRQ")! 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()
```