BeNe (BN) Carrier Requirements

For Universal API developers that develop code for rail carriers, some carriers require a specific process to become certified on their system.

BeNe

When implementing BeNe, there are slight differences than with other rail API-connected carriers. Below is a list of what’s different for BeNe, as well as tips when starting your development:

BeNe content, through Universal API, has Benelux-only sales and distribution restrictions, does have a carrier certification process to follow, and also has a Look-to-Book requirement.

Note: With BN, Eurostar content, as well as many international SNCF trains, may be available.

When developing for BeNe content:

  1. The first RailAvailabilitySearchReq has no train segment. If the request includes ResponseType, ensure ResponseType="Availability". ResponseType=”Fares” is used when the request is for specific train segments. There are three settings for RailAvailabilityRequest:
    1. RequestType="Availability" - this is the default if the RailAvailabilitySearchReq does not include a ResponseType and does not include train segments.
    2. RequestType="Schedules".
    3. RequestType="Fares" – this is the default if the RailAvailabilitySearchReq does not include a ResponseType but includes train segments.
  2. The second rail availability call is optional, and typically is used to request fares for specific trains (e.g., RequestType="Fares"). If it's used for specifying a train segment, the default is "Fares."
  3. To build your book call, begin by choosing the correct RailPricingSolution from the RailAvailabilityRsp and add it in to the RailCreateReservationReq. For example:

    <rail:RailPricingSolution Key="tzcQ2DWrTGG10Yo33k44GQ==" OfferId="29" TotalPrice="GBP110.00" ApproximateTotalPrice="GBP110.00" ProviderCode="RCS" SupplierCode="TL" HostTokenRef="fe0a7f56-c696-4ba1-a9ba-c51802d2fad3" Reference="SA">
    <rail:RailJourneyRef Key="5+Pog03TR7y9G/j1vRhnnQ=="/>
    <rail:RailPricingInfo Key="aGja7MaZTQOKyBz2+tVFWA==" TotalPrice="GBP110.00" ApproximateTotalPrice="GBP110.00">
    <rail:RailFareRef Key="I8OxAuUeQk2ytTPnmGinww=="/>
    <rail:RailBookingInfo RailFareRef="I8OxAuUeQk2ytTPnmGinww==" RailJourneyRef="5+Pog03TR7y9G/j1vRhnnQ=="/>
    <rail:PassengerType Code="ADT" Age="34"/>
    </rail:RailPricingInfo>
    </rail:RailPricingSolution>

  4. Complete any Ref data that with the actual element to which it points. Replace:
    1. RailJourneyRef with RailJourney.
      • The RailSegmentRef under RailJourney must be replaced with the RailSegment:
        <rail:RailSegmentRef Key="jKC9ePAHQa2/KpSb8tV+aw=="/>
    2. RailFareKey with RailFare.
    3. The RailFareNoteRef and RailFareIDRef are optional, and can be removed:
      <rail:RailFareNoteRef Key="OlasB2RKRIu7VdbJz+gTaw=="/>
      <rail:RailFareIDRef Key="CsgbPGs8Tz2Ajt4zda4q1w=="/>
  5. Ensure the settings are correct based on what the carrier accepts:
    1. FormOfPayment Type: BN only accepts DirectBill (which is like an Agency form of payment):
      com:FormOfPayment Type="DirectBill" Key="LO+7YhXOFrqq+S0pndtqrA==" FulfillmentType="Ticket on Departure
    2. FulfillmentType: Ticket on Departure, Travel Agency, Train Station Service Desk, Digital Printing of Ticket at Home, Retrieve Ticket at Eurostar in London, Corporate Kiosk, Ticket by Email:
      • <com:FormOfPayment Type="DirectBill" Key="LO+7YhXOFrqq+S0pndtqrA==" FulfillmentType="Ticket on Departure">
      • Removing the multiple FulfillmentType elements from either the RailSegment or the RailFare is optional, because Universal API only keys off of what is sent in the FormOfPayment element.

      • If Corporate Kiosk is used, it will default to 'Ticket on Departure' at the carrier.
    3. BookingAction: BN accepts BookingActionType="Final", "FinalTicket", and "Initiate" in the root of the RailCreateReservationReq.
    4. Payment Type: this attribute is required, and all enumerated values in the schema are accepted for BN:

      • <com:Payment Type="Itinerary" BookingTravelerRef="LO+6XgYQTrqq+S0pndtprA==" ApproximateAmount="GBP110.00" FormOfPaymentRef="LO+7YhXOFrqq+S0pndtqrA==" Amount="GBP110.00" Key="Mtks1xNNOmuJdFRvCybKxg=="/>

Rail Exchange

Rail.xsd enables the RailExchangeQuoteReq and RailExchangeReq transactions for BeNe through Universal API.

Users can indicate whether to add/modify/cancel rail journeys through the new RailPricingSolution and RailExchangeSolution element, specifically in the @Operation attribute.