Can any one help me on the OTA_AirPriceRQ request. I want to know the options which I can include with it so that i can get a success response.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:mes="http://www.ebxml.org/namespaces/messageHeader" xmlns:v3="http://services.sabre.com/sp/eab/v3_7">
<soapenv:Header>
<sec:Security>
<sec:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-3273332406989210493!448034!0!1</sec:BinarySecurityToken>
</sec:Security>
<mes:MessageHeader >
<mes:From>
<!--1 or more repetitions:-->
<mes:PartyId mes:type="urn:x12.org:IO5:01">Traform</mes:PartyId>
</mes:From>
<mes:To>
<!--1 or more repetitions:-->
<mes:PartyId mes:type="urn:x12.org:IO5:01">Sabre</mes:PartyId>
</mes:To>
<mes:CPAId>VJ6I</mes:CPAId>
<mes:ConversationId>Traform</mes:ConversationId>
<mes:Service mes:type="OTA">EnhancedAirBookRQ</mes:Service>
<mes:Action>EnhancedAirBookRQ</mes:Action>
<mes:MessageData>
<mes:MessageId>1000</mes:MessageId>
<mes:Timestamp>2017-05-22T17:28</mes:Timestamp>
</mes:MessageData>
</mes:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<v3:EnhancedAirBookRQ xmlns="http://services.sabre.com/sp/eab/v3_7" version="3.7.0" HaltOnError="true">
<v3:OTA_AirBookRQ>
<v3:OriginDestinationInformation>
<v3:FlightSegment DepartureDateTime="2017-11-21T17:05" FlightNumber="9392"
NumberInParty="1"
ResBookDesigCode="F" Status="QF">
<v3:DestinationLocation LocationCode="LHR"/>
<v3:MarketingAirline Code="MH" FlightNumber="9392"/>
<v3:OriginLocation LocationCode="DFW"/>
</v3:FlightSegment>
</v3:OriginDestinationInformation>
<RedisplayReservation NumAttempts="2" WaitInterval="5000"/>
</v3:OTA_AirBookRQ>
<v3:OTA_AirPriceRQ>
<v3:PriceRequestInformation Retain="true">
<v3:OptionalQualifiers>
<v3:PricingQualifiers>
<PassengerType Code="ADT" Quantity="1" />
</v3:PricingQualifiers>
</v3:OptionalQualifiers>
</v3:PriceRequestInformation>
</v3:OTA_AirPriceRQ>
</v3:EnhancedAirBookRQ>
</soapenv:Body>
</soapenv:Envelope>
See below complete Enhanced Air Book request
<?xml version="1.0" encoding="UTF-8"?>
<EnhancedAirBookRQ version="3.7.0" HaltOnError="true">
<OTA_AirBookRQ xmlns="http://services.sabre.com/sp/eab/v3_7">
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2017-06-01T15:40" FlightNumber="4793" NumberInParty="2" ResBookDesigCode="K" Status="NN">
<DestinationLocation LocationCode="CDG" />
<Equipment AirEquipType="77W" />
<MarketingAirline Code="9W" FlightNumber="639" />
<MarriageGrp>O</MarriageGrp>
<OperatingAirline Code="AF" />
<OriginLocation LocationCode="IAH" />
</FlightSegment>
<FlightSegment DepartureDateTime="2017-06-02T11:35" FlightNumber="123" NumberInParty="2" ResBookDesigCode="K" Status="NN">
<DestinationLocation LocationCode="BOM" />
<Equipment AirEquipType="333" />
<MarketingAirline Code="9W" FlightNumber="123" />
<MarriageGrp>I</MarriageGrp>
<OperatingAirline Code="9W" />
<OriginLocation LocationCode="CDG" />
</FlightSegment>
<FlightSegment DepartureDateTime="2017-06-03T05:30" FlightNumber="341" NumberInParty="2" ResBookDesigCode="K" Status="NN">
<DestinationLocation LocationCode="BDQ" />
<Equipment AirEquipType="738" />
<MarketingAirline Code="9W" FlightNumber="341" />
<MarriageGrp>I</MarriageGrp>
<OperatingAirline Code="9W" />
<OriginLocation LocationCode="BOM" />
</FlightSegment>
<FlightSegment DepartureDateTime="2017-06-06T20:55" FlightNumber="344" NumberInParty="2" ResBookDesigCode="O" Status="NN">
<DestinationLocation LocationCode="BOM" />
<Equipment AirEquipType="738" />
<MarketingAirline Code="9W" FlightNumber="344" />
<MarriageGrp>O</MarriageGrp>
<OperatingAirline Code="9W" />
<OriginLocation LocationCode="BDQ" />
</FlightSegment>
<FlightSegment DepartureDateTime="2017-06-07T02:25" FlightNumber="3288" NumberInParty="2" ResBookDesigCode="V" Status="NN">
<DestinationLocation LocationCode="AMS" />
<Equipment AirEquipType="333" />
<MarketingAirline Code="9W" FlightNumber="3288" />
<MarriageGrp>I</MarriageGrp>
<OperatingAirline Code="9W" />
<OriginLocation LocationCode="BOM" />
</FlightSegment>
<FlightSegment DepartureDateTime="2017-06-07T10:00" FlightNumber="8803" NumberInParty="2" ResBookDesigCode="V" Status="NN">
<DestinationLocation LocationCode="IAH" />
<Equipment AirEquipType="74E" />
<MarketingAirline Code="9W" FlightNumber="661" />
<MarriageGrp>I</MarriageGrp>
<OperatingAirline Code="KL" />
<OriginLocation LocationCode="AMS" />
</FlightSegment>
</OriginDestinationInformation>
<RedisplayReservation NumAttempts="2" WaitInterval="5000" />
</OTA_AirBookRQ>
<OTA_AirPriceRQ xmlns="http://services.sabre.com/sp/eab/v3_7">
<PriceRequestInformation Retain="true">
<OptionalQualifiers>
<FlightQualifiers>
<VendorPrefs>
<Airline Code="9W" />
</VendorPrefs>
</FlightQualifiers>
<MiscQualifiers>
<Commission Amount="0.00" />
</MiscQualifiers>
<PricingQualifiers CurrencyCode="USD">
<PassengerType Code="ADT" Quantity="1" />
<PassengerType Code="INF" Quantity="1" />
<PassengerType Code="CNN" Quantity="1" />
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
<PostProcessing xmlns="http://services.sabre.com/sp/eab/v3_7">
<RedisplayReservation WaitInterval="5000" UnmaskCreditCard="true" />
</PostProcessing>
</EnhancedAirBookRQ>
Related
Please note this pertains to Sharepoint Online Themes only, not older versions or on-premises.
Specifically, my manager wants a dark theme and we want to use the "Dark Blue" theme as a base for it. I can pull the colors for custom themes, but the built-in themes do not seem to be accessible with SPO Powershell get-spotheme or other methods i can find. Since it is a publically available theme, I did not expect it to be too difficult to get the information. I found this link https://learn.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-theming/sharepoint-site-theming-json-schema which is supposed to show the default theme colors, but when i create my own from it and add/apply, it is not even close to the current "Dark Blue" theme. The theme.spcolor and theme.sptheme file created on application i can get, but they use a different color and format.
RANT: Microsoft really does not make this user friendly, which seems like a poor oversight on their part since users often think things are better when they LOOK better. Even the Theme Generator found here appears to be broken (along with lots of old broken links) and you cannot scroll to view and confirm without using dev tools to edit page. https://fluentuipr.z22.web.core.windows.net/heads/master/theming-designer/index.html
Theme files pulled directly from site /_catalogs/Theme after applied and files created by SP show base slot colors but they are in an odd format starting with ff? I think i can take the ff off and that should be the hex values but not entirely sure it will be accurate. Would prefer to get the actual theme as it currently exists like you would use for add-spotheme/get-spotheme - unsure it the additional colors are extrapolated colors from applying a theme or if i should/can include them in a theme i create for with add-spotheme. ANY ADVICE APPRECIATED
Theme.sptheme Dark Blue
<?xml version="1.0" encoding="utf-8"?>
<s:theme xmlns:s="http://schemas.microsoft.com/sharepoint/"
name="Dark Blue"
colorPaletteUrl="theme.spcolor" />
Theme.spcolor Dark Blue
<?xml version="1.0" encoding="utf-8"?>
<s:colorPalette isInverted="true" previewSlot1="BackgroundOverlay" previewSlot2="BodyText" previewSlot3="AccentText" xmlns:s="http://schemas.microsoft.com/sharepoint/">
<s:color name="themePrimary" value="ff3a96dd" />
<s:color name="themeLighterAlt" value="ff020609" />
<s:color name="themeLighter" value="ff091823" />
<s:color name="themeLight" value="ff112d43" />
<s:color name="themeTertiary" value="ff235a85" />
<s:color name="themeSecondary" value="ff3385c3" />
<s:color name="themeDarkAlt" value="ff4ba0e1" />
<s:color name="themeDark" value="ff65aee6" />
<s:color name="themeDarker" value="ff8ac2ec" />
<s:color name="accent" value="ff3a96dd" />
<s:color name="neutralLighterAlt" value="ff1d2b3c" />
<s:color name="neutralLighter" value="ff223244" />
<s:color name="neutralLight" value="ff2b3d51" />
<s:color name="neutralQuaternaryAlt" value="ff324459" />
<s:color name="neutralQuaternary" value="ff374a5f" />
<s:color name="neutralTertiaryAlt" value="ff4f637a" />
<s:color name="neutralTertiary" value="ffc8c8c8" />
<s:color name="neutralSecondary" value="ffd0d0d0" />
<s:color name="neutralPrimaryAlt" value="ffdadada" />
<s:color name="neutralPrimary" value="ffffffff" />
<s:color name="neutralDark" value="fff4f4f4" />
<s:color name="black" value="fff8f8f8" />
<s:color name="white" value="ff182534" />
<s:color name="primaryBackground" value="ff182534" />
<s:color name="primaryText" value="ffffffff" />
<s:color name="HyperlinkActive" value="ff8ac2ec" />
<s:color name="CommandLinksPressed" value="ff8ac2ec" />
<s:color name="NavigationPressed" value="ff8ac2ec" />
<s:color name="EmphasisHoverBorder" value="ff8ac2ec" />
<s:color name="TopBarPressedText" value="ff8ac2ec" />
<s:color name="HeaderNavigationPressedText" value="ff8ac2ec" />
<s:color name="Hyperlinkfollowed" value="ff8ac2ec" />
<s:color name="EmphasisHoverBackground" value="ff65aee6" />
<s:color name="EmphasisBorder" value="ff65aee6" />
<s:color name="AccentText" value="ff3a96dd" />
<s:color name="CommandLinksHover" value="ff3a96dd" />
<s:color name="RowAccent" value="ff3a96dd" />
<s:color name="NavigationAccent" value="ff3a96dd" />
<s:color name="NavigationHover" value="ff3a96dd" />
<s:color name="EmphasisBackground" value="ff3a96dd" />
<s:color name="HeaderNavigationHoverText" value="ff3a96dd" />
<s:color name="HeaderNavigationSelectedText" value="ff3a96dd" />
<s:color name="SuiteBarBackground" value="ff3a96dd" />
<s:color name="Hyperlink" value="ff3a96dd" />
<s:color name="ContentAccent1" value="ff3a96dd" />
<s:color name="AccentLines" value="ff3385c3" />
<s:color name="HeaderAccentLines" value="ff3385c3" />
<s:color name="ButtonPressedBorder" value="ff3385c3" />
<s:color name="SuiteBarHoverBackground" value="ff235a85" />
<s:color name="StrongLines" value="ff112d43" />
<s:color name="HeaderStrongLines" value="ff112d43" />
<s:color name="SuiteBarHoverText" value="ff112d43" />
<s:color name="ButtonPressedBackground" value="ff112d43" />
<s:color name="ButtonHoverBorder" value="ff112d43" />
<s:color name="ButtonHoverBackground" value="ff091823" />
<s:color name="SelectionBackground" value="7f112d43" />
<s:color name="HoverBackground" value="7f091823" />
<s:color name="NavigationHoverBackground" value="7f091823" />
<s:color name="PageBackground" value="ff182534" />
<s:color name="EmphasisText" value="ff182534" />
<s:color name="SuiteBarText" value="ff182534" />
<s:color name="TileText" value="ff182534" />
<s:color name="BackgroundOverlay" value="d8182534" />
<s:color name="HeaderBackground" value="d8182534" />
<s:color name="FooterBackground" value="d8182534" />
<s:color name="DisabledBackground" value="ff1d2b3c" />
<s:color name="HeaderDisabledBackground" value="ff1d2b3c" />
<s:color name="ButtonBackground" value="ff1d2b3c" />
<s:color name="ButtonDisabledBackground" value="ff1d2b3c" />
<s:color name="SubtleEmphasisBackground" value="ff223244" />
<s:color name="DialogBorder" value="ff223244" />
<s:color name="NavigationSelectedBackground" value="c62b3d51" />
<s:color name="TopBarBackground" value="c62b3d51" />
<s:color name="DisabledLines" value="ff2b3d51" />
<s:color name="HeaderDisabledLines" value="ff2b3d51" />
<s:color name="ButtonDisabledBorder" value="ff2b3d51" />
<s:color name="SuiteBarDisabledText" value="ff2b3d51" />
<s:color name="SubtleLines" value="ff4f637a" />
<s:color name="HeaderSubtleLines" value="ff4f637a" />
<s:color name="ButtonGlyphDisabled" value="ff4f637a" />
<s:color name="DisabledText" value="ffc8c8c8" />
<s:color name="CommandLinksDisabled" value="ffc8c8c8" />
<s:color name="HeaderDisableText" value="ffc8c8c8" />
<s:color name="ButtonDisabledText" value="ffc8c8c8" />
<s:color name="Lines" value="ffc8c8c8" />
<s:color name="HeaderLines" value="ffc8c8c8" />
<s:color name="ButtonBorder" value="ffc8c8c8" />
<s:color name="CommandLinks" value="ffd0d0d0" />
<s:color name="Navigation" value="ffd0d0d0" />
<s:color name="SubtleEmphasisText" value="ffd0d0d0" />
<s:color name="TopBarText" value="ffd0d0d0" />
<s:color name="HeaderNavigationText" value="ffd0d0d0" />
<s:color name="ButtonGlyph" value="ffd0d0d0" />
<s:color name="BodyText" value="ffffffff" />
<s:color name="WebPartHeading" value="ffffffff" />
<s:color name="HeaderText" value="ffffffff" />
<s:color name="ButtonText" value="ffffffff" />
<s:color name="ButtonGlyphActive" value="ffffffff" />
<s:color name="TopBarHoverText" value="ffffffff" />
<s:color name="StrongBodyText" value="fff4f4f4" />
<s:color name="SiteTitle" value="fff4f4f4" />
<s:color name="CommandLinksSecondary" value="fff4f4f4" />
<s:color name="SubtleEmphasisCommandLinks" value="fff4f4f4" />
<s:color name="HeaderSiteTitle" value="fff4f4f4" />
<s:color name="TileBackgroundOverlay" value="7ff8f8f8" />
<s:color name="ContentAccent2" value="ff00485b" />
<s:color name="ContentAccent3" value="ff288054" />
<s:color name="ContentAccent4" value="ff767956" />
<s:color name="ContentAccent5" value="ffed0033" />
<s:color name="ContentAccent6" value="ff682a7a" />
</s:colorPalette>
normal format for sp application via powershell is like the below:
#DARK BLUE BUILT IN – wrong/old
$themeDB1 = #{
“themePrimary: '#00bcf2',
themeLighterAlt: '#00090c',
themeLighter: '#001318',
themeLight: '#002630',
themeTertiary: '#005066',
themeSecondary: '#00abda',
themeDarkAlt: '#0ecbff',
themeDark: '#44d6ff',
themeDarker: '#6cdfff',
neutralLighterAlt: '#2e3340',
neutralLighter: '#353a49',
neutralLight: '#404759',
neutralQuaternaryAlt: '#474e62',
neutralQuaternary: '#4c546a',
neutralTertiaryAlt: '#646e8a',
neutralTertiary: '#c8c8c8',
neutralSecondaryAlt: '#d0d0d0',
neutralSecondary: '#dadada',
neutralPrimaryAlt: '#eaeaea',
neutralPrimary: '#ffffff',
neutralDark: '#f4f4f4',
black: '#f8f8f8',
white: '#262a35',
primaryBackground: '#262a35',
primaryText: '#ffffff',
error: '#ff5f5f',
accent: '#3a96dd'
}
Add-SPOTheme -Identity "FedPoint Dark Blue 1" -Palette $themeDB1 -IsInverted $true -Overwrite
#(from what i can tell -isinverted $true is for Dark background themes, but i have not had much luck `testing it as yet)
attempted to pull themes, only able to pull custom themes.
attempted to pull files created on theme application, not in same format and some info may be extrapolated at time of theme application with colors using different values than expected.
attempted to use disclosed MS Theme colors listed, but color values do not match actual current values when applied as a test theme.
UPDATE
Changed format to PowerShell accepted format
Removed first two letters of each color and replaced with #
replaced "themePrimary"="#3a96dd” with bright blue "themePrimary"="#2489ed”;
Replaced "themeLight"="#112d43"; with navy "themeLight"="#00308f"; This allows it to be selected as header and section background, may be too busy for our needs, considering creating two Dark Mode themes instead
It is likely most things after black/white are not in use as they are not in the FLUENT theme generator, but not sure since microsoft does not seem to want to document SharePoint Online Themes well
NOTE: May want to simply remove any with alpha not equal to FF (opaque)
Code I ended up using is:
$themeDB2 = #{
"themePrimary"="#2489ed";
"themeLighterAlt"="#020609";
"themeLighter"="#091823";
"themeLight"="#00308f";
"themeTertiary"="#235a85";
"themeSecondary"="#3385c3";
"themeDarkAlt"="#4ba0e1";
"themeDark"="#65aee6";
"themeDarker"="#8ac2ec";
"accent"="#2489ed";
"neutralLighterAlt"="#1d2b3c";
"neutralLighter"="#223244";
"neutralLight"="#2b3d51";
"neutralQuaternaryAlt"="#324459";
"neutralQuaternary"="#374a5f";
"neutralTertiaryAlt"="#4f637a";
"neutralTertiary"="#c8c8c8";
"neutralSecondary"="#d0d0d0";
"neutralPrimaryAlt"="#dadada";
"neutralPrimary"="#ffffff";
"neutralDark"="#f4f4f4";
"black"="#f8f8f8";
"white"="#182534";
"primaryBackground"="#182534";
"primaryText"="#ffffff";
"HyperlinkActive"="#8ac2ec";
"CommandLinksPressed"="#8ac2ec";
"NavigationPressed"="#8ac2ec";
"EmphasisHoverBorder"="#8ac2ec";
"TopBarPressedText"="#8ac2ec";
"HeaderNavigationPressedText"="#8ac2ec";
"Hyperlinkfollowed"="#8ac2ec";
"EmphasisHoverBackground"="#65aee6";
"EmphasisBorder"="#65aee6";
"AccentText"="#2489ed";
"CommandLinksHover"="#2489ed";
"RowAccent"="#2489ed";
"NavigationAccent"="#2489ed";
"NavigationHover"="#2489ed";
"EmphasisBackground"="#2489ed";
"HeaderNavigationHoverText"="#2489ed";
"HeaderNavigationSelectedText"="#2489ed";
"SuiteBarBackground"="#2489ed";
"Hyperlink"="#2489ed";
"ContentAccent1"="#2489ed";
"AccentLines"="#3385c3";
"HeaderAccentLines"="#3385c3";
"ButtonPressedBorder"="#3385c3";
"SuiteBarHoverBackground"="#235a85";
"StrongLines"="#112d43";
"HeaderStrongLines"="#112d43";
"SuiteBarHoverText"="#112d43";
"ButtonPressedBackground"="#112d43";
"ButtonHoverBorder"="#112d43";
"ButtonHoverBackground"="#091823";
"SelectionBackground"="#112d43";
"HoverBackground"="#091823";
"NavigationHoverBackground"="#091823";
"PageBackground"="#182534";
"EmphasisText"="#182534";
"SuiteBarText"="#182534";
"TileText"="#182534";
"BackgroundOverlay"="#182534";
"HeaderBackground"="#182534";
"FooterBackground"="#182534";
"DisabledBackground"="#1d2b3c";
"HeaderDisabledBackground"="#1d2b3c";
"ButtonBackground"="#1d2b3c";
"ButtonDisabledBackground"="#1d2b3c";
"SubtleEmphasisBackground"="#223244";
"DialogBorder"="#223244";
"NavigationSelectedBackground"="#2b3d51";
"TopBarBackground"="#2b3d51";
"DisabledLines"="#2b3d51";
"HeaderDisabledLines"="#2b3d51";
"ButtonDisabledBorder"="#2b3d51";
"SuiteBarDisabledText"="#2b3d51";
"SubtleLines"="#4f637a";
"HeaderSubtleLines"="#4f637a";
"ButtonGlyphDisabled"="#4f637a";
"DisabledText"="#c8c8c8";
"CommandLinksDisabled"="#c8c8c8";
"HeaderDisableText"="#c8c8c8";
"ButtonDisabledText"="#c8c8c8";
"Lines"="#c8c8c8";
"HeaderLines"="#c8c8c8";
"ButtonBorder"="#c8c8c8";
"CommandLinks"="#d0d0d0";
"Navigation"="#d0d0d0";
"SubtleEmphasisText"="#d0d0d0";
"TopBarText"="#d0d0d0";
"HeaderNavigationText"="#d0d0d0";
"ButtonGlyph"="#d0d0d0";
"BodyText"="#ffffff";
"WebPartHeading"="#ffffff";
"HeaderText"="#ffffff";
"ButtonText"="#ffffff";
"ButtonGlyphActive"="#ffffff";
"TopBarHoverText"="#ffffff";
"StrongBodyText"="#f4f4f4";
"SiteTitle"="#f4f4f4";
"CommandLinksSecondary"="#f4f4f4";
"SubtleEmphasisCommandLinks"="#f4f4f4";
"HeaderSiteTitle"="#f4f4f4";
"TileBackgroundOverlay"="#f8f8f8";
"ContentAccent2"="#00485b";
"ContentAccent3"="#288054";
"ContentAccent4"="#767956";
"ContentAccent5"="#ed0033";
"ContentAccent6"="#682a7a";
}
Add-SPOTheme -Identity "Dark Mode Blue 1" -Palette $themeDB2 -IsInverted $true -Overwrite
I'm using CreatePassengerNameRecordRQ API to create PNR and book flight, flight infomation I had got by BFM API. But CreatePassengerNameRecordRQ api return error can not create pnr. Pls tell me, how can i create pnr for flight affter get BFM.
This is my request:
<CreatePassengerNameRecordRQ xmlns="http://services.sabre.com/sp/reservation/v2_1" version="2.1.0" haltOnAirPriceError="false" targetCity="KUL">
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid#gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<AirBook>
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2019-02-15T21:30:00" FlightNumber="804" NumberInParty="1" ResBookDesigCode="V" Status="NN">
<DestinationLocation LocationCode="SIN" />
<MarketingAirline Code="OD" FlightNumber="804"/>
<OriginLocation LocationCode="KUL"/>
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<PostProcessing RedisplayReservation="true" >
<EndTransaction>
<Source ReceivedFrom=" TESTING"/>
</EndTransaction>
</PostProcessing>
</CreatePassengerNameRecordRQ>
This is my response:
<CreatePassengerNameRecordRS xmlns="http://services.sabre.com/sp/reservation/v2_1">
<Error type="Application" timeStamp="2019-02-14T21:24:31.556-06:00">
<SystemSpecificResults>
<Message code="ERR.SP.BUSINESS_ERROR">PNR has not been created successfully, see remaining messages for details</Message>
<Message code="ERR.SP.BUSINESS_ERROR">Could not find the PNR locator in the End Transaction response</Message>
</SystemSpecificResults>
</Error>
</CreatePassengerNameRecordRS>
Can you try again without "targetCity="KUL""? This is changing the PCC to KUL, and I don't think you would want to leave your actual PCC. "KUL" would be a pseudo city code used by airlines and not travel agency Sabre users.
I would recommend you to use the orchestrated option with EnhanchedAirbookRQ + PassengerDetailsRQ as it is way more stable.
In my BFM Rest request, I can find a flight. In my BFM Soap request (Bargain Finder Max RQ) I can´t find the same flight. Sometimes BFM Soap Sabre is returning: "MIN CONNECTION TIME NOT MET BEFORE LEG 2". Whys is this happening?
This is my request to BFM SOAP:
<?xml version="1.0" encoding="utf-16"?>
<OTA_AirLowFareSearchRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="3.3.0" ResponseType="OTA" ResponseVersion="3.3.0">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source PseudoCityCode="">
<RequestorID Type="1" ID="1">
<CompanyName Code="TN" />
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="0" Fixed="true" xmlns="http://www.opentravel.org/OTA/2003/05">
<DepartureDateTime>2018-01-31T06:50:00</DepartureDateTime>
<OriginLocation LocationCode="BSB" />
<DestinationLocation LocationCode="CNF" />
<TPA_Extensions>
<Flight Number="3349" DepartureDateTime="2018-01-31T06:50:00" ArrivalDateTime="2018-01-31T08:10:00" Type="A">
<OriginLocation LocationCode="BSB" />
<DestinationLocation LocationCode="CNF" />
<Airline Operating="JJ" Marketing="JJ" />
<Fare BrandID="JJ" />
</Flight>
<ConnectionTime Min="115" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="1" Fixed="true" xmlns="http://www.opentravel.org/OTA/2003/05">
<DepartureDateTime>2018-01-31T10:05:00</DepartureDateTime>
<OriginLocation LocationCode="CNF" />
<DestinationLocation LocationCode="GRU" />
<TPA_Extensions>
<Flight Number="3345" DepartureDateTime="2018-01-31T10:05:00" ArrivalDateTime="2018-01-31T11:20:00" Type="A">
<OriginLocation LocationCode="CNF" />
<DestinationLocation LocationCode="GRU" />
<Airline Operating="JJ" Marketing="JJ" />
<Fare BrandID="JJ" />
</Flight>
<ConnectionTime Min="60" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2" Fixed="true" xmlns="http://www.opentravel.org/OTA/2003/05">
<DepartureDateTime>2018-02-21T16:50:00</DepartureDateTime>
<OriginLocation LocationCode="GRU" />
<DestinationLocation LocationCode="GYN" />
<TPA_Extensions>
<Flight Number="3546" DepartureDateTime="2018-02-21T16:50:00" ArrivalDateTime="2018-02-21T18:31:00" Type="A">
<OriginLocation LocationCode="GRU" />
<DestinationLocation LocationCode="GYN" />
<Airline Operating="JJ" Marketing="JJ" />
<Fare BrandID="JJ" />
</Flight>
<ConnectionTime Min="169" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="3" Fixed="true" xmlns="http://www.opentravel.org/OTA/2003/05">
<DepartureDateTime>2018-02-21T21:20:00</DepartureDateTime>
<OriginLocation LocationCode="GYN" />
<DestinationLocation LocationCode="BSB" />
<TPA_Extensions>
<Flight Number="3854" DepartureDateTime="2018-02-21T21:20:00" ArrivalDateTime="2018-02-21T22:00:00" Type="A">
<OriginLocation LocationCode="GYN" />
<DestinationLocation LocationCode="BSB" />
<Airline Operating="JJ" Marketing="JJ" />
<Fare BrandID="JJ" />
</Flight>
<ConnectionTime Min="60" />
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences xmlns="http://www.opentravel.org/OTA/2003/05">
<TPA_Extensions>
<NumTrips Number="1" />
<TripType />
<XOFares Value="false" />
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary xmlns="http://www.opentravel.org/OTA/2003/05">
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1" />
</AirTravelerAvail>
</TravelerInfoSummary>
<TPA_Extensions xmlns="http://www.opentravel.org/OTA/2003/05">
<IntelliSellTransaction>
<RequestType Name="50ITINS" />
</IntelliSellTransaction>
<DiversityControl>
<LowFareBucket Options="20%" FareCutOff="25%" />
<Dimensions>
<Carrier Weight="1" OnlineIndicator="true" />
</Dimensions>
</DiversityControl>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ>
The min connection time is 60 min.
The flight connection time is greater than 60 min.
Normally have a minimum connection Time is needed between the arrival and departure of 2 segments depending on Airline and Airport. E.g. you cant arrive at 1:30 PM and departe 1:35 PM.
It seems the time is too small (can be checked when booking the itin in Sabre RED with VCT*).
Regarding the discrepancy it sounds like a case for sabre support. In general i dont trust SABRE Rest, so i trust Soap to be correct.
If you want to you can give me the segments and i will check on the Sabre Workspace.
In xml OTA_AirLowFareSearchRQ there is an object called OriginDestinetionInformation and inside this object there another property called OriginDestinetionInformation. If you set THE property "Fixed" to false maybe this error will be solved. I´m yet testing this solution.
I am sending request to get CreatePassengerNameRecordRQ(PNR) through the SOAP UI. I am facing some header issue when I post request. My request is the following:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:mes="http://www.ebxml.org/namespaces/messageHeader" xmlns:v3="http://services.sabre.com/sp/eab/v3_2">
<soapenv:Header>
<sec:Security>
<sec:BinarySecurityToken>XXXXXXXXXXXXXXXXXXXXX</sec:BinarySecurityToken>
</sec:Security>
<mes:MessageHeader>
<mes:From>
<!--1 or more repetitions:-->
<mes:PartyId mes:type="urn:x12.org:IO5:01">from</mes:PartyId>
</mes:From>
<mes:To>
<!--1 or more repetitions:-->
<mes:PartyId mes:type="urn:x12.org:IO5:01">ws</mes:PartyId>
</mes:To>
<mes:CPAId>XXXX</mes:CPAId>
<mes:ConversationId>XXXXXXXXXXXXX</mes:ConversationId>
<mes:Service mes:type="sabreXML">sabreXML</mes:Service>
<mes:Action>CreatePassengerNameRecordRQ</mes:Action>
<mes:MessageData>
<mes:MessageId>00000</mes:MessageId>
<mes:Timestamp>233</mes:Timestamp>
</mes:MessageData>
<!--Zero or more repetitions:-->
<mes:Description xml:lang="en-US">Testing</mes:Description>
<!--You may enter ANY elements at this point-->
</mes:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<CreatePassengerNameRecordRQ xmlns="http://services.sabre.com/sp/reservation/v1" targetCity="IH9A">
<Profile>
<UniqueID ID="ABCDEF123454" />
</Profile>
<AirBook>
<OriginDestinationInformation>
<FlightSegment ArrivalDateTime="2016-12-25T08:28:00" DepartureDateTime="2016-12-25T06:20:00" FlightNumber="1479" NumberInParty="1" ResBookDesigCode="S" Status="NN">
<DestinationLocation LocationCode="LAX" />
<MarketingAirline Code="F9" FlightNumber="1479" />
<MarriageGrp>O</MarriageGrp>
<OriginLocation LocationCode="ATL" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<SpanishLargeFamilyDiscountLevel>1</SpanishLargeFamilyDiscountLevel>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<MiscSegment DepartureDateTime="2013-10-29" NumberInParty="1" Status="NN" Type="OTH">
<OriginLocation LocationCode="ATL" />
<Text>TEST</Text>
<VendorPrefs>
<Airline Code="F9" />
</VendorPrefs>
</MiscSegment>
<SpecialReqDetails>
<AddRemark>
<RemarkInfo>
<FOP_Remark Type="CHECK">
<CC_Info Suppress="true">
<PaymentCard AirlineCode="F9" CardSecurityCode="1234" Code="VI" ExpireDate="2017-12" ExtendedPayment="12" ManualApprovalCode="123456" Number="4123412341234123" SuppressApprovalCode="true" />
</CC_Info>
</FOP_Remark>
<FutureQueuePlaceRemark Date="12-21" PrefatoryInstructionCode="11" PseudoCityCode="IPCC1" QueueIdentifier="499" Time="06:00" />
<Remark Type="Historical">
<Text>TEST HISTORICAL REMARK</Text>
</Remark>
<Remark Type="Invoice">
<Text>TEST INVOICE REMARK</Text>
</Remark>
<Remark Type="Itinerary">
<Text>TEST ITINERARY REMARK</Text>
</Remark>
<Remark Type="Hidden">
<Text>TEST HIDDEN REMARK</Text>
</Remark>
</RemarkInfo>
</AddRemark>
<AirSeat>
<Seats>
<Seat NameNumber="1.1" Preference="AN" SegmentNumber="1" />
<Seat NameNumber="2.1" Preference="AN" SegmentNumber="1" />
<Seat NameNumber="3.1" Preference="AN" SegmentNumber="1" />
</Seats>
</AirSeat>
<SpecialService>
<SpecialServiceInfo>
<Service SSR_Code="OSI">
<PersonName NameNumber="1.1" />
<Text>TEST1</Text>
<VendorPrefs>
<Airline Code="UA" />
</VendorPrefs>
</Service>
</SpecialServiceInfo>
</SpecialService>
</SpecialReqDetails>
<PostProcessing RedisplayReservation="true">
<ARUNK/>
<QueuePlace>
<QueueInfo>
<QueueIdentifier Number="100" PrefatoryInstructionCode="11" />
</QueueInfo>
</QueuePlace>
<EndTransaction>
<Source ReceivedFrom="BRANDON STEELE" />
</EndTransaction>
</PostProcessing>
</CreatePassengerNameRecordRQ>
</soapenv:Body>
</soapenv:Envelope>
And I'm getting the response is the following:
<soap-env:Fault>
<faultcode>soap-env:Client</faultcode>
<faultstring>SabreHeader/Service missing or incomplete</faultstring>
<detail>
<ns2:ApplicationResults status="NotProcessed" xmlns:ns2="http://services.sabre.com/STL_Payload/v02_01">
<ns2:Error type="Validation" timeStamp="2016-12-21T01:31:06.658-06:00">
<ns2:SystemSpecificResults>
<ns2:Message code="ERR.SP.CLIENT.INVALID_REQUEST">SabreHeader/Service missing or incomplete</ns2:Message>
</ns2:SystemSpecificResults>
</ns2:Error>
</ns2:ApplicationResults>
</detail>
</soap-env:Fault>
Specify version in the CreatePassengerNameRecordRQ header:
<CreatePassengerNameRecordRQ xmlns="http://services.sabre.com/sp/reservation/v1" targetCity="IH9A" version="1.0.0">
When I try to book with infant without seat I get the error below, booking with infants with seat has no problem.
INF = infant without seat
INS = infant with seat
reference : https://richmedia.sabre.com/docs_support/quickreferences/gen/price54.pdf
Here's my payload:
<EnhancedAirBookRQ version="3.6.0" HaltOnError="true" xmlns="http://services.sabre.com/sp/eab/v3_6">
<OTA_AirBookRQ>
<HaltOnStatus Code="SS" ></HaltOnStatus>
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2016-07-20T04:00:00" FlightNumber="2835" NumberInParty="4" ResBookDesigCode="K" Status="NN" >
<DestinationLocation LocationCode="CEB" ></DestinationLocation>
<MarketingAirline Code="PR" FlightNumber="2835" ></MarketingAirline>
<OriginLocation LocationCode="MNL" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-25T04:50:00" FlightNumber="1836" NumberInParty="4" ResBookDesigCode="K" Status="NN" >
<DestinationLocation LocationCode="MNL" ></DestinationLocation>
<MarketingAirline Code="PR" FlightNumber="1836" ></MarketingAirline>
<OriginLocation LocationCode="CEB" ></OriginLocation>
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirBookRQ>
<OTA_AirPriceRQ>
<PriceRequestInformation Retain="true" >
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="2" ></PassengerType>
<PassengerType Code="CNN" Quantity="1" ></PassengerType>
<PassengerType Code="INF" Quantity="1" ></PassengerType>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
<PostProcessing IgnoreAfter="false" ></PostProcessing>
<PreProcessing IgnoreBefore="false" ></PreProcessing>
and here's the response:
<soap-env:Envelope xmlns:soap-env='http://schemas.xmlsoap.org/soap/envelope/'>
<soap-env:Header>
<eb:MessageHeader xmlns:eb='http://www.ebxml.org/namespaces/messageHeader' eb:version='1.0' soap-env:mustUnderstand='1'>
<eb:From>
<eb:PartyId eb:type='URI'>webservices.sabre.com</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type='URI'>xxxxxxxx</eb:PartyId>
</eb:To>
<eb:CPAId>xxx</eb:CPAId>
<eb:ConversationId>CONV-EnhancedAirBookRQ#xxxxxx</eb:ConversationId>
<eb:Service>EnhancedAirBookRQ</eb:Service>
<eb:Action>EnhancedAirBookRS</eb:Action>
<eb:MessageData>
<eb:MessageId>1330890246910330610</eb:MessageId>
<eb:Timestamp>2016-07-19T06:51:31</eb:Timestamp>
<eb:RefToMessageId>MSG-EnhancedAirBookRQ#xxxxx</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse='http://schemas.xmlsoap.org/ws/2002/12/secext'>
<wsse:BinarySecurityToken valueType='String' EncodingType='wsse:Base64Binary'>xxxxxxx</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<EnhancedAirBookRS xmlns='http://services.sabre.com/sp/eab/v3_6'>
<ApplicationResults xmlns='http://services.sabre.com/STL_Payload/v02_01' status='NotProcessed'>
<Error type='BusinessLogic' timeStamp='2016-07-19T01:51:31.881-05:00'>
<SystemSpecificResults>
<Message code='ERR.SWS.HOST.ERROR_IN_RESPONSE'>FORMAT-NEED MORE PSGR TYPES OR NAME SELECT-0115</Message>
<Message code='0'>FORMAT-NEED MORE PSGR TYPES OR NAME SELECT-0115</Message>
</SystemSpecificResults>
</Error>
</ApplicationResults>
<OTA_AirBookRS>
<OriginDestinationOption>
<FlightSegment ArrivalDateTime='07-20T05:10' DepartureDateTime='07-20T04:00' FlightNumber='2835' NumberInParty='004' ResBookDesigCode='K' Status='NN' eTicket='true'>
<DestinationLocation LocationCode='CEB'/>
<MarketingAirline Code='PR' FlightNumber='2835'/>
<OriginLocation LocationCode='MNL'/>
</FlightSegment>
<FlightSegment ArrivalDateTime='07-25T06:00' DepartureDateTime='07-25T04:50' FlightNumber='1836' NumberInParty='004' ResBookDesigCode='K' Status='NN' eTicket='true'>
<DestinationLocation LocationCode='MNL'/>
<MarketingAirline Code='PR' FlightNumber='1836'/>
<OriginLocation LocationCode='CEB'/>
</FlightSegment>
</OriginDestinationOption>
</OTA_AirBookRS>
</EnhancedAirBookRS>
</soap-env:Body>
Problem Solved!
To book infants without seat you must use PassengerType Code 'INF' and not count them in NumberInParty
credits to #fcarreno.
To book infants with seat you must use
PassengerType Code 'INS' and count them in NumberInParty.
Solution Infant without seat payload :
<EnhancedAirBookRQ version="3.6.0" HaltOnError="true" xmlns="http://services.sabre.com/sp/eab/v3_6">
<OTA_AirBookRQ>
<HaltOnStatus Code="SS" ></HaltOnStatus>
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2016-07-22T21:55:00" FlightNumber="686" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BWN" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="686" ></MarketingAirline>
<OriginLocation LocationCode="MNL" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-23T10:55:00" FlightNumber="513" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BKK" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="513" ></MarketingAirline>
<OriginLocation LocationCode="BWN" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-25T13:30:00" FlightNumber="514" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BWN" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="514" ></MarketingAirline>
<OriginLocation LocationCode="BKK" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-25T19:00:00" FlightNumber="685" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="MNL" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="685" ></MarketingAirline>
<OriginLocation LocationCode="BWN" ></OriginLocation>
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirBookRQ>
<OTA_AirPriceRQ>
<PriceRequestInformation Retain="true" >
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="2" ></PassengerType>
<PassengerType Code="CNN" Quantity="1" ></PassengerType>
<PassengerType Code="INF" Quantity="1" ></PassengerType>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
<PostProcessing IgnoreAfter="false"/>
<PreProcessing IgnoreBefore="false"/>
</EnhancedAirBookRQ>
Infant with seat payload :
<EnhancedAirBookRQ version="3.6.0" HaltOnError="true" xmlns="http://services.sabre.com/sp/eab/v3_6">
<OTA_AirBookRQ>
<HaltOnStatus Code="SS" ></HaltOnStatus>
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2016-07-22T21:55:00" FlightNumber="686" NumberInParty="4" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BWN" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="686" ></MarketingAirline>
<OriginLocation LocationCode="MNL" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-23T10:55:00" FlightNumber="513" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BKK" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="513" ></MarketingAirline>
<OriginLocation LocationCode="BWN" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-25T13:30:00" FlightNumber="514" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="BWN" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="514" ></MarketingAirline>
<OriginLocation LocationCode="BKK" ></OriginLocation>
</FlightSegment>
<FlightSegment DepartureDateTime="2016-07-25T19:00:00" FlightNumber="685" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
<DestinationLocation LocationCode="MNL" ></DestinationLocation>
<MarketingAirline Code="BI" FlightNumber="685" ></MarketingAirline>
<OriginLocation LocationCode="BWN" ></OriginLocation>
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirBookRQ>
<OTA_AirPriceRQ>
<PriceRequestInformation Retain="true" >
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="2" ></PassengerType>
<PassengerType Code="CNN" Quantity="1" ></PassengerType>
<PassengerType Code="INS" Quantity="1" ></PassengerType>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
<PostProcessing IgnoreAfter="false" ></PostProcessing>
<PreProcessing IgnoreBefore="false" ></PreProcessing>
</EnhancedAirBookRQ>