The Digital Seat: UIC Leaflet 170 Reservation Systems
The invisible clerk. A technical guide to UIC Leaflet 170, defining the functional rules and data logic for reserving seats and sleepers in international railway traffic.

Introduction to UIC Leaflet 170
When you buy a ticket from Paris to Berlin, you expect your seat reservation to be valid on both the French TGV and the German ICE. You assume the system will not double-book your seat or put you in a smoking compartment (historically). Behind this seamless transaction lies UIC Leaflet 170, titled “Reservation of accommodation in passenger trains – Technical Specification.”
Before the internet, reservations were made via phone or telex. UIC 170 was created to digitize this process, establishing the Electronic Place Assignment (EPA) system. It defines the common language that allows the computer in Frankfurt (DB) to talk to the computer in Rome (Trenitalia) and “lock” a specific seat on a specific date.
Snippet Definition: What is UIC 170?
UIC Leaflet 170 is a technical specification regulating the electronic reservation of accommodation (seats, couchettes, and sleepers) in international rail traffic. It defines the functional requirements for inventory systems, the structure of reservation requests (train number, date, class, accommodation type), and the rules for allocation (e.g., family compartments, group bookings). It serves as the functional logic layer underpinning the data exchange standards defined in the UIC 918 series.
Key Functional Concepts
UIC 170 dictates how a reservation system “thinks.”
1. The Request Structure
To book a seat, the requesting system (the distributor) must send a strictly formatted query to the inventory system (the carrier). UIC 170 defines the mandatory fields:
- Relation: Departure and Arrival stations (using UIC station codes).
- Train & Date: The specific train number.
- Accommodation Code: What are you booking? (e.g., `A` = Seat 1st Class, `B` = Seat 2nd Class, `C` = Couchette, `S` = Sleeper).
- Attributes: Window/Aisle, Table, Solo/Duo.
2. The Allocation Logic
How does the system choose which seat to give? UIC 170 outlines standard algorithms:
- Contiguity: If a family of 4 books, the system must try to put them in adjacent seats (e.g., seats 11, 12, 13, 14) or a generic compartment.
- Coach Filling Strategy: Should the system fill one coach completely before opening the next (efficient for cleaning), or spread passengers out (better comfort)?
3. The Reference Number
Every successful booking generates a unique Reservation Reference (often 6 letters/digits). UIC 170 specifies the format of this “PNR” so that it can be retrieved by any conductor with a handheld terminal.
Relation to Seat Numbering (UIC 171)
UIC 170 relies on the physical numbering rules defined in the companion leaflet, UIC 171.
- The Standard Grid: In most European trains, seat numbers follow a logic where the last digit indicates the position.
- x1, x2: Window seats (FenĂȘtre).
- x5, x6: Aisle seats (Couloir).
- UIC 170 uses this logic to interpret a request for “Window Seat” and return “Seat 41.”
Comparison: UIC 170 vs. UIC 918
It is important to distinguish the “Business Rules” from the “IT Protocol.”
| Feature | UIC Leaflet 170 | UIC Leaflet 918 (Series) |
|---|---|---|
| Role | Functional Specification: Defines what needs to happen (e.g., “Book a window seat”). | Technical Specification: Defines how the data is sent (e.g., XML tags, EDIFACT segments, TCP/IP ports). |
| User | Business Analysts / Product Managers. | Software Engineers / System Architects. |
| Modern Context | Defines the business logic behind TAP-TSI. | Defines the actual data payload for TAP-TSI. |
Operational Relevance
Quotas and Contingents: UIC 170 allows an operator to allocate a block of seats to a foreign partner (e.g., “SNCF gets 50 seats on this DB train to sell freely”). This “Allocated Contingent” mechanism allows sales to happen even if the central server is offline, a critical redundancy feature defined in the leaflet.




