Rail Booking Actions
RailCreateReservationReq @BookingActionType
UniversalRecordModifyReq/UniversalModifyCmd/RailUpdate/BookingAction
BookingActionType supports four values:
- Initiate can be used for hold (provisional) bookings that are not finalized or ticketed. Initiate is the default type if no Form of Payment value is sent in the Rail Booking request.
- Final does not issue a ticket, but the passenger is charged and may receive a travel document by email or kiosk, depending on the supplier.
- FinalTicket creates the booking and issues the ticket at the same time. FinalTicket is used for all ticket types. Depending on the FulfillmentType value in the request, an email is sent to the passenger. FinalTicket is the default status is a FormOfPayment value is included in the request.
- Ticket issues the ticket. A previous Booking Action type of Final is required, so tickets must be issued for an existing booking through UniversalRecordModifyReq, and cannot be issued through RailCreateReservationReq.
The default status of these types may vary depending on the other data included or excluded from in the Rail Booking request. Requirements for specific booking action types varies by supplier.
A rail segment can change booking action status during the course of the reservation process. Specific data must also be included or excluded for various types of statuses. The following table shows the relationship between the booking action types, the included or excluded booking data, and the resulting booking status.

BookingActionType |
Prior BookingActionType | Price Data (RailPricingInfo) |
FormOfPayment (FOP) |
BookingStatus |
---|---|---|---|---|
Initiate
|
None (new booking) |
Required for standard Rail Booking. Not required for Direct Booking. |
Optional. Generic: Defaults to Initiate status if no FOP is included. Optional for a specific Fulfillment Type only. Processing varies by supplier. See Exceptions. |
Initiate RCS always returns a Last Hold Date, if returned by the supplier. Support the Initiate status varies by supplier. See Exceptions.
|
Final |
Initiate: Must include ProviderReservationInfo ProviderCode and LocatorCode. OR None (new booking) |
Required for a new booking. Not required if ProviderReservationInfo ProviderCode and LocatorCode are included in the request. |
Required. |
Ticketed RCS may return a Last Hold Date, if returned by the supplier. Used for all ticket types. Travel documents may be issued, depending on the supplier. See Exceptions. |
FinalTicket (Default status if a Form of Payment is sent.) |
Initiate: Must include ProviderReservationInfo/ OR None (new booking) An error is returned if the booking has a Cancelled, Unknown, or Exchange status. |
Required for a new booking. Not required if ProviderReservationInfo ProviderCode and LocatorCode are included in the request. |
Required for a new or Initiate booking only. |
Ticketed RCS may remove the Last Hold Date, if applicable. Travel documents may be issued, depending on the supplier. See Exceptions. Amtrak (2V) returns a Final booking status. See Exceptions. |
Ticket |
Final only: Must include ProviderReservationInfo ProviderCode and LocatorCode. |
Not required. |
Ignored. |
Ticketed Travel documents may be issued, depending on the supplier. See Exceptions. |
Exceptions

- If a FormOfPayment value is sent in an Initiate Rail Booking request, the form of payment is ignored.
- If the Booking Action Type is set to FinalTicket, Amtrak currently returns Final booking status rather than a Ticketed status in the booking response.
- Amtrak does not issue a travel document for Final bookings. Travel documents are not issued until a FinalTicket or Ticket Booking Action type is set for the reservation.