How to search and book fares with promotion code applied with sabre? - sabre

I use FareLLSRQ (FareRQ) and OTA_AirAvailLLSRQ (OTA_AirAvailRQ) to search flight tickets.
Now, the airline provides me a promotion code and I want to apply this code when searching and booking.
Is it feasible with Sabre?

#Hung,
The OTA_AirAvailRQ service only serves to search for flight availability between a city pair and it is not possible to use the informed commercial agreement.
The FareLLSRQ Using this API, you can perform a basic fare quote, specify preferred airlines, specify a currency code, specify to return base fare and tax information, specify an account code, specify a corporate ID, specify a fare basis code, specify a fare level, specify a global indicator, specify a fare basis code/ticket designator, and several other parameters.
Depending on the commercial agreement you can use:
AccountCode: //:FareRQ/:OptionalQualifiers/:PricingQualifiers/:Account/*:Code="accountCode"
CorporateId: //:FareRQ/:OptionalQualifiers/:PricingQualifiers/:Corporate/*:ID="CorporateID"

Related

HERE Toll cost calculation information missing

I am trying to implement a route calculator with the HERE API. I should show the toll costs of the given route for the user. However, I have some questions, I could not find any answer in the documentation for:
Are the given toll costs net value, i.e. is VAT included or not? Based on my test requests, it looks like there are some countries where VAT is included, and it is excluded in others. Are there any arguments in the result from HERE providing information on this?
One can specify the currency in which the costs are calculated, but I could not find any information on the exchange rates applied. I would like to show this also for the user. Is it possible to get this in the result, too? Or maybe is the source of this data public?
As the toll costs and the toll roads may change over time, I would like to also show the time of data for the user. Is there any argument for this given back by HERE in the result?
I assume you are using the HERE Fleet Telematics API.
VAT is expected to always be included. No, there is no such argument in the API.
No, you cannot get this information in the results. The only trick I can suggest, is to make 2 consecutive calls to the API, one using the first currency and another one using the second currency, and therefore derive from these results the applied exchange rate.
There's no such argument. You should assume that HERE's toll cost data is always fresh.
Toll cost calculation is provided via Here Fleet Telematics API.
Total toll cost includes the VAT
And as per the documentation the below details can be retrieved.
In addition, toll cost detail can be requested on different levels, using the "rollups" parameter:
a. total summary only
b. cost per road link
c. cost per country
d. cost per toll system
Exchange rates are not provided rather currency can be provided.
There is no history of route calculation provided , all the data that are provided are latest.

In Watson conversation, How to turn on fuzzy matching only for synonyms and not for the value?

I am modelling a conversation in Watson conversation. The conversation is around the facilities available at airports. I have configured airport names as an entity and have added variations of airport names as synonyms and have kept the IATA code for the airport as the entity value. For example, Schiphol airport in Amsterdam looks like the below
I have turned on fuzzy matching on this entity so that I can catch typos people will make when they try to say Schiphol or Amsterdam. However, Watson is now capturing the word am in the below sentence as this entity
I am wondering if there is wifi in schiphol airport?
How do I stop Watson from fuzzy matching on the entity value but only do it on synonyms?
I don't think it's possible to enable Fuzzy matching on synonyms only, at the moment. I see a couple of "easy" workarounds.
Option 1: Leverage Watson's confidence level.
If you place <? entities ?> within your node's response and test it in the Try it out panel, you'll notice that each detected entity has a confidence level associated with it. This is Watson's confidence level in the entity, expressed as a float ranging from 0 to 1.
When testing it with your entity value and synonyms, I got 90% confidence (i.e., 0.9) for amsterdaam but only 70% for am.
So assuming these numbers hold for you, you could use entities[0].confidence > 0.7 as the condition in your node to decide when to assign the airport to a context variable and when to ask for clarification from the user in the response.
You might have to do some testing to see if you can find a confidence level value that works reasonably well as a threshold for your #airport entity values and their common misspellings.
Option 2: Use two entities
#airport-code: Use the airport code for the value, no synonyms, and no fuzzy matching enabled.
#airport-name: Use the airport name for the value, various synonyms including city, and fuzzy matching enabled.
Depending on how your chatbot works, this might be an acceptable compromise or complicate too much your logic.
I'll give you an example. If your $airport context variable will work whether AMS or Amsterdam Airport Schiphol is stored, this solution solves the problem for you as is. If not, there is an extra step before you can assign the value to the $airport context variable. Namely, you may need to implement a lookup to retrieve the airport code for the given airport name.

Sabre - airfares and cabins

A cabin class (F/J/Y or First/Business/Economy) can have multiple fare basis within it, which are designated with specific letters.
For the app I am developing, I need to determine the cabin class of a specific fare basis for a given flight. I am using GetItinerary (Service action code: TravelItineraryReadRQ) since I use a PNR, but although it gives the fare basis, I can't seem to find the cabin.
I am pretty sure Sabre has a way of telling, since BargainFinderMax allows you to search through different cabin classes.
Any ideas?
Having the class of service you could check the DU table with VendorCodesLLSRQ to see which cabin it corresponds to for that specific airline.
https://developer.sabre.com/docs/soap_apis/utility/get_vendor_codes/
Hope this helps.
Bruno.

Travel APIs how to integrate them all?

I may start working on a project very similar to Hipmunk.com, where it pulls the hotel cost information by calling different APIs (like expedia, orbitz, travelocity, hotels.com etc)
I did some research on this, but I am not able to find any unique hotel id or any field to match the hotels between several API's. Anyone have experience on how can to compare the hotel from expedia with orbitz or travelcity etc?
Thanks
EDIT: Google also doing the same thing http://www.google.com/hotelfinder/
From what I have seen of GDS systems, and these API's there is rarely a unique identifier between systems for e.g. hotels
Airports, airlines and countries have unique ISO identifiers: http://www.iso-code.com/airports.2.html
I would guess you are going to have to have your own internal mapping to identify and disambiguate the properties.
:|
When you get started with hotel APIs, the choice of free ones isn't really that big, see e.g. here for an overview.
The most extensive and accessible one is Expedia's EAN http://developer.ean.com/ which includes Sabre and Venere with unique IDs but still each structured differently.
That is, you are looking into different database tables.
You do get several identifies such as Name, Address, and coordinates, which can serve for unique identification, assuming they are free of errors. Which is an assumption.

Drupal, Ubercart: is there a way to select all Europeans / Not-Europeans countries in the shipping settings?

I usually create conditional rules with shipping to assign different costs for:
national shipping (a specific country is selected)
and international shipping (the same country is selected but a NOT is added to the condition)
I have now to assign different shipping costs according to Europe / Not Europe. A solution would be to select all countries in Europe, but I was wondering if there is a faster way
thanks
For the sanity of your users just do it the way everybody else does!
Have a country pull down with a list of all supported countries in it. Defaulting to you "home" nation.
If you are sending stuff there are a lot more considerations than just shipping costs, you may need to fill in specific tax forms for some countries and depending on what your site is selling you may need special processing for some countries (try sending coffee to Thailand -- you need to obtain permission from thier ministry of agriculture!).
Create the different shipping methods at admin/store/settings/quotes (one for Europe, one for non-Europe).
Add a Rule by editing the new shipping method and adding a condition
or go to the Rules config at admin/workflow/rules
Use a text comparison condition with a order:delivery-address:country data selector
In the value field place the regular expression to match any of the desired country names, for example the list of EU member states below.
Maybe it could be done with postal codes too, but I do not know how they are structured. Everyone keeps their sanity.
(\W|^)(Austria|Belgium|Bulgaria|Croatia|Cyprus|Czech|Republic|Denmark|Estonia|Finland|France|Germany|Greece|Hungary|Ireland|Italy|Latvia|Lithuania|Luxembourg|Malta|Netherlands|Poland|Portugal|Romania|Slovakia|Slovenia|Spain|Sweden|United\sKingdom)(\W|$)

Resources