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

# Booking models

There are two ways to create a booking. Which one you use comes down to a single question: do you already have the passengers' names?

## Individual booking

Use `OTA_AirBookRQ` when you know who is traveling. Send full passenger data for up to 10 travelers in one booking. Each traveler needs a name, a document, and the segments they ride. You also send one CTC contact passenger for the booking.

The response returns the W1 record locator and the booking's time limits. From here you [pay and issue](/paying-with-the-wallet) the tickets.

## Group booking

Use `OTA_AirPriceRQ` when the names are not ready yet. Send passenger counts by type instead of names, plus one CTC contact passenger. The response returns a `quoteID` and the W1 record locator, which holds the seats.

Add the passengers and issue the tickets **no later than 72 hours before departure**. This deadline is tied to the train, not to when you created the booking. Book weeks ahead and you still have until 72 hours before it leaves. Miss the deadline and the booking is released. See [Time limits](/time-limits) for the full set of deadlines.

## The CTC contact passenger

Both models require a CTC contact passenger. This is the person the railway contacts about the booking, and it carries the email that receives the tickets and any cancellation notice. The CTC passenger is separate from the travelers and does not take a seat.

## Which one to reach for

#### Individual booking

Names known. Up to 10 passengers. Full data up front with `OTA_AirBookRQ`.

#### Group booking

Names not ready. Hold seats with counts using `OTA_AirPriceRQ`, then add names before the 72-hour deadline.