I am using the 'Explore Popular Places by Category' API and it always returns averageRating as 0 for all items in the result.
I made this call with various categories such as restaurants and sights-museums, but it always returns 0 for averageRating. Does HERE not provide this detail, and if so, why is it returned in the response?
Some details:
I am making a call to this url:
https://places.ls.hereapi.com/places/v1/discover/explore?at=52.5159%2C13.3777&cat=sights-museums&apiKey={api_key}
and it returns something like this:
{
"results": {
"next": "https://places.ls.hereapi.com/places/v1/discover/explore;context=Y2F0PXNpZ2h0cy1tdXNldW1zJmZsb3ctaWQ9Mjk0ZjU1NTgtMmY0Mi01Y2FiLWJlYWUtOGEyM2ViY2EzMzgzXzE1ODMyNjMyNjEwMzZfMF84NTcyJm9mZnNldD0yMCZzaXplPTIw?at=52.5159%2C13.3777&app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"items": [
{
"position": [
52.51629,
13.37817
],
"distance": 54,
"title": "Brandenburg Gate",
"averageRating": 0,
"category": {
"id": "landmark-attraction",
"title": "Landmark/Attraction",
"href": "https://places.ls.hereapi.com/places/v1/categories/places/landmark-attraction?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"type": "urn:nlp-types:category",
"system": "places"
},
"icon": "https://download.vcdn.data.here.com/p/d/places2/icons/categories/38.icon",
"vicinity": "Pariser Platz<br/>Mitte, 10117 Berlin",
"having": [],
"type": "urn:nlp-types:place",
"href": "https://places.ls.hereapi.com/places/v1/places/276u33db-8ee2e0de906e459cbade0593986debe9;context=Zmxvdy1pZD0yOTRmNTU1OC0yZjQyLTVjYWItYmVhZS04YTIzZWJjYTMzODNfMTU4MzI2MzI2MTAzNl8wXzg1NzImcmFuaz0w?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"id": "276u33db-8ee2e0de906e459cbade0593986debe9",
"alternativeNames": [
{
"name": "Brandenburger Tor",
"language": "de"
}
]
},
{
"position": [
52.51373,
13.37976
],
"distance": 279,
"title": "Holocaust Memorial",
"averageRating": 0,
"category": {
"id": "museum",
"title": "Museum",
"href": "https://places.ls.hereapi.com/places/v1/categories/places/museum?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"type": "urn:nlp-types:category",
"system": "places"
},
"icon": "https://download.vcdn.data.here.com/p/d/places2/icons/categories/10.icon",
"vicinity": "Cora-Berliner-Straße 1<br/>Mitte, 10117 Berlin",
"having": [],
"type": "urn:nlp-types:place",
"href": "https://places.ls.hereapi.com/places/v1/places/276u33de-df7d57fd38494a93b2018fe549a0fd75;context=Zmxvdy1pZD0yOTRmNTU1OC0yZjQyLTVjYWItYmVhZS04YTIzZWJjYTMzODNfMTU4MzI2MzI2MTAzNl8wXzg1NzImcmFuaz0x?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"id": "276u33de-df7d57fd38494a93b2018fe549a0fd75",
"openingHours": {
"text": "Tue-Sun: 10:00 - 20:00",
"label": "Opening hours",
"isOpen": false,
"structured": [
{
"start": "T100000",
"duration": "PT10H00M",
"recurrence": "FREQ:DAILY;BYDAY:TU,WE,TH,FR,SA,SU"
}
]
},
"alternativeNames": [
{
"name": "Memorial to the Murdered European Jews",
"language": "en"
},
{
"name": "Memorial to the Murdered Jews of Europe",
"language": "en"
},
{
"name": "Denkmal für die ermordeten Juden Europas",
"language": "de"
}
]
},
{
"position": [
52.51666,
13.40784
],
"distance": 2041,
"title": "Nicholas Quarter",
"averageRating": 0,
"category": {
"id": "museum",
"title": "Museum",
"href": "https://places.ls.hereapi.com/places/v1/categories/places/museum?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"type": "urn:nlp-types:category",
"system": "places"
},
"icon": "https://download.vcdn.data.here.com/p/d/places2/icons/categories/10.icon",
"vicinity": "Nikolaikirchplatz<br/>Mitte, 10178 Berlin",
"having": [],
"type": "urn:nlp-types:place",
"href": "https://places.ls.hereapi.com/places/v1/places/276u33dc-049683d3c6be4bdba823808678a1b164;context=Zmxvdy1pZD0yOTRmNTU1OC0yZjQyLTVjYWItYmVhZS04YTIzZWJjYTMzODNfMTU4MzI2MzI2MTAzNl8wXzg1NzImcmFuaz0xOQ?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q",
"id": "276u33dc-049683d3c6be4bdba823808678a1b164",
"alternativeNames": [
{
"name": "Nikolaiviertel",
"language": "en"
},
{
"name": "Nikolaiviertel",
"language": "de"
}
]
}
]
},
"search": {
"context": {
"location": {
"position": [
52.5159,
13.3777
],
"address": {
"text": "Ebertstraße 22<br/>Mitte, 10117 Berlin<br/>Germany",
"house": "22",
"street": "Ebertstraße",
"postalCode": "10117",
"district": "Mitte",
"city": "Berlin",
"county": "Berlin",
"stateCode": "Berlin",
"country": "Germany",
"countryCode": "DEU"
}
},
"type": "urn:nlp-types:place",
"href": "https://places.ls.hereapi.com/places/v1/places/loc-dmVyc2lvbj0xO3RpdGxlPUViZXJ0c3RyYSVDMyU5RmUrMjI7bGF0PTUyLjUxNTk7bG9uPTEzLjM3Nzc7c3RyZWV0PUViZXJ0c3RyYSVDMyU5RmU7aG91c2U9MjI7Y2l0eT1CZXJsaW47cG9zdGFsQ29kZT0xMDExNztjb3VudHJ5PURFVTtkaXN0cmljdD1NaXR0ZTtzdGF0ZUNvZGU9QmVybGluO2NvdW50eT1CZXJsaW47Y2F0ZWdvcnlJZD1idWlsZGluZztzb3VyY2VTeXN0ZW09aW50ZXJuYWw;context=c2VhcmNoQ29udGV4dD0x?app_id=LKO34glU2MBEVbcOD5mQ&app_code=A2ta_nQ8HRYwenju5HFG5Q"
}
}
}
Does HERE not provide the averageRatings of restaurants or sights-museums?
From the docs it appears if the place hasn't received a rating it'll be 0
Note: If the place has no ratings (yet), both the average and the count values are zero. But if the place cannot be rated (i.e. a street), the whole rating object is not present.
https://developer.here.com/documentation/places/dev_guide/topics/object-rating.html
Vega is available as CDN script that can be included in HTML & used directly in js code.
But, how to proceed if we wish to use the same with generic web components built with polymer or StencilJS. including CDN js is not a good idea there.
Is there any way to include vega as npm module in such projects ?
have a look at this fiddle it is a native webComponent using vega:
<script src="https://cdn.jsdelivr.net/npm/vega#5"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite#3"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-embed#4"></script>
<script type="module">
const barChart = {
"$schema": "https://vega.github.io/schema/vega/v5.json",
"width": 400,
"height": 200,
"padding": 5,
"data": [
{
"name": "table",
"values": [
{"category": "A", "amount": 28},
{"category": "B", "amount": 55},
{"category": "C", "amount": 43},
{"category": "D", "amount": 91},
{"category": "E", "amount": 81},
{"category": "F", "amount": 53},
{"category": "G", "amount": 19},
{"category": "H", "amount": 87}
]
}
],
"signals": [
{
"name": "tooltip",
"value": {},
"on": [
{"events": "rect:mouseover", "update": "datum"},
{"events": "rect:mouseout", "update": "{}"}
]
}
],
"scales": [
{
"name": "xscale",
"type": "band",
"domain": {"data": "table", "field": "category"},
"range": "width",
"padding": 0.05,
"round": true
},
{
"name": "yscale",
"domain": {"data": "table", "field": "amount"},
"nice": true,
"range": "height"
}
],
"axes": [
{ "orient": "bottom", "scale": "xscale" },
{ "orient": "left", "scale": "yscale" }
],
"marks": [
{
"type": "rect",
"from": {"data":"table"},
"encode": {
"enter": {
"x": {"scale": "xscale", "field": "category"},
"width": {"scale": "xscale", "band": 1},
"y": {"scale": "yscale", "field": "amount"},
"y2": {"scale": "yscale", "value": 0}
},
"update": {
"fill": {"value": "steelblue"}
},
"hover": {
"fill": {"value": "red"}
}
}
},
{
"type": "text",
"encode": {
"enter": {
"align": {"value": "center"},
"baseline": {"value": "bottom"},
"fill": {"value": "#333"}
},
"update": {
"x": {"scale": "xscale", "signal": "tooltip.category", "band": 0.5},
"y": {"scale": "yscale", "signal": "tooltip.amount", "offset": -2},
"text": {"signal": "tooltip.amount"},
"fillOpacity": [
{"test": "datum === tooltip", "value": 0},
{"value": 1}
]
}
}
}
]
}
class VegaElement extends HTMLElement {
constructor() {
super()
this.innerHTML = "<div id='view'></div>"
}
connectedCallback() {
vegaEmbed( '#view', barChart ); }
}
customElements.define('vega-element', VegaElement);
</script>
<vega-element></vega-element>
We are using Bargain Finder Max and Create Passenger Name Record to book flights
We are seeing an issue with approx 50% of our test cases where we see the following error returned from the Create PNR call
"code":"ERR.SP.PROVIDER_ERROR","content":"Unable to perform air booking step"
Followed by
[{"Message":[{"code":"WARN.SWS.HOST.ERROR_IN_RESPONSE", "content":"EnhancedAirBookRQ: NO FARE FOR CLASS USED"}]
Our Create PNR call is using the responses from a BFM call
As you can see, we are passing ResBookDesigCode of B and W, which we retrieve from the BFM call
Here is the truncated detail we want to book from the BFM call, it's 4 flight return, and we are using a priced pair of itineraries, we aren't trying to use an out from one priced Itin and return from another.
...[{
"DepartureDateTime": "2018-12-23T06:00:00",
"ArrivalDateTime": "2018-12-23T08:40:00",
"StopQuantity": 0,
"FlightNumber": "345",
"ResBookDesigCode": "B",
"ElapsedTime": 100,
"DepartureAirport": {
"LocationCode": "LHR",
"TerminalID": "2",
"content": ""
},
"ArrivalAirport": {
"LocationCode": "ZRH",
"content": ""
},
"OperatingAirline": {
"Code": "LX",
"FlightNumber": "345",
"content": ""
},
"Equipment": [{
"AirEquipType": "320",
"content": ""
}],
"MarketingAirline": {
"Code": "LX",
"content": ""
},
"MarriageGrp": "O",
"DepartureTimeZone": {
"GMTOffset": 0.0
},
"ArrivalTimeZone": {
"GMTOffset": 1.0
},
"TPA_Extensions": {
"eTicket": {
"Ind": true
},
"Mileage": {
"Amount": 491
}
}
}...
Here is our Create PNR Call
{
"CreatePassengerNameRecordRQ": {
"version": "2.1.0",
"targetCity": "XXXX",
"haltOnAirPriceError": true,
"TravelItineraryAddInfo": {
"AgencyInfo": {
"Address": {
"AddressLine": "XXXXXX",
"CityName": "XXXXX",
"CountryCode": "GB",
"PostalCode": "XXX XXX",
"StateCountyProv": {
"StateCode": "XXXXX"
},
"StreetNmbr": "XXXXX"
},
"Ticketing": {
"TicketType": "XXXX"
}
},
"CustomerInfo": {
"ContactNumbers": {
"ContactNumber": [{
"NameNumber": "1.1",
"Phone": "0844 555 5555 ",
"PhoneUseType": "B"
}]
},
"CreditCardData": {
"BillingInformation": {
"cardHolderName": "XXXXX",
"streetAddress": "XXXX",
"city": "Feering",
"stateOrProvince": "Essex",
"PostalCode": "XXXXX"
}
},
"PersonName": [{
"NameNumber": "",
"NameReference": "",
"PassengerType": "ADT",
"GivenName": "BOB",
"Surname": "BOBBINGTON"
}]
}
},
"AirBook": {
"HaltOnStatus": [{
"Code": "NN"
}, {
"Code": "HL"
}, {
"Code": "KK"
}, {
"Code": "LL"
}, {
"Code": "NO"
}, {
"Code": "UC"
}, {
"Code": "US"
}],
"OriginDestinationInformation": {
"FlightSegment": [{
"DepartureDateTime": "2018-12-23T06:00:00",
"ArrivalDateTime": "2018-12-23T08:40:00",
"FlightNumber": "345",
"NumberInParty": "1",
"ResBookDesigCode": "B",
"Status": "NN",
"InstantPurchase": true,
"DestinationLocation": {
"LocationCode": "ZRH"
},
"MarketingAirline": {
"Code": "LX",
"FlightNumber": "345"
},
"MarriageGrp": "O",
"OriginLocation": {
"LocationCode": "LHR"
}
}, {
"DepartureDateTime": "2018-12-23T11:45:00",
"ArrivalDateTime": "2018-12-23T14:25:00",
"FlightNumber": "2114",
"NumberInParty": "1",
"ResBookDesigCode": "B",
"Status": "NN",
"InstantPurchase": true,
"DestinationLocation": {
"LocationCode": "AGP"
},
"MarketingAirline": {
"Code": "LX",
"FlightNumber": "2114"
},
"MarriageGrp": "O",
"OriginLocation": {
"LocationCode": "ZRH"
}
}, {
"DepartureDateTime": "2018-12-24T13:00:00",
"ArrivalDateTime": "2018-12-24T15:40:00",
"FlightNumber": "2111",
"NumberInParty": "1",
"ResBookDesigCode": "W",
"Status": "NN",
"InstantPurchase": true,
"DestinationLocation": {
"LocationCode": "ZRH"
},
"MarketingAirline": {
"Code": "LX",
"FlightNumber": "2111"
},
"MarriageGrp": "O",
"OriginLocation": {
"LocationCode": "AGP"
}
}, {
"DepartureDateTime": "2018-12-24T20:55:00",
"ArrivalDateTime": "2018-12-24T21:40:00",
"FlightNumber": "340",
"NumberInParty": "1",
"ResBookDesigCode": "W",
"Status": "NN",
"InstantPurchase": true,
"DestinationLocation": {
"LocationCode": "LHR"
},
"MarketingAirline": {
"Code": "LX",
"FlightNumber": "340"
},
"MarriageGrp": "O",
"OriginLocation": {
"LocationCode": "ZRH"
}
}]
}
},
"AirPrice": [{
"PriceComparison": {
"AmountSpecified": 403,
"AcceptablePriceIncrease": {
"HaltOnNonAcceptablePrice": true,
"Amount": 847
}
},
"PriceRequestInformation": {
"Retain": true,
"OptionalQualifiers": {
"FOP_Qualifiers": {
"BasicFOP": {
"Type": "CK"
}
},
"PricingQualifiers": {
"NameSelect": [{
"NameNumber": "1.1"
}],
"PassengerType": [{
"Code": "ADT",
"Quantity": "1"
}]
}
}
}
}],
"MiscSegment": {
"VendorPrefs": {
"Airline": {
"Code": "LX"
}
},
"DepartureDateTime": "12-23",
"NumberInParty": 1,
"Text": "TEST OTH MISCELLANEOUS SEGMENT",
"Type": "OTH",
"OriginLocation": {
"LocationCode": "LHR"
},
"Status": "GK"
},
"SpecialReqDetails": {
"AddRemark": {
"RemarkInfo": {
"FOP_Remark": {
"Type": "CASH"
}
}
},
"SpecialService": {
"SpecialServiceInfo": {
"SecureFlight": [{
"SegmentNumber": "A",
"PersonName": {
"DateOfBirth": "1977-07-17",
"Gender": "M",
"NameNumber": "1.1",
"GivenName": "BOB",
"Surname": "BOBBINGTON"
},
"VendorPrefs": {
"Airline": {
"Hosted": false
}
}
}],
"Service": []
}
}
},
"PostProcessing": {
"RedisplayReservation": true,
"ARUNK": "please do the arunk thing",
"EndTransaction": {
"Source": {
"ReceivedFrom": "SP TEST"
}
},
"PostBookingHKValidation": {
"waitInterval": 100,
"numAttempts": 6
},
"WaitForAirlineRecLoc": {
"waitInterval": 100,
"numAttempts": 6
}
}
}
}
I've been reading SO posts that state "That's how it is, prices change", but if that was the case why when we start the process again, we are offered the same pricing and availability on subsequent calls?
This is my request to Sabre BFM:
{
"OTA_AirLowFareSearchRQ": {
"Target": "Production",
"OriginDestinationInformation": [
{
"DepartureDateTime": "2017-10-02T00:00:00",
"DestinationLocation": {
"LocationCode": "JFK"
},
"OriginLocation": {
"LocationCode": "LAX"
},
"RPH": "1"
},
{
"DepartureDateTime": "2017-10-27T00:00:00",
"DestinationLocation": {
"LocationCode": "LAX"
},
"OriginLocation": {
"LocationCode": "JFK"
},
"RPH": "2"
}
],
"POS": {
"Source": [
{
"PseudoCityCode": "4OMI",
"RequestorID": {
"CompanyName": {
"Code": "TN"
},
"ID": "REQ.ID",
"Type": "1"
}
}
]
},
"TPA_Extensions": {
"IntelliSellTransaction": {
"RequestType": {
"Name": "50ITINS"
}
}
},
"TravelPreferences": {
"ValidInterlineTicket": true,
"CabinPref": [
{
"Cabin": "Y",
"PreferLevel": "Only"
}
],
"TPA_Extensions": {
"TripType": {
"Value": "Return"
}
}
},
"TravelerInfoSummary": {
"SpecificPTC_Indicator": false,
"SeatsRequested": [
4
],
"AirTravelerAvail": [
{
"PassengerTypeQuantity": [
{
"Quantity": 2,
"Code": "ADT",
"Changeable": true
},
{
"Quantity": 2,
"Code": "CNN11",
"Changeable": true
},
{
"Quantity": 2,
"Code": "INF",
"Changeable": true
}
]
}
]
}
}
}
This is the response from Sabre BFM:
{
"OTA_AirLowFareSearchRS": {
"PricedItinCount": 0,
"BrandedOneWayItinCount": 0,
"SimpleOneWayItinCount": 0,
"DepartedItinCount": 0,
"SoldOutItinCount": 0,
"AvailableItinCount": 0,
"Version": null,
"Success": null,
"Warnings": null,
"PricedItineraries": {
"PricedItinerary": [{
"AirItinerary": {
"OriginDestinationOptions": {
"OriginDestinationOption": [{
"FlightSegment": [{
"DepartureDateTime": "2017-10-02T13:00:00",
"ArrivalDateTime": "2017-10-02T18:33:00",
"StopQuantity": 0,
"FlightNumber": 424,
"ResBookDesigCode": "Z",
"ElapsedTime": 213,
"DepartureAirport": {
"LocationCode": "LAX"
},
"ArrivalAirport": {
"LocationCode": "MSP"
},
"MarketingAirline": {
"Code": "SY"
},
"ArrivalTimeZone": {
"GMTOffset": -5.0
},
"TPA_Extensions": {
"ValidatingCarrier": null,
"eTicket": {
"Ind": true
},
"Mileage": {
"Amount": 1536
}
},
"MarriageGrp": "O",
"Equipment": [{
"AirEquipType": "738",
"content": ""
}],
"OnTimePerformance": null,
"OperatingAirline": {
"FlightNumber": 424,
"Code": "SY",
"content": ""
},
"DepartureTimeZone": {
"GMTOffset": -7.0
}
},
{
"DepartureDateTime": "2017-10-02T19:45:00",
"ArrivalDateTime": "2017-10-02T23:35:00",
"StopQuantity": 0,
"FlightNumber": 249,
"ResBookDesigCode": "Z",
"ElapsedTime": 170,
"DepartureAirport": {
"LocationCode": "MSP"
},
"ArrivalAirport": {
"LocationCode": "JFK"
},
"MarketingAirline": {
"Code": "SY"
},
"ArrivalTimeZone": {
"GMTOffset": -4.0
},
"TPA_Extensions": {
"ValidatingCarrier": null,
"eTicket": {
"Ind": true
},
"Mileage": {
"Amount": 1028
}
},
"MarriageGrp": "I",
"Equipment": [{
"AirEquipType": "738",
"content": ""
}],
"OnTimePerformance": null,
"OperatingAirline": {
"FlightNumber": 249,
"Code": "SY",
"content": ""
},
"DepartureTimeZone": {
"GMTOffset": -5.0
}
}
],
"ElapsedTime": 455
},
{
"FlightSegment": [{
"DepartureDateTime": "2017-10-27T07:00:00",
"ArrivalDateTime": "2017-10-27T09:05:00",
"StopQuantity": 0,
"FlightNumber": 240,
"ResBookDesigCode": "Z",
"ElapsedTime": 185,
"DepartureAirport": {
"LocationCode": "JFK"
},
"ArrivalAirport": {
"LocationCode": "MSP"
},
"MarketingAirline": {
"Code": "SY"
},
"ArrivalTimeZone": {
"GMTOffset": -5.0
},
"TPA_Extensions": {
"ValidatingCarrier": null,
"eTicket": {
"Ind": true
},
"Mileage": {
"Amount": 1028
}
},
"MarriageGrp": "O",
"Equipment": [{
"AirEquipType": "738",
"content": ""
}],
"OnTimePerformance": null,
"OperatingAirline": {
"FlightNumber": 240,
"Code": "SY",
"content": ""
},
"DepartureTimeZone": {
"GMTOffset": -4.0
}
},
{
"DepartureDateTime": "2017-10-27T10:05:00",
"ArrivalDateTime": "2017-10-27T12:00:00",
"StopQuantity": 0,
"FlightNumber": 423,
"ResBookDesigCode": "Z",
"ElapsedTime": 235,
"DepartureAirport": {
"LocationCode": "MSP"
},
"ArrivalAirport": {
"LocationCode": "LAX"
},
"MarketingAirline": {
"Code": "SY"
},
"ArrivalTimeZone": {
"GMTOffset": -7.0
},
"TPA_Extensions": {
"ValidatingCarrier": null,
"eTicket": {
"Ind": true
},
"Mileage": {
"Amount": 1536
}
},
"MarriageGrp": "I",
"Equipment": [{
"AirEquipType": "73G",
"content": ""
}],
"OnTimePerformance": null,
"OperatingAirline": {
"FlightNumber": 423,
"Code": "SY",
"content": ""
},
"DepartureTimeZone": {
"GMTOffset": -5.0
}
}
],
"ElapsedTime": 480
}
]
},
"DirectionInd": "Return"
},
"AirItineraryPricingInfo": [{
"FareReturned": true,
"PricingSubSource": "MIP",
"PricingSource": "ADVJR1",
"LastTicketDate": "2017-09-29T00:00:00",
"PTC_FareBreakdowns": {
"PTC_FareBreakdown": [{
"FareBasisCodes": {
"FareBasisCode": [{
"BookingCode": "Z",
"DepartureAirportCode": "LAX",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZT"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "JFK",
"content": "ZT"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "JFK",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZT14"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "LAX",
"content": "ZT14"
}
]
},
"PassengerTypeQuantity": {
"Quantity": 2,
"Code": "ADT",
"Changeable": false
},
"PassengerFare": {
"FareConstruction": {
"CurrencyCode": "USD",
"DecimalPlaces": 2,
"Amount": 229.77
},
"TotalFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 0,
"Amount": 934.28
},
"Taxes": {
"TotalFare": null,
"Tax": [{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "US1",
"Amount": 55.02,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "AY",
"Amount": 17.88,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "AY",
"Amount": 17.88,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
}
]
},
"BaseFare": {
"CurrencyCode": "USD",
"DecimalPlaces": 0,
"Amount": 229.77
},
"EquivFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"Amount": 733.7
}
},
"Endorsements": {
"NonRefundableIndicator": true
},
"TPA_Extensions": {
"FareCalcLine": {
"Info": "LAX SY X/MSP SY NYC128.37SY X/MSP SY LAX101.40USD229.77END ZPLAXMSPJFKMSP XFLAX4.5MSP4.5JFK4.5MSP4.5"
}
},
"FareInfos": {
"FareInfo": [{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
}
]
}
},
{
"FareBasisCodes": {
"FareBasisCode": [{
"BookingCode": "Z",
"DepartureAirportCode": "LAX",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZT"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "JFK",
"content": "ZT"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "JFK",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZT14"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "LAX",
"content": "ZT14"
}
]
},
"PassengerTypeQuantity": {
"Quantity": 2,
"Code": "ADT",
"Changeable": false
},
"PassengerFare": {
"FareConstruction": {
"CurrencyCode": "USD",
"DecimalPlaces": 2,
"Amount": 229.77
},
"TotalFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 0,
"Amount": 934.28
},
"Taxes": {
"TotalFare": null,
"Tax": [{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "US1",
"Amount": 55.02,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "ZP",
"Amount": 13.09,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "AY",
"Amount": 17.88,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "AY",
"Amount": 17.88,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
},
{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "XF",
"Amount": 14.36,
"content": ""
}
]
},
"BaseFare": {
"CurrencyCode": "USD",
"DecimalPlaces": 0,
"Amount": 229.77
},
"EquivFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"Amount": 733.7
}
},
"Endorsements": {
"NonRefundableIndicator": true
},
"TPA_Extensions": {
"FareCalcLine": {
"Info": "LAX SY X/MSP SY NYC128.37SY X/MSP SY LAX101.40USD229.77END ZPLAXMSPJFKMSP XFLAX4.5MSP4.5JFK4.5MSP4.5"
}
},
"FareInfos": {
"FareInfo": [{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
}
]
}
},
{
"FareBasisCodes": {
"FareBasisCode": [{
"BookingCode": "Z",
"DepartureAirportCode": "LAX",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZTIN"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "JFK",
"content": "ZTIN"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "JFK",
"AvailabilityBreak": false,
"ArrivalAirportCode": "MSP",
"content": "ZT14IN"
},
{
"BookingCode": "Z",
"DepartureAirportCode": "MSP",
"AvailabilityBreak": true,
"ArrivalAirportCode": "LAX",
"content": "ZT14IN"
}
]
},
"PassengerTypeQuantity": {
"Quantity": 2,
"Code": "INF",
"Changeable": false
},
"PassengerFare": {
"FareConstruction": {
"CurrencyCode": "USD",
"DecimalPlaces": 2,
"Amount": 0.0
},
"TotalFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 0,
"Amount": 0.0
},
"Taxes": null,
"BaseFare": {
"CurrencyCode": "USD",
"DecimalPlaces": 0,
"Amount": 0.0
},
"EquivFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"Amount": 0.0
}
},
"Endorsements": {
"NonRefundableIndicator": true
},
"TPA_Extensions": {
"FareCalcLine": {
"Info": "LAX SY X/MSP SY NYC0.00SY X/MSP SY LAX0.00USD0.00END"
}
},
"FareInfos": {
"FareInfo": [{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
}
]
}
}
]
},
"FareInfos": {
"FareInfo": [{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
},
{
"FareReference": "Z",
"TPA_Extensions": {
"SeatsRemaining": {
"Number": 9,
"BelowMin": false
},
"Cabin": {
"Cabin": "Y"
},
"Meal": {
"Code": "F"
}
}
}
]
},
"TPA_Extensions": {
"DivideInParty": {
"Indicator": false
}
},
"ItinTotalFare": {
"FareConstruction": {
"CurrencyCode": "USD",
"DecimalPlaces": 2,
"Amount": 919.08
},
"TotalFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"Amount": 3737.12
},
"Taxes": {
"TotalFare": null,
"Tax": [{
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"TaxCode": "TOTALTAX",
"Amount": 802.32,
"content": ""
}]
},
"BaseFare": {
"CurrencyCode": "USD",
"DecimalPlaces": 2,
"Amount": 919.08
},
"EquivFare": {
"CurrencyCode": "BRL",
"DecimalPlaces": 2,
"Amount": 2934.8
}
}
}],
"TicketingInfo": {
"TicketType": "eTicket",
"ValidInterline": "Yes"
},
"TPA_Extensions": {
"TagID": "BargainFinderMaxRQ~8733b3ea-c954-4782-8e75-0332238e6721~1",
"ValidatingCarrier": [{
"Default": null
}]
},
"SequenceNumber": 1
}]
}
},
"Links": [{
"rel": "self",
"": ""
},
{
"rel": "linkTemplate",
"": ""
},
{
"rel": "tagLookupLinkTemplate",
"": ""
},
{
"rel": "paginatedRequestLinkTemplate",
"": ""
}
]
}
My request have 2 ADT, 2 CNN11 and 2 INF. Why SABRE is returning 4 ADT and 2 INF?
If C11 (CNN11 doesn't exist) pax type is not applicable, the system can default to ADT.
*IA«
1 SY 424Z 02OCT 1 LAXMSP SS4 1300 1833 /DCSY /E
2 SY 249Z 02OCT 1 MSPJFK SS4 1945 2335 /DCSY /E
3 SY 240Z 27OCT 5 JFKMSP SS4 0700 0905 /DCSY /E
4 SY 423Z 27OCT 5 MSPLAX SS4 1005 1200 /DCSY /E
WPPCNN11«
‡FORMAT‡
WPPC11«
02OCT DEPARTURE DATE-----LAST DAY TO PURCHASE 30SEP/1341
BASE FARE EQUIV AMT TAXES/FEES/CHARGES TOTAL
4- USD229.77 BRL732.29 200.20XT BRL932.49ADT
XT 54.92US 52.24ZP 35.68AY 57.36XF
919.08 2929.16 800.80 3729.96TTL
ADT-04 ZT ZT14
LAX SY X/MSP SY NYC128.37SY X/MSP SY LAX101.40USD229.77END ZP
LAXMSPJFKMSP XFLAX4.5MSP4.5JFK4.5MSP4.5
NONREF/SVCCHGPLUSFAREDIF/CXL BY FLT TIME OR NOVALUE
C11 NOT APPLICABLE - ADT FARE USED - VERIFY RESTRICTIONS
VALIDATING CARRIER - SY
BAG ALLOWANCE -LAXJFK-NIL/SY
1STCHECKED BAG FEE-LAXJFK-BRL79.67/SY/UP TO 50 POUNDS/23 KILOGR
AMS AND UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS
2NDCHECKED BAG FEE-LAXJFK-BRL111.54/SY/UP TO 50 POUNDS/23 KILOG
RAMS AND UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS
BAG ALLOWANCE -JFKLAX-NIL/SY
1STCHECKED BAG FEE-JFKLAX-BRL79.67/SY/UP TO 50 POUNDS/23 KILOGR
AMS AND UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS ‡
If this is not desired, you can force the C11 pax type but if it's not applicable, no fare will be returned.
WPPC11‡XO«
NO RULES VALID FOR PASSENGER TYPE/CLASS OF SERVICE‡33
I found the response here:
Passenger type mismatch in search request and response
When the Value for XOFares in the request is true, SABRE returns: NO COMBINABLE FARES FOR CLASS USED.
By default this value is false, then SABRE replaces children with adults.