| |
Prompt Events
Each prompt starts with an initiating event. This can be a GDS command, a new page loaded in a browser, etc. Conditions are applied to information that comes from the event, and then actions are performed when all the conditions are met. The events and the data available with each one are listed below.
Naming Conventions
When look at the list, you will notice a departure from typical names you see to describe flights and other travel-related data. To completely avoid confusion amongst our programmers, we defined our own names for these items. This has worked so well internally that we have decided to extend these naming conventions into our products.
A Flight has a departure date and an arrival date. A Hotel also has these, but they are in reverse order: You arrive first, then depart. When programming, we found it too easy to get them backwards. To eliminate any chance of this, we now use Begin Date and End Date. These two terms apply in order regardless of travel type. We use "Begin" instead of "Start" so that in alphabetical lists you will always see Begin before End, further reducing confusion. We also use Begin and End for airports and other geographical points.
We also are using specific terms to differentiate individual flights from those that are part of connecting sets. When we use the term Flight, we are referring to a single flight number, and it can be non-stop, direct or change-of-guage, but never connecting. We use Origin/Destination to refer to one or more flights that get you from your Begin point to your End point. For example, if you are flying from LGA connecting in ORD and continuing to LAX, you would have two flights: One from LGA to ORD, and one from ORD to LAX. You would have only one Origin/Destination, which would be from LGA to LAX.
Calculated Data
To add significant capabilities to the system, we calculate additional data items with most events. For example, whenever an event contains an airport code, we determine the country code and continent code for that airport and include those with the event. Whenever an event includes a city pair, we include the miles and kilometers between the two points, and if dates/times are included, we also calculate the time duration, taking into account time zones. For date/time events, we include the time in GMT so you can create prompts that will appear at exactly the same time in offices that are in different time zones.
You will also notice several items that begin with "Alpha First" and "Alpha Second". These are best explained iwth an example: Let's say you sell a flight from JFK to CDG. The countries for those airports are US and FR. Now suppose you want to create a prompt that displays information whenever a flight is sold for traveler between the US and France, regardless of the direction of travel. You could create a complex set of conditions, or you could create two separate prompts. To make it easy, we include Alpha First Country Code and Alpha Second Country Code. "Alpha First" is the first one in alphabetical order, and "Alpha Second" is the second one in alphabetical order. Whether someone is traveling US->FR or FR->US, if you put the two country codes in alphabetical order, they will always be FR US. Now you can create two simple conditions: Alpha First Country Code = FR and Alpha Second Country Code = US. Now your prompt will display whenever a flight is booked between those two countries, regardless of direction.
Some events are based upon GDS commands being sent, such as Flight Availability Command Sent. The event fires as soon as the command is sent, which is before the response has arrived. If you are going to use send GDS commands as part of your actions, you should always use a "Response Received" event so you don't try to send a command while the GDS is still waiting for a previous response. The "Command Sent" events do include the Last GDS Response if you want to look at that in your conditions or to read data from it. Most likely the Last GDS Response will have nothing to do with the command being sent, so it will rarely be used in your conditions.
Continents
| Continent Code |
Continent Name |
| AF |
Africa |
| AN |
Antarctica |
| AS |
Asia |
| EU |
Europe |
| NA |
North America |
| OC |
Oceania
See http://en.wikipedia.org/wiki/Oceania for a complete description. |
| SA |
South America |
Prompt Initiating Events:
Startup
This event fires when Genie first starts, and if whenever is a change to the Group to which the computer is assigned. This event can be used to set internal information, such as global variables, or to start other applications. Requires Build 189 or newer.
| Computer ID |
The ID of the computer as shown on the About screen (right-click BB icon, click About) |
{ComputerID} |
| Computer Name |
The name of the computer, as configured in Windows. |
{ComputerName} |
| Computer Nickname |
The Nickname as configured in the BookingBuilder administration site |
{ComputerNickname} |
| Group Name |
The name of the group to which the computer belongs, as configured in the BookingBuilder administration site. |
{GroupName} |
| Group ID |
The ID Number of the Group to which the computer belongs, as shown on the About screen. |
{GroupID} |
| User Name |
The user name entered to log in to windows. |
{UserName} |
GDS Command Sent
| GDS Command |
|
{GDSCommand} |
| Last GDS Response |
|
{GDSLastResponse} |
GDS Response Received
| GDS Command |
|
{GDSCommand} |
| GDS Response |
|
{GDSResponse} |
GDS Response - Line By Line
This event fires once for each line in a GDS response. If you want to capture multiple lines that meet the same criteria, use this event. If you are only looking for specific information anywhere in a GDS response, use the GDS Response Received event.
| GDS Command |
The GDS command that sent to get this response |
{GDSCommand} |
| GDS Response |
The entire GDS response |
{GDSResponse} |
| GDS Response Line |
The current line of the GDS response |
{GDSResponseLine} |
Flight Availability Command Sent
Each time a flight availability command is sent, this event fires. It currently handles the full command with a citypair and date. It is being expanding to handle "modfier" commands, such as a return availability.
Please note that this fires before the GDS response is received, so it is a very good place to display city pair messages that really get the agent's attention, since your message will most likley be displayed before the GDS response appears. You should not use this event if your actions will be sending GDS commands, since they may conflict with the availability response.
| GDS Command |
The GDS command use to request the flight availability. |
{GDSCommand} |
| |
|
{BeginDate} |
| |
|
{EndDate} |
| |
|
{BeginAirportCode} |
| |
|
{EndAirportCode} |
| |
|
{BeginCountryCode} |
| |
|
{EndCountryCode} |
| |
|
{BeginContinentCode} |
| |
|
{EndContinentCode} |
| |
|
{Miles} |
| |
|
{Kilometers} |
| |
|
{AlphaFirstAirportCode} |
| |
|
{AlphaSecondAirportCode} |
| |
|
{AlphaFirstCountryCode} |
| |
|
{AlphaSecondCountryCode} |
| |
|
{AlphaFirstContinentCode} |
| |
|
{AlphaSecondContinentCode} |
| GDS Name |
|
{GDSName}
|
| Last GDS Response |
|
{GDSLastResponse} |
Flight Availability Response Received
This event fires once each time a Flight Availability response is received.
| GDS Command |
The GDS command used to request the flight availability. |
{GDSCommand} |
| |
|
{BeginDate} |
| |
|
{EndDate} |
| |
|
{BeginAirportCode} |
| |
|
{EndAirportCode} |
| |
|
{BeginCountryCode} |
| |
|
{EndCountryCode} |
| |
|
{BeginContinentCode} |
| |
|
{EndContinentCode} |
| |
|
{Miles} |
| |
|
{Kilometers} |
| |
|
{AlphaFirstAirportCode} |
| |
|
{AlphaSecondAirportCode} |
| |
|
{AlphaFirstCountryCode} |
| |
|
{AlphaSecondCountryCode} |
| |
|
{AlphaFirstContinentCode} |
| |
|
{AlphaSecondContinentCode} |
| GDS Name |
|
{GDSName} |
| Unique Airline List |
A unique list of airlines displayed in the availability response, such as "AA,UA,CO". This allows very easy prompting based upon airlines serving a destination. Please note that is across connecting flights as well as non-stop and direct flights. |
{UniqueAirlineList} |
| GDS Response |
The full response from the GDS. |
{GDSResponse} |
Flight Availability Response - All Flights
This event fires once for each flight in an availability response. It will fire once for each flight in a connecting set, so a flight from MIA via ORD to LAX will get two events.
| GDS Command |
The GDS command used to request the flight availability. |
{GDSCommand} |
| Begin Date |
Flight departure date |
{BeginDate} |
| End Date |
Flight arrival date |
{EndDate} |
| |
Flight departure point |
{BeginAirportCode} |
| |
Flight arrival point |
{EndAirportCode} |
| |
|
{BeginCountryCode} |
| |
|
{EndCountryCode} |
| |
|
{BeginContinentCode} |
| |
|
{EndContinentCode} |
| |
|
{Miles} |
| |
|
{Kilometers} |
| |
|
{AlphaFirstAirportCode} |
| |
|
{AlphaSecondAirportCode} |
| |
|
{AlphaFirstCountryCode} |
| |
|
{AlphaSecondCountryCode} |
| |
|
{AlphaFirstContinentCode} |
| |
|
{AlphaSecondContinentCode} |
| |
|
{ClassAvailability} |
| |
|
{BeginDateTime} |
| |
|
{EndDateTime} |
| |
|
{BeginTime} |
| |
|
{EndTime} |
| |
|
{AirlineCode} |
| |
|
{FlightNumber} |
| GDS Name |
|
{GDSName} |
| Unique Airline List |
A unique list of airlines displayed in the availability response, such as "AA,UA,CO". This allows very easy prompting based upon airlines serving a destination. Please note that is across connecting flights as well as non-stop and direct flights. |
{UniqueAirlineList} |
| GDS Response |
The full response from the GDS. |
{GDSResponse} |
Flight Availability Response - Origin/Destination
This event fires once for each set of flights from origin to destination in an availability response. It fires once for each non-stop or direct flight, and once for each connecting set of flights. This event makes it easy to displays prompts based upon specific airlines serving a market. Please note that for interline connections, {FirstAirlineCode} is the first airline code.
| GDS Command |
The GDS command used to request the flight availability. |
{GDSCommand} |
| Begin Date |
Flight departure date |
{BeginDate} |
| End Date |
Flight arrival date |
{EndDate} |
| |
Flight departure point |
{BeginAirportCode} |
| |
Flight arrival point |
{EndAirportCode} |
| |
|
{BeginCountryCode} |
| |
|
{EndCountryCode} |
| |
|
{BeginContinentCode} |
| |
|
{EndContinentCode} |
| |
|
{Miles} |
| |
|
{Kilometers} |
| |
|
{AlphaFirstAirportCode} |
| |
|
{AlphaSecondAirportCode} |
| |
|
{AlphaFirstCountryCode} |
| |
|
{AlphaSecondCountryCode} |
| |
|
{AlphaFirstContinentCode} |
| |
|
{AlphaSecondContinentCode} |
| |
|
{FirstClassAvailability} |
| |
|
{BeginDateTime} |
| |
|
{EndDateTime} |
| |
|
{BeginTime} |
| |
|
{EndTime} |
| |
|
{FirstAirlineCode} |
| |
|
{FirstFlightNumber} |
| GDS Name |
|
{GDSName} |
| Unique Airline List |
A unique list of airlines displayed in the availability response, such as "AA,UA,CO". This allows very easy prompting based upon airlines serving a destination. Please note that is across connecting flights as well as non-stop and direct flights. |
{UniqueAirlineList} |
| GDS Response |
The full response from the GDS. |
{GDSResponse} |
Flight Sold - All Flights
Whenever a flight is sold, this event fires. If connecting flights are sold, it will fire once for each connecting flight. This is a good way to see each individual flight sold. If you are just looking for origin/destination information, use the "Flight Sold - Origin/Destination" event.
| Airline Code |
The airline code of the flight segment |
{AirlineCode} |
| Flight Number |
|
{FlightNumber} |
| Class of Service |
|
{ClassOfService} |
| Begin Date Time |
|
{BeginDateTime} |
| End Date Time |
|
{EndDateTime} |
| Begin Airport Code |
|
{BeginAirportCode} |
| End Airport Code |
|
{EndAirportCode} |
| Begin Country Code |
|
{BeginCountryCode} |
| End Country Code |
|
{EndCountryCode} |
| Begin Continent Code |
|
{BeginContinentCode} |
| End Continent Code |
|
{EndContinentCode} |
| Miles |
|
{Miles} |
| Kilometers |
|
{Kilometers} |
| Flight Duration in Minutes |
|
{DurationMinutes} |
| Alpha First Airport Code |
|
{AlphaFirstAirportCode} |
| Alpha Second Airport Code |
|
{AlphaSecondAirportCode} |
| Alpha First Country Code |
|
{AlphaFirstCountryCode} |
| Alpha Second Country Code |
|
{AlphaSecondCountryCode} |
| Alpha First Continent Code |
|
{AlphaFirstContinentCode} |
| Alpha Second Continent Code |
|
{AlphaSecondContinentCode} |
| |
|
|
| GDS Name |
|
{GDSName} |
| GDS Command |
The GDS command that was sent to sell these flights |
{GDSCommand} |
| GDS Response |
The GDS response with these flights. |
{GDSResponse} |
Flight Sold - Origin/Destination
New Traveler Name
This event fires whenever a new name is typed into the GDS or appears in a PNR. "New" means new to the current GDS work area. Whenever you enter a name with the name command (-, N:, NM) it's new to the work area. When you display a PNR and the names appear on the screen, such as with RTN, *N, *A, *R, etc., they are read by our product. If the product has not already seen these names for this PNR, they are considered new. For example:
- Enter Ignore in the current work area. All names stored by our product are cleared
- Display any PNR. The names that appear on the screen are new, since the product doesn't have any names stored internally.
- Without ignoring, just display the names from this PNR. They are read by the software and compared with the last names it read. Since they have not changed, they are not new, and no new events will fire.
- Display a PNR with different names. The software sees these names and compares them with the previous names. Since they won't match, the previous names are cleared, the new ones are stored, and one event is fired for each new name.
- Now display the first PNR again. The names don't match the stored ones, so they are considered new, and one event fires for each new name.
- All of this ensures that whenever a name appears in a GDS response, your events and actions can take place. However, the events won't fire repeatedly for the same names while a given PNR is active, which would annoy the agent. It is very intelligent in how it operates.
| Full Name |
The full traveler name as it appears in the GDS, without the name reference or passenger types. For example, if the name in the GDS appears as:
1.1LAST/FIRST*INFORMATION
Full Name will be "LAST/FIRST". |
{FullName} |
| Full Name Clean |
Some GDSes don't allow spaces in names and use dots instead. To allow you to easily create prompts that work on all GDSes, "Full Name Clean" replaces all dots in the name with spaces. For example:
1.1LAST/FIRST.I*INFORMATION
1.1LAST/FIRST I*INFORMATION
For both of the above names, Full Name Clean will be "LAST/FIRST I" (in the first one, the dot between the first name and middle initial was replaced with a space). |
{FullNameClean} |
| First Name |
The First Name as it appears in the GDS. For example:
1.1LAST/FIRST I*INFORMATION
First Name is "FIRST I". It is everything after the slash until the name reference or passenger type information. |
{FirstName} |
| Last Name |
The Last Name as it appears in the GDS. In the above example it will be "LAST". |
{LastName} |
| Name ID |
The ID from the name field, also called the name sequence number. In the above example, it would be "1.1". |
{NameID} |
| GDS Command |
The GDS Command that was sent to enter or display the names. |
{GDSCommand} |
| GDS Response |
The full GDS Response with the names. |
{GDSResponse} |
Browser New Page Loaded
This event fires each time a new page is loaded in any browser. If a site contains frames, this event will fire once for each frame in the website.
| Domain |
The domain portion of the URL. If the URL is www.cnn.com, the domain portion is cnn.com. |
{Domain} |
| URL |
The URL, including querystring data. |
{URL} |
| HTML |
The full HTML source of the page or frame that has been loaded. |
{HTML} |
Browser New Domain
This event fires when a browser goes to a new domain. For example, if you open a new browser and go to www.cnn.com, it will be the first time that browser sees the cnn.com domain, so this event will fire. If you then navigate to a page within cnn.com, the event will not fire again. If you then go to google.com in the same browser, the event will fire again. If you then click Back to return to cnn.com, the event will fire again.
This event is very useful for displaying messages when an agent goes to a particular website. For example, if an agent opens a particular cruise line website, you can easily detect that and display a message.
| Domain |
The domain portion of the URL. If the URL is www.cnn.com, the domain portion is cnn.com. |
{Domain} |
| URL |
The URL, including querystring data. |
{URL} |
| HTML |
The full HTML source of the page or frame that has been loaded. |
{HTML} |
Browser Querystring/Post
This event fires with each outbound request from a browser. For example, when you submit a request to a website, that data is typically sent to the site using a Post command. This event contains the URL, the Post data, and other information. You can use this to create applications similar to Sidestep (see www.sidestep.com). For example, whenever an agent submits a request on a specific tour operator website, you can immediately launch a browser to another site with the same request so that both appear side-by-side. This event fires for both SSL and regular requests.
| Domain |
The domain portion of the URL. If the URL is www.cnn.com, the domain portion is cnn.com. |
{Domain} |
| Headers |
The headers sent to the server. |
{Headers} |
| Post |
The full post data, as it was sent to the server. It will still be escaped. |
{Post} |
| URL |
The URL, including querystring data. |
{URL} |
| Post variables |
Each variable sent in the post is available as POST_variable_name. For example, if the post variable is "FIRST_NAME", it will be available as "POST_FIRST_NAME". The value of each variable is properly decoded/unescaped. Note: This variables are not available in the conditions, but you can use them anywhere else variables are used. |
{POST_*} |
| Querystring variables |
Each variable sent in the querystring is available as QS_variable_name. For example, if the post variable is "FIRST_NAME", it will be available as "QS_FIRST_NAME". The value of each variable is properly decoded/unescaped. Note: These variables are not available in the conditions, but you can use them anywhere else variables are used. |
{QS_*} |
Date/Time
| Day of Month |
|
|
| Day of Week Name |
Monday, Tuesday, Wednesday, Thurdsay, Friday, Saturday or Sunday |
|
| GMT Day of Month |
|
|
| GMT Day of Week Name |
|
|
| GMT Month Number |
|
|
| GMT Hour of Day |
0 through 23 |
|
| GMT Minute of Hour |
|
|
| GMT Today's Date |
|
|
| GMT Year |
|
|
| Month Number |
|
|
| Hour of Day |
0 through 23 |
|
| Minute of Hour |
|
|
| Today's Date |
|
|
| Year |
|
|
Hotel Availability Command Sent
Hotel Availability Response Received
Hotel Availability Response Received - All Hotels
Hotel Property Availability Command Sent
Hotel Property Availability Response Received
Hotel Property Availability Response Received - All Rooms
Hotel Sold
|
|