Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

View file
nameAmtrak Via Rail Service_20Sept23.pdf

To download above documents:

  • Click on desired document to open it. Then, click on the cloud symbol in the top right corner of your screen to download, save, or print.

Overview

The train travel service is integrated with the online travel booking process. It lets you set up spending policies, and guides users to appropriate train options. Tickets can be picked up at a station kiosk or emailed. 

Table of Contents

Benefits and Need to Know

Benefits and Need to Know

Benefits

  • Rail passive segments can be passed through to the global distribution system (GDS).

    • Note: Amadeus functionality does not currently support GDS write back of rail segments.

 
    • If rail is enabled on an Amadeus site, the reservation is only viewable online; no GDS PNR is created.

Add configuration to
  • If rail is configured on your Template site,

as
  • the configuration will clone over to all new sites

You
  • .

    • If the client does not require rail services, you can disable rail by unchecking rail within each

Travel Service Rule

Agency Settings Configuration

...

Accessing Agency Settings

...

Agency Setting configurations will clone over to your template site.

  • Click on Services tab

  • Click on Travel Agency

...

  • Click on Agency Settings

...

  • Click on current Agency Setting

...

  • Sales Location: If a Canadian airport code is entered, then it is Canada’s Via Rail train service that will be offered

...

Note: Please open Deem Support Case if this is the first time setting up Rail Services. As Deem will need to obtain the following information from SilverRail.

  • You can have one SilverRail contract for your entire Agency to apply to your client sites if the client is not booking rail with a Corporate Site Card.

  • If Client will use a Corporate Site card for rail services you will need to open a Deem Support Case.  Deem will need to notify Silverrail and they will provide Identifiers listed below. 

  • Channel: 

    • Enter the Deem-supplied Channel code (all capital letters). 

      • Contact your Deem representative if you did not receive this code

  • Agency Identifier:

    • Enter the Deem-supplied Agency Identifier (all capital letters). 

      • Contact your Deem representative if you did not receive this identifier.

  • Customer Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters)

      • Contact your Deem representative if you did not receive this identifier, which defines a specific customer and is created during implementation. The field is used for reporting only.

  • Agency Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters)

      • Contact your Deem representative if you did not receive this identifier, which defines a specific customer and is created during implementation.

  • Customer Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters)

    • Contact your Deem representative if you did not receive this identifier, which defines a specific customer and is created during implementation.

  • Client ID Number:

    • Enter the number to be used when optional reporting is required.

  • Customer DK Number:

    • Enter the number to be used when optional reporting is needed.

...

Via Rail Specific Support: Follow these steps:

  • Add passive train segment to primary GDS?:

    • Select Yes or No

      • A passive segment is a set of trip information entered into the GDS that does not cause a ticket to be issued by the GDS. For example, a traveler may be taking a train between cities, and although you do not use the GDS to issue the train ticket, you may want all of the trip information to be in one place for the traveler's benefit, and so that agents can generate itineraries or make notes. 

        • By default, no information is saved in the GDS unless you select Yes. 

          • See below for examples of passive segments

  • Message for Train support procedure and phone numbers: 

    • Enter the message to appear to the traveler on the purchase page and on confirmation messages.

      • Note: Do not include HTML tags or travel lingo

  • Train support phone number for mobile client:

    • Enter the phone number to appear in the mobile client if the number is different from other support numbers

  • Scroll to the bottom and click Save

Private Rate Configuration

...

Breakdown

...

Steps to Configure

...

Please take the following steps if your client or TMC has a private rate with Via

  • Click on Service Tab

  • Click on Private Rates

...

  • Click on Train Rates

...

  • Click on Add a New Train Private Rate

...

  • Check box to the left of Activate this private rate

  • Private Rate Name: Enter Name

    • Example: Via Rail Private Rate

  • Enter the effective date range for this rate record: Not required, you can leave blank unless your client has a specific start and end date for their private rate.

  • Select a train carrier: Select Via Rail Canada from dropdown menu

  • Discount Code: Enter Customer or TMC Via Rail Discount Code

  • Click Save

...

  • Click on Back to Private Rates:

...

  • Click on Add A New Train Private Rate Set

...

  • Private Rate Set Name: Enter Name of Rate

    • Example: Via Rail Private Rate

  • Click Add Rates

...

  • Click on radio button to the left of the rate you would like to add to the set

  • Click Ok

...

  • Click Save

...

...

Commit Changes and Test

...

Be sure to commit all changes you have completed during this configuration.

  • Click Changes not applied in the upper right hand corner

...

  • Click on Commit

...

  • Success message will be displayed

...

  • Now Test to ensure you are seeing rail bookings and that they are being processed properly.  Ensure you are booking refundable rates, if you intend to complete a test booking.

Passive Segments

Sabre Passive Segment

...

Segment Example

...

Breakdown

...

0RAL2VGK1NYPBOS19DEC-LV-900A/AR-100P/NA- TRAIN 66/SI-BKD ONLINE/CF-123ABC

...

  • 0RAL = constant

  • 2V = Rail code – 2V is Via code

  •  GK1 = Constant

  •  NYP = Departure Station

  •  BOS = Arrival station

  •  19DEC = Travel date

  •  -LV- = Constant

  •  900A = Departure time /DT-=Constant

  •  19DEC = Arrival date

  •  /AR- = Constant

  •  100p = Arrival time

  •  /NA- = Constant

  • Via = Carrier code

  • 66 = Train number

  • SI-BKD ONLINE/CF- = Constant

  • ABCDEF- = Record Locator

Apollo Passive Segment

...

Segment Example

...

Breakdown

...

02V95Y24SEPNYPPHLBK1/1035A1157A

...

  • 02V = Constant

  • 95Y = Train number and class

  • 24SEP = Departure Date

  • NYP = Departure Station code

  • PHL = Arrival Station code

  • BK1/ = Constant

  • 1035A = Departure Time

  • 1157A = Arrival Time

Worldspan Passive Segment

...

Segment Example

...

Breakdown

...

TN2VMK1TRN24MAR/CC1-NYP/CC2-WAS/AN-Via 1229/TD-1000AM/TA-1130AM/CF-1234234

...

  • TN = Constant

  • 2V = Carrier Code

  • MK1TRN = Constant

  • 24MAR = Departure Date

  • /CC1- = Constant

  • NYP = Departure Station code

  • /CC2- = Constant

  •  WAS = Arrival Station Code

  • /AN- = Constant

  • Via 1229 = Carrier Name <sp> Train number

  •  /TD- = Constant

  •  1000AM = Departure Time

  •  /TA- = Constant

  •  1130AM = Arrival Time

  •  /CF- = Constant

  •  1234234 = Via Record Locator

PNR Scripts

Sabre PNR Editor Scripts

...

Function

...

Script

...

Error when Form of Payment is Declined

...

//Via RECORD LOCATOR - INVALID

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

 if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator.substring (0,9);

{if (rr =="B-REARDEN") {out.print("5H-SPCL-VERIFY TICKET STATUS W Via POSS DECLINED FOP");}

}}}

...

For when no confirmation is received from Via regardless of the reason (other than declined FOP)

...

//Via RECORD LOCATOR - NOT RECEIVED

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

 if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator;

{if ((rr =="")||(rr==undefined))

{out.print("5H-SPCL-VERIFY TICKET STATUS WITH Via");}}}}

...

Via Confirmation Number

...

//Via RECORD LOCATOR

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

 if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("5A$-Via LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

...

No Passive Segments Needed

...

//Via RECORD LOCATOR when no passive segments are needed

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

 if (rl.length() > 0)

{if ((rl.RailSegment.length() > 0)&&((UserPnrData.UserBooking.HotelBooking != undefined)||(UserPnrData.UserBooking.CarBooking != undefined)))

{out.print("5H-Via LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

...

Class of Service Booked

...

//Via CLASS OF SERVICE

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "purchase_hold")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

 if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("5A$-Via CLASS OF SVC " + rl.RailSegment[0].ClassCode);}}}

...

Form of Payment

...

//RAIL FOP

if((UserPnrData.DataType=="purchase_hold")||(UserPnrData.DataType=="new")){with (UserPnrData.UserSession.PurchaseInfo.RailBilling) {

var cardtype;

 if (BrandType.substring(0,4) == "Visa") { cardtype = "VI"; } else if (BrandType.substring(0,4) == "Amer") { cardtype = "AX"; } else if (BrandType.substring(0,4) == "Mast") { cardtype = "CA"; } else if (BrandType.substring(0,4) == "Disc") { cardtype = "DS"; } else if (BrandType.substring(0,3) == "JCB") { cardtype = "JC"; } else if (BrandType.substring(0,4) == "Cart") { cardtype = "CB"; } else if (BrandType.substring(0,4) == "Dine") { cardtype = "DC"; } else if (BrandType.substring(0,4) == "Univ") { cardtype = "TP"; } else if (BrandType.substring(0,4) == "EnRo") { cardtype = "ER"; } else { cardtype = "XX" }

var year=ExpirationDate.Year;

var myyear=year.substring(2,4);

var mymonth=ExpirationDate.Month;

        if (mymonth == "JAN") {mymonth = "01";}

        else if (mymonth =="FEB") {mymonth = "02";}

        else if (mymonth == "MAR") {mymonth = "03";}

        else if (mymonth == "APR") {mymonth = "04";}

        else if (mymonth == "MAY") {mymonth = "05";}

        else if (mymonth == "JUN") {mymonth = "06";}

        else if (mymonth == "JUL") {mymonth = "07";}

        else if (mymonth == "AUG") {mymonth = "08";}

        else if (mymonth == "SEP") {mymonth ="09";}

        else if (mymonth =="OCT") {mymonth = "10";}

        else if (mymonth == "NOV") {mymonth = "11";}

        else if (mymonth =="DEC") {mymonth = "12";}

if (UserPnrData.UserSession.PurchaseInfo.RailBilling != undefined)

out.print("50/-*" + cardtype + CardNumber + "$" + mymonth + "/" + myyear + "-xn");}}

...

Total Fare

...

//FARE QUOTE - RAIL

if(((UserPnrData.DataType == "new") || (UserPnrData.DataType=="purchase_hold") || (UserPnrData.DataType == "change")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{out.print("5A$VIA Rail FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}

Apollo PNR Editor Scripts

...

Function

...

Script

...

Error when Form of Payment is Declined

...

//Via RECORD LOCATOR - INVALID

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator.substring (0,9);

{if (rr =="B-REARDEN") {out.print("@:5A/SPCL-VERIFY TICKET STATUS W Via POSS DECLINED FOP");}}}}

...

For when no confirmation is received from Via regardless of the reason (other than declined FOP)

...

//Via RECORD LOCATOR - NOT RECEIVED

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator;

{if ((rr =="")||(rr==undefined))

{out.print("@:5A/SPCL-VERIFY TICKET STATUS WITH Via");}}}}

...

Via Confirmation Number

...

//Via RECORD LOCATOR

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("@:5A/Via LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

...

No Passive Segments Needed

...

//Via RECORD LOCATOR when no passive segments are needed

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if ((rl.RailSegment.length() > 0)&&((UserPnrData.UserBooking.HotelBooking !=

undefined)||(UserPnrData.UserBooking.CarBooking != undefined)))

{out.print("@:5A/Via LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

...

Class of Service Booked

...

//Via CLASS OF SERVICE

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "purchase_hold")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("@:5A/Via CLASS OF SVC " + rl.RailSegment[0].ClassCode);}}}

...

Form of Payment

...

//RAIL FOP

if((UserPnrData.DataType=="purchase_hold")||(UserPnrData.DataType=="new")){with

(UserPnrData.UserSession.PurchaseInfo.RailBilling) {

var cardtype;

if (BrandType.substring(0,4) == "Visa") { cardtype = "VI"; } else if (BrandType.substring(0,4) == "Amer") { cardtype =

"AX"; } else if (BrandType.substring(0,4) == "Mast") { cardtype = "CA"; } else if (BrandType.substring(0,4) == "Disc") {

cardtype = "DS"; } else if (BrandType.substring(0,3) == "JCB") { cardtype = "JC"; } else if (BrandType.substring(0,4)

== "Cart") { cardtype = "CB"; } else if (BrandType.substring(0,4) == "Dine") { cardtype = "DC"; } else if

(BrandType.substring(0,4) == "Univ") { cardtype = "TP"; } else if (BrandType.substring(0,4) == "EnRo") { cardtype =

"ER"; } else { cardtype = "XX" }

var year=ExpirationDate.Year;

var myyear=year.substring(2,4);

var mymonth=ExpirationDate.Month;

if (mymonth == "JAN") {mymonth = "01";}

else if (mymonth =="FEB") {mymonth = "02";}

else if (mymonth == "MAR") {mymonth = "03";}

else if (mymonth == "APR") {mymonth = "04";}

else if (mymonth == "MAY") {mymonth = "05";}

else if (mymonth == "JUN") {mymonth = "06";}

else if (mymonth == "JUL") {mymonth = "07";}

else if (mymonth == "AUG") {mymonth = "08";}

else if (mymonth == "SEP") {mymonth ="09";}

else if (mymonth =="OCT") {mymonth = "10";}

else if (mymonth == "NOV") {mymonth = "11";}

else if (mymonth =="DEC") {mymonth = "12";}

if (UserPnrData.UserSession.PurchaseInfo.RailBilling != undefined)

out.print("F-*" + cardtype + CardNumber + "/D" + mymonth + myyear);}}

...

Total Fare

...

//FARE QUOTE - RAIL

if(((UserPnrData.DataType == "new") || (UserPnrData.DataType=="purchase_hold") || (UserPnrData.DataType ==

"change")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{out.print("@:5A/VIA RAIL FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}

Worldspan PNR Editor Scripts

Function

Script

Error when Form of Payment is Declined

//Via RECORD LOCATOR – INVALID

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator.substring (0,9);

{if (rr =="B-REARDEN") {out.print("5.O SPCL-VERIFY TICKET STATUS W Via POSS DECLINED FOP");}}}}

For when no confirmation is received from Via regardless of the reason (other than declined FOP)

//Via RECORD LOCATOR - NOT RECEIVED

if((UserPnrData.DataType=="hold")||(UserPnrData.DataType=="new"))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

var rr = rl.RailSegment[0].RecordLocator.Locator;

{if ((rr =="")||(rr==undefined))

{out.print("5.O SPCL-VERIFY TICKET STATUS WITH Via");}}}}

Via Confirmation Number

//Via RAIL RECORD LOCATOR

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("@:5A/VIA RAIL LOC " + rl.RailSegment[0].RecordLocator.Locator);}

}}//Via RECORD LOCATOR

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("5.O VIA RAIL LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

No Passive Segments Needed

//Via RECORD LOCATOR when no passive segments are needed

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "hold")) &&

(UserPnrData.UserBooking.RailBooking != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if ((rl.RailSegment.length() > 0)&&((UserPnrData.UserBooking.HotelBooking !=

undefined)||(UserPnrData.UserBooking.CarBooking != undefined)))

{out.print("5.O VIA RAIL LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}}

Class of Service Booked

//VIA RAIL CLASS OF SERVICE

if ( ((UserPnrData.DataType=="new") || (UserPnrData.DataType == "purchase_hold")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{var rl = UserPnrData.UserBooking.RailBooking.RailLeg;

if (rl.length() > 0)

{if (rl.RailSegment.length() > 0)

{out.print("5.O Via Rail CLASS OF SVC " + rl.RailSegment[0].ClassCode);}}}

Form of Payment

//RAIL FOP

if((UserPnrData.DataType=="purchase_hold")||(UserPnrData.DataType=="new")){with

(UserPnrData.UserSession.PurchaseInfo.RailBilling) {

var cardtype;

if (BrandType.substring(0,4) == "Visa") { cardtype = "VI"; } else if (BrandType.substring(0,4) == "Amer") { cardtype =

"AX"; } else if (BrandType.substring(0,4) == "Mast") { cardtype = "CA"; } else if (BrandType.substring(0,4) == "Disc") {

cardtype = "DS"; } else if (BrandType.substring(0,3) == "JCB") { cardtype = "JC"; } else if (BrandType.substring(0,4)

== "Cart") { cardtype = "CB"; } else if (BrandType.substring(0,4) == "Dine") { cardtype = "DC"; } else if

(BrandType.substring(0,4) == "Univ") { cardtype = "TP"; } else if (BrandType.substring(0,4) == "EnRo") { cardtype =

"ER"; } else { cardtype = "XX" }

var year=ExpirationDate.Year;

var myyear=year.substring(2,4);

var mymonth=ExpirationDate.Month;

if (mymonth == "JAN") {mymonth = "01";}

elseif (mymonth =="FEB") {mymonth = "02";}

else if (mymonth == "MAR") {mymonth = "03";}

else if (mymonth == "APR") {mymonth = "04";}

else if (mymonth == "MAY") {mymonth = "05";}

else if (mymonth == "JUN") {mymonth = "06";}

else if (mymonth == "JUL") {mymonth = "07";}

else if (mymonth == "AUG") {mymonth = "08";}

else if (mymonth == "SEP") {mymonth ="09";}

else if (mymonth =="OCT") {mymonth = "10";}

else if (mymonth == "NOV") {mymonth = "11";}

else if (mymonth =="DEC") {mymonth = "12";}

if (UserPnrData.UserSession.PurchaseInfo.RailBilling != undefined)

out.print("50/-*" + cardtype + CardNumber + "$" + mymonth + "/" + myyear + "-xn");}}

Total Fare

//FARE QUOTE - RAIL

if(((UserPnrData.DataType == "new") || (UserPnrData.DataType=="purchase_hold") || (UserPnrData.DataType ==

"change")) &&

(UserPnrData.UserBooking.RailBooking.PassengerInfo != undefined))

{out.print("5.O VIA RAIL FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}
    • Service Rules. Once disabled under Service Rules rail will not be offered to the client and all other configurations will not trigger.

Need to Know

  • Supported GDS

    • Sabre

    • Galileo (Apollo)

    • Worldspan

    • Amadeus

      • No passive segment PNR write back

  • Travelers can store their Via Rail Membership program numbers in their profiles.

  • Companies can manage train costs with policies and take advantage of negotiated rates.

  • Company Site card being used?: Yes, You will need to open a Deem Support case, Deem will need to contact Silverrail on your clients behalf to set up Customer Identifiers.

  • Individual credit card being used?: Yes,You will not need to open a Deem Support case, you can use your TMC Customer Identification information.

    • Note: If your client has Amtrak enabled you can use the same TMC Customer Identification information for Via Rail.

Steps to Configure

...

Agency Settings

...

  • Clones over from Template site

    • Note: Best practice to add your TMC Customer Identification information within your template site. This way when you clone your site, minimal programming is needed.

      • Only need to change if the customer will be using a site card for billing rail. In this instance you will need to open a case with Deem to have them notify Silver Rail. Deem will provide you the customer identification information for your client.  

        • See attached template, you can fill our and attach to the case you need to open

  • See below instructions on how to configure Agency Settings

  • Keep in mind you can have Agency Settings programmed, but until you check the rail box under travel service rules, no action will be taken. 

...

PNR Mapping

...

  • Clones over from Template site

  • We have provided scripts you can add to template and existing sites, if you would like to write the fields to the PNR.  Please see below instructions on how to configure PNR Mapping

    • Note: If this is the first time programming Rail, please open a Deem Support Case.  Deem will assist you with programming your site. If there are other scripts you may need please add them to the case.

  • Keep in mind you can have PNR mapping configured, but until you check the rail box under travel service rules, no action will be taken. 

...

Private Rates

...

  • Clones over from Template site

  • Please see below steps with regards to configuring private rates

  • Keep in mind you can have private rates configured, but until you check the rail box under travel service rules, no action will be taken. 

...

Travel Policy

...

...

Display Policy

...

...

Travel Service Rules

...

  • Clones over from Template site

  • Check box located under service Rules to fully enable rail and to show as a booking option on the home page with air, car and hotel.

    • Note: You can have all of the above steps completed, but if you do not go to service rules to enable rail the client will not have the ability to book.  

  • Click link for further information around Travel Service Rules

  • If this is the first time the TMC has programmed Rail, please open a Deem Support Case.  Deem will assist you with programming your site. If there are other scripts you may need please add them to the case.

  • Deem currently cannot support multiple rail services under the same Agency Setting. Meaning you are unable to combine Amtrak and Via Rail under the same configuration. For Via Rail, the Sales Location must be within Canada.

Image Added
  • Supported GDS

    • Sabre

    • Galileo (Apollo)

    • Worldspan

    • Amadeus (No passive segment PNR write back).

  • Reward membership program/number will be applied to the booking.

  • Companies can manage train costs with policies and take advantage of negotiated rates.

  • Company Site card being used?: Yes, You will need to open a Deem Support case, Deem will need to contact Silverrail on your client’s behalf to set up Customer Identifiers.

  • Individual credit card being used?: Yes,You will not need to open a Deem Support case, you can use your TMC Customer Identification information.

    • Note: If this is the first time you have enabled Via Rail please open a Deem Support Case to establish your TMC Customer Identification information.

 Areas to Configuration

Configuring Agency Settings

  • Best practice to add your TMC Customer Identification information within your template site. When you create your site, the information will clone during cloning process. 

    • If the client does not require rail services, you can disable rail by unchecking rail within each Service Rules. Once disabled under Service Rules rail will not be offered to the client and all other configurations will not trigger.

  • Only need to change the Customer Identification information, if the customer is purchasing with a Site Payment Card

    • In this instance you will need to open a Deem Support Case. Deem will work with Silver Rail to obtain the client’s Customer Identification information. Deem will then update the case with the information, or you to update the client’s site.

    • See attached template (top of the Wiki Article): You complete and attach to the Deem Support case.

See below instructions on how to configure Agency Settings.

  • On the Services tab, select Travel Agency.

Image Added
  • Select Agency Settings.

Image Added
  • Select active Agency Setting.

Image Added
  • Sales Location: Must be a Canadian airport code for Via Rail services to be offered.

Image Added
  • Channel: 

    • Enter the Deem-supplied Channel code (all capital letters). 

  • Agency Identifier:

    • Enter the Deem-supplied Agency Identifier (all capital letters). 

  • Customer Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters).

  • Agency Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters).

  • Customer Identifier:

    • Enter the Deem-supplied Customer Identifier (all capital letters).

  • Client ID Number:

    • Enter the number to be used when optional reporting is required.

  • Customer DK Number:

    • Enter the number to be used when optional reporting is needed.

Image Added

Via Rail Specific Support: Follow these steps:

  • Add passive train segment to primary GDS?: Select Yes or No

    • A passive segment is a set of trip information entered into the GDS that does not cause a ticket to be issued by the GDS. For example, a user may be taking a train between cities, and although you do not use the GDS to issue the train ticket, you may want all of the trip information to be in one place for the user's benefit, and so that agents can generate itineraries or make notes. 

    • By default, no information is saved in the GDS unless you select Yes. 

      • See below for examples of passive segments.

  • Message for Train support procedure and phone numbers: 

    • Enter the message to appear to the user on the purchase page and on confirmation messages.

      • Note: Do not include HTML tags or travel lingo.

  • Train support phone number for mobile client:

    • Enter the phone number to appear in the mobile client if the number is different from other support numbers.

Image Added
  • Scroll to the bottom and Select Save.

Image Added

PNR Mapping

  • Clones over from Template site.

  • Deem has provided scripts you can add to template and existing sites. Please click link for further information around Rail PNR Editor Scripts.

Rail Private Rates

  • Clones over from Template site.

  • Click link for further information around Rail Private Rates.

Travel Policy

  • Clones over from Template site.

Note: For Acela to appear you must allow users to book Business Class.

Image Added

Display Configurations

Service Rules

  • Clones over from Template site.

Note: To enable users to book rail, you must enable it within Service Rules.

Image Added

Note: You can have all of the above steps completed, but if you do not go to service rules to enable rail the client will not have the ability to search for or book Via Rail.  

Commit Changes and Test

  • Commit changes.

Image Added
  • Test to ensure you are seeing rail bookings and that they are being processed properly.  

Note: Book refundable rates if you intend to complete a test booking.

Passive Segments

Sabre Passive Segment

Segment Example

Breakdown

0RAL2VGK1NYPBOS19DEC-LV-900A/AR-100P/NA- TRAIN 66/SI-BKD ONLINE/CF-123ABC

  • 0RAL = constant

  • 2V = Rail code – 2V is Via Rail code

  •  GK1 = Constant

  •  NYP = Departure Station

  •  BOS = Arrival station

  •  19DEC = Travel date

  •  -LV- = Constant

  •  900A = Departure time /DT-=Constant

  •  19DEC = Arrival date

  •  /AR- = Constant

  •  100p = Arrival time

  •  /NA- = Constant

  • Via Rail = Carrier code

  • 66 = Train number

  • SI-BKD ONLINE/CF- = Constant

  • ABCDEF- = Record Locator

Apollo Passive Segment

Segment Example

Breakdown

02V95Y24SEPNYPPHLBK1/1035A1157A

  • 02V = Constant

  • 95Y = Train number and class

  • 24SEP = Departure Date

  • NYP = Departure Station code

  • PHL = Arrival Station code

  • BK1/ = Constant

  • 1035A = Departure Time

  • 1157A = Arrival Time

Worldspan Passive Segment

Segment Example

Breakdown

TN2VMK1TRN24MAR/CC1-NYP/CC2-WAS/AN-VIA RAIL 1229/TD-1000AM/TA-1130AM/CF-1234234

  • TN = Constant

  • 2V = Carrier Code

  • MK1TRN = Constant

  • 24MAR = Departure Date

  • /CC1- = Constant

  • NYP = Departure Station code

  • /CC2- = Constant

  •  WAS = Arrival Station Code

  • /AN- = Constant

  • VIA 1229 = Carrier Name <sp> Train number

  •  /TD- = Constant

  •  1000AM = Departure Time

  •  /TA- = Constant

  •  1130AM = Arrival Time

  •  /CF- = Constant

  •  1234234 = Via Rail Record Locator