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

# Paying with the wallet

You pay for tickets from a pre-funded wallet, a debit account you top up ahead of time. When you issue tickets, the fare comes out of the balance. Keep the balance high enough to cover the bookings you plan to ticket.

## Issuing tickets

Call `OTA_AirDemandTicketRQ` with the W1 record locator and `paymentType` `4`, which is the wallet.

```json
{
  "version": "2.001",
  "pos": {
    "source": [
      {
        "isocurrency": "SAR",
        "requestorID": { "id": "AGENT001", "name": "Sample Travel", "type": "4" },
        "bookingChannel": { "type": "OTA" }
      }
    ]
  },
  "demandTicketDetail": {
    "messageFunction": [{ "function": "ET" }],
    "bookingReferenceID": { "id": "N6G2NW", "type": "14", "companyName": { "code": "W1" } },
    "paymentInfo": [
      { "paymentType": "4", "creditCardInfo": [{ "cardHolderName": "Sample Travel" }] }
    ]
  }
}
```

The response returns a ticket number, `totalAmount`, and `netAmount` for each passenger.

## Payment types

Ticketing draws from the wallet with type `4`. The full list of payment types:

| Type | Means                  |
| ---- | ---------------------- |
| `4`  | Debit account (wallet) |

Ticket before the ticketing time limit. If you miss it, the seats are released or the booking being invalid. See [Time limits](/time-limits).