EnhancedSeatMap Seat Without Price - sabre

I am having some trouble with EnhancedSeatMapRQ, as the seats for certain airlines (e.g. AC, AA, etc.) do not return any BasePrice or Price node. When checked with Sabre software, some of these seats do have a cost charged upon booking.
My understanding is in these situations, the CommercialName value is supposed to help lookup the price. With that said, there is no reference in the response that indicates any price, for anything.
Here is one with a price node:
<Offer entitledInd="false">
<CommercialName>SEAT ASSIGNMENT</CommercialName>
<BasePrice>
<TotalAmount currencyCode="CAD">27.12</TotalAmount>
<Taxes>
<Tax currencyCode="CAD">3.12</Tax>
<TaxTypeRef>taxTypeDetail_1</TaxTypeRef>
</Taxes>
</BasePrice>
</Offer>
And one without it:
<Offer entitledInd="true">
<CommercialName>ADVANCE SEAT SELECTION</CommercialName>
<OfferItemId>offerItem_1</OfferItemId>
<TravellerID>1</TravellerID>
</Offer>
Specifies the commercial name associated with matched price. is all that the docs say about the CommercialName node.
Please guide me through the process of pricing these seats, as it's crucial to a proper seat selection process.
UPDATE: We have noticed that all the Offer nodes without a Price or BasePrice, are inside seats with chargeableInd set to false. With that said, this happens with a significant number of the Airlines, and if unresolved, will render our seat selection counter-productive.

So Sabre team got back to me, and clarified the issue.
When sending a SeatMapQueryEnhanced, the /CabinDefinition/RBD is supposed to have the #ProgramSystemCode, received from BFM.
Example:
<Flight origin="YVR" destination="DFW">
<DepartureDate>2022-07-13</DepartureDate>
<Operating carrier="AA">392</Operating>
<Marketing carrier="AA">392</Marketing>
<ArrivalDate>2022-07-13</ArrivalDate>
</Flight>
<CabinDefinition>
<RBD>N</RBD>
</CabinDefinition>
Where N is extracted form the ProgramSystemCode attribute of that Segment node.

Related

Is it possible to group segments in Retrieve PNR response?

I'm currently retrieving a PNR information using the Retrieve PNR API. For display, i need to group the flights by legs. However, the flight returned in the view i'm using (DefaultWithPq) are simply returned as a single sequence of segments :
<stl18:Segments>
<stl18:Segment sequence="1" id="8">
...
<stl18:Segment sequence="2" id="9">
...
<stl18:Segment sequence="3" id="10">
...
<stl18:Segment sequence="4" id="11">
...
</stl18:Segments>
How is it possible from those sequence (without calculating with departure times destinations etc.) to know which ones are in the departure leg and which ones are in the return leg ?
thank you
Unfortunately this would be have to be done by your application's logic, as the service does not return that information. You can use dates and marriage indicators but there is no element to show which one is the inbound or outbound flight. Usually customers obtain this with shopping services like BFM.

Customer segmentation price list does not work as expected in basket and checkout

The problem
We have created a customer segment and linked both a customer and a price list to this customer segment. The linked price list defines a special price of $5 for one of the products. This product has a 'default' price of $10.
When I login to the storefront with a user that belongs to customer segment, I see the correct price of $5 on the PDP. However once this product is added to the basket, it shows the 'default' product price of $10 in the minicart and on the cart page. I would expect to see $5 there as well.
Technical information
The (correct) price on the PDP is retrieved directly from the ProductBO by using the default ISProductPrice module which links to the default ProductPrice.isml.
<ISProductPrice
ProductBO="#ProductBO#"
Currency="#CurrentRequest:Currency#"
ShowInformationalPrice="true"
RichSnippetsEnabled="#RichSnippetsEnabled#"
>
The (wrong) price on the cart page is retrieved from the BasketComputedProductLineItemBO with the following (default ISH) code
<isif condition="#PriceDisplayType EQ 'net'#">
<isprint value="#PLI:SingleBasePriceNet#">
<iselse/>
<isprint value="#PLI:SingleBasePriceGross#">
</isif>
What I've tried so far
Clear cookies/cache to make sure we have a completely new basket
Made sure the Customer Segmentation Service is enabled (default ISH service).
Tried all the different methods to fetch a price from the BasketComputedProductLineItemBO
Added a couple of different products to the price list
Added a couple of different customers to the customer segment
Ran a search index
Tried to reproduce the issue on the ISH demo server
Checked the documentation on customer segmentation from the ISH support page
Tried to add a customer to the price list directly instead of a customer segment. When doing it this way, everything seems to work as expected.
At this point I'm completely stuck. Any help on how to go from here would be greatly appreciated.
Check this
https://support.intershop.com/kb/index.php/Display/IS-22923
If you search on segment on the support for version 7.9 then you get few bugs. Disable the dynamic segment service because it is buggy. See if that work or else i think you really do have a platform bug here.
Also a good idea to upgrade to the lastest minor version.

Sabre: How to pass Frequent Flyer Number in PNR

I would like to know how to pass Frequent Flyer's number in case 2 different Airlines.
Do I need to pass Airline wise i.e Segment wise, or can I pass for Marketing Airline.
For Instance:
Say Marketing Airline is "9W" and Suppose 2 connecting Airlines are "9W" and "AI", so in this case, will it be ok if I just pass for "9W" (Marketing Airline) ?
I think passing MarketingAirline in ProgramID should be OK.
according to Sabre documentation, you can pass frequent flyer number using PassengerDetailsRQ when creating PNR with this XML element:
<CustLoyalty MembershipID="155P9B76" NameNumber="1.1" ProgramID="XX"
SegmentNumber="1" TravelingCarrierCode="YY"/>
The thing you have to know that you can't combine SegmentNumber element with TravellingCarrierCode. In your case, you have two different airlines to ticket but you want pass the frequent flyer number to only one of these, then you can do:
<CustLoyalty MembershipID="155P9B76" NameNumber="1.1" ProgramID="XX" TravelingCarrierCode="XX"/>
ProgramID is the airline that you want to pass the frequent flyer number, TravellingCarrierCode can be same or different (due to operating / marketing airline differentiation). NameNumber stands for passenger I guess, I didn't have exact information for that so I don't want to give you wrong information about that attribute.
The schema you should follow in request is:
PassengerDetailsRQ --> TravelItineraryAddInfoRQ --> CustomerInfo --> CustLoyalty
Regards.

Microsoft Dynamics AX 2012 - Purchase Price

I've been instructed to create a customization on how the Unit Price (Purchline.PurchPrice) is calculated.
Right now when I'm creating a new purchase order and select an item, it simply pulls from the pricing from the released products for that particular item.
For my customization, I'm going to be using 3 variables to determine the pricing.
1: ItemId
2: Current Session Date
3: Customized Field in the Purchase Header
As such, I'll need access to purchline for the ItemId on the current line, and access to purchtable to access my field in the header.
Right now there is a big process for how the pricing gets pulled from released products, how the system checks for discounts, etc.
My question is, can anyone suggest the best class/location to check and modify where my final PurchPrice field gets set and inserted into purchline?
I need this to be basically the last part of the process of how this PurchPrice gets calculated. I've looked around in the PriceDisc & PriceConvert classes, SalesPurchLine map, the modified method of the ItemId field of the form.
AxPurchline doesn't seem to be triggering at all when I put breakpoints in them and create new purchase order lines.
Any help, insight or advice on where it would be the best to make logic changes for the PurchPrice field would be greatly appreciated.
Thanks in advance!
The table Purchline actually has a method called setPriceDisc where the price agreement is set and the line amount is adjusted.
This seems to be the last place where PurchLine.PurchPrice is set.

Amazon MWS Report Type "_GET_MERCHANT_LISTINGS_DATA_" result attributes meaning

In Amazon MWS API, when requesting report of type "_GET_MERCHANT_LISTINGS_DATA_"
What is the difference between the returned attributes:
product-id
listing-id
asin1
I also have tried to find any reference for the tab-delimited report types, but it seems to be scattered all around the web. The best description I found was part of the instructions for the Amazon Inventory Loader. (Note: may require a MWS seller login, the corresponding XLS does not have all columns described on the linked webpage) That page should answer most of your questions.
Since the link above might require a login, here's a short description on what these columns do:
asin1 refers to an item's Amazon Standard Identification Number. Every item on Amazon has such a number, there even is a Wikipedia entry describing what it is.
product-id along with product-id-typerefers to the item's non-Amazon standard identification number, if such a thing exists (otherwise it'll contain a copy of the item's ASIN).
product-id-type=1 -> product-id is ASIN
product-id-type=2 -> product-id is ISBN.
product-id-type=3 -> product-id is UPC
product-id-type=4 -> product-id is EAN (now called GTIN)
sku is your own item identifier such as part number. You created the link between an ASIN and your own SKU by creating the product. (I know you didn't ask for this, but this is for the sake of completeness)
listing-id There does not seem to be a lot of documentation on what theses are. There is a page explaining how to find out an item's listing id. It does not say why you'd ever want to know, though. I assume a listing ID identifies a certain seller's (your) offer for a specific item, but all MWS requests I've ever done either required me to link to a ASIN or my own SKU, but there may be others that require this id.
Sidenote: I find it weird that a single listing-id may relate to more than one ASIN - otherwise, why are there columns named asin2 and asin3?

Resources