Skip to main content

Content Services Rail Prebook

Try now

What is it?

This method is used to create a new order within the Rail vendor system with a status of "on hold". This is the first step in the booking process, and signifies that the order has not been paid for yet.

Orders created are based on the offers provided in the request and additional details needed for further fulfillment.

Note: The final price for the order is returned during this step.

Why use it?

Use this method to reserve selected offers in the Rail vendor system without the need to pay. This allows you to ensure the final price of the order is correct before payment, as reservations made using this method only last for a limited time.

How it works?

  1. Send a request to the Rail vendor system with selected offers (generated from the /offers methods), delivery details, and fulfillment criteria (including the passenger's information) to create an order.
  2. An order id created by the vendor system is returned for further processing.
  3. An "on hold" status is placed on the order. Payment has not yet been processed, and tickets have not been generated.


  • "on hold" time limits are established by Rail vendors. These limits can differ depending on products booked, and in some cases, may be very short (15 minutes, for example).
  • "on hold" orders can be confirmed with the Book method POST /v1/rail/orders/{marketingCarrierCode}/{orderId}/salesContract.
  • If the order is not confirmed when the "on hold" time limit passes, it is automatically canceled in the Rail vendor system.
  • Orders may be canceled on demand with the Cancel method DELETE /v1/rail/orders/{marketingCarrierCode}/{orderId}. This is only for orders with an "on hold" status.

How to use?


POST /v1/rail/orders/{marketingCarrierCode}


Provide selected offers, delivery details, and fulfillment criteria (including passenger and contact information).


Returns a newly created orderId. To review the current status of the order, refer to the GET /v1/rail/orders/{marketingCarrierCode}/{orderId} method.