Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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. 

To download above documents:

  • Click on desired document

  • Click on cloud symbol in the upper right-hand corner of your screen, this will allow you to download, save and/or print

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 your Template site, as the configuration will clone over to all new sites

    • You can disable rail by unchecking rail within each Travel Service Rule

  •  in the Travel Service Rules, and ony

Need to Know

  • Supported GDS

    • Sabre

    • Galileo (Apollo)

    • Worldspan

    • Amadeus

      • No passive segment PNR write back

  • Travelers can store their Amtrak 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 this is the first time you have enabled Amtrak please open a Deem Support Case to establish your TMC Customer Identification information

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

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 US airport code is entered, then it is US’s Amtrak 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

Amtrak 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 Amtrak

  • 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: Amtrak 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 Amtrak from dropdown menu

  • Discount Code: Enter Customer or TMC Amtrak Discount Code

  • Click Save

  • Click on Back to Private Rates:

  • Click on Train Rates Sets

  • Click on Add A New Train Private Rate Set

  • Private Rate Set Name: Enter Name of Rate

    • Example: Amtrak 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 Amtrak 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

  • Amtrak = 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-AMTRAK 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

  • AMTRAK 1229 = Carrier Name <sp> Train number

  •  /TD- = Constant

  •  1000AM = Departure Time

  •  /TA- = Constant

  •  1130AM = Arrival Time

  •  /CF- = Constant

  •  1234234 = Amtrak Record Locator

PNR Scripts

Sabre PNR Editor Scripts

Function

Script

Error when Form of Payment is Declined

//AMTRAK 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 AMTRAK POSS DECLINED FOP");}

}}}

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

//AMTRAK 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 AMTRAK");}}}}

Amtrak Confirmation Number

//AMTRAK 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$-AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

No Passive Segments Needed

//AMTRAK 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-AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

Class of Service Booked

//AMTRAK 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$-AMTRAK 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$AMK FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}

Apollo PNR Editor Scripts

Function

Script

Error when Form of Payment is Declined

//AMTRAK 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 AMTRAK POSS DECLINED FOP");}}}}

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

//AMTRAK 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 AMTRAK");}}}}

Amtrak Confirmation Number

//AMTRAK 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/AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

No Passive Segments Needed

//AMTRAK 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/AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

Class of Service Booked

//AMTRAK 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/AMTRAK 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/AMK FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}

Worldspan PNR Editor Scripts

Function

Script

Error when Form of Payment is Declined

//AMTRAK 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 AMTRAK POSS DECLINED FOP");}}}}

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

//AMTRAK 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 AMTRAK");}}}}

Amtrak Confirmation Number

//AMTRAK 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/AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}

}}//AMTRAK 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 AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}

No Passive Segments Needed

//AMTRAK 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 AMTRAK LOC " + rl.RailSegment[0].RecordLocator.Locator);}}}}

Class of Service Booked

//AMTRAK 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 AMTRAK 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("5.O AMK FARE QUOTE - " + UserPnrData.UserBooking.RailBooking.RailFare.RailTotalFare.TotalFare);}

  • No labels