SABRE Hotel Passive Segment API - sabre

In SABRE just started on a "webapp" in SABRE for the agent to convert a HK segment to a passive segment (GK). I am new to the API's. Is there an API for does this with SABRE. I couldn't find one but surely there's a generic method for sending a "valid sabre command" ...
The agent entry would be like this...
0HHTAAGK1DFWIN27JUL-OUT2AUG/HI AIRPORT WEST/SGLB/75.00/SI-#5827 OCEAN DRIVE¥MIAMI FL 38834¥PHONE305-
555-1111#RQNEAR POOL/CF89732901

You are unable to convert an HK reservation to GK, as HK is an online sale with the hotel and GK is an offline sale with the hotel.
In order for you to sell a hotel segment in any status, you can use the services listed below according to your needs:
HotelResModifyLLSRQ: https://developer.sabre.com/docs/soap_apis/hotel/book/Modify_Hotel_Reservation
EnhancedHotelBookRQ: https://developer.sabre.com/docs/soap_apis/hotel/book/enhanced_hotel_book
OTA_HotelResLLSRQ: https://developer.sabre.com/docs/soap_apis/hotel/book/book_hotel_reservation
All of these services allow you to sell a hotel with HK or GK status.

I'm transitioning from sabre script writing to sabre red apps.
I found this example/sample it has textboxes to collect information and then push to sabre. You should be able to rename some of the boxes and add some textboxes to collect all the hotel data and push to sabre.
Location: C:\SDK\red-app-sdk-3.0-20.11.6\samples
File: com.sabre.redapp.example3.web.customworkflow-1.0.5-SNAPSHOT-v20201016-1358.zip
This is the main processor file that initiates the data in html, to ts, to sabre.
C:\SDK\workspace\com-sabre-test3-web-module\src\code
Main.ts
The modal shown in sabre comes from template dir. These are HTML pages with boxes/drop downs etc.
C:\SDK\workspace\com-sabre-test3-web-module\src\templates
PnrView.html
Transmit to sabre
C:\SDK\workspace\com-sabre-test3-web-module\src\code\view
Pnr.View.ts

Related

When distributing a release bundle on Artifactory how do the edge nodes map to the jfrog CLI API?

I'm trying to distribute my release bundles using the jfrog CLI and based on how we have setup our Artifactory instance I'm not sure how the web interface maps to the [CLI API][1]. On the web interface it asks me to select the edge nodes I want to distribute to however, the API talks about sites, cities and country codes. My goal is to distribute to a single one of the edge nodes.
[1]: https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Distribution#CLIforJFrogDistribution-DistributingaReleaseBundle%20(
The difference between the UI and REST API/CLI is that:
Via UI the Distribution receives the list of available Destinations from Mission Control. Then, once you select any, it is automatically creates the pattern map that is submitted via REST API (/ui endpoint).
REST API: you need to provide the Destinations in a form of patterns
JFROG CLI: wrapping the API.
The pattern build in the json (distribution_rules):
"site_name": Destination name or wildcard (*)
Every Destination has a city and Country that can be set in advance (when the Destination is registered). Wildcard supported as well.
So, in your case site == edge, city and country code are optional params.
See Mission Control API for getting list of Destinations: https://www.jfrog.com/confluence/display/JFROG/Mission+Control+REST+API#MissionControlRESTAPI-GetJPDList

Action and Status Codes - Decode

Is there a resource somewhere that defines the meanings of the various action and status codes used in Sabre PNRs? E.g., for segment, seats, SSRs, AncillaryServices, fares, tickets, etc.
I've looked on the Sabre developer site but can't find anything there.
List from TP docs
Sabre Action codes description
Sabre Status codes description

Skyscanner API and website data discrepancy

The Skyscanner API gives different results than Skyscanner website.
For the flight from any airport in Warsaw to any airport in Wrocław, if I use the API the cheapest option is 303.99 zł.
This flight is operated by LOT (LO). Other available flights are operated either by LOT (LO) or by Lufthansa (LH).
On the other hand, if I make the same query using Skyscanner website, the cheapest flight costs 42 zł and is operated by Ryanair (FR).
link: https://www.skyscanner.net/transport/flights/wars/wro/161111/161112/airfares-from-warsaw-to-wroclaw-in-november-2016.html?adults=1&children=0&adultsv2=1&childrenv2=&infants=0&cabinclass=economy&rtn=1&preferdirects=false&outboundaltsenabled=false&inboundaltsenabled=false&ref=home#results
However, if I uncheck Ryanair at the left hand side panel, I receive very similar results to those from the API.
Link: https://www.skyscanner.net/transport/flights/wars/wro/161111/161112/airfares-from-warsaw-to-wroclaw-in-november-2016.html?adults=1&children=0&adultsv2=1&childrenv2=&infants=0&cabinclass=economy&rtn=1&preferdirects=false&outboundaltsenabled=false&inboundaltsenabled=false&ref=home#results
What is more, if I enter the API test as an unlogged user, I can again retrieve the Ryanair flight. The test is available at: http://business.skyscanner.net/portal/en-GB/Documentation/FlightsLivePricingQuickStart
Images:
Can you reproduce this behavior? Is there something I am doing wrong about the API? How can I retrieve Ryanair’s prices programmatically?
I don't think you're doing anything wrong, I've the same problem. In fact, I've taken the example apiKey from the test site and copied it to my code (for testing), and it shows Ryanair flights. But not with my apiKey. It appears that they are deliberately excluding Ryanair from the regular api results. I've contacted Skyscanner for Business support weeks ago, and haven't received a reply.

How to create an API Management service programmatically?

I am trying to programmatically (via Azure Resource Manager, if possible) create an APIM service in a specific resource group. The goal is that we can have a template or script that is parameterized and can be checked into source control, so that we can duplicate and recreate our environments.
This table in an ARM documentation page says Yes, Resource Manager is Enabled for APIM, but the Quickstart Templates link finds no sample templates for the Microsoft.ApiManagement resource type. However, this could mean merely that no one has yet contributed a template to the gallery, and that I would have to write my own.
As for writing my own ARM template, the article that walks you through authoring a Resource Manager template says:
To learn much of what you need to know about resource providers, see Resource Manager providers, regions, API versions and schemas
... which links back to the same page as my "This table" text above. The same section of the "authoring templates" article also says:
[Properties are] Resource specific configuration settings. The values for the properties are exactly the same as the values you provide in the request body for the REST API operation (PUT method) to create the resource. For links to resource schema documentation or REST API, see Resource Manager providers, regions, API versions and schemas.
... which again links back to the same page as above.
I have checked both the APIM REST API and the azure-resource-manager-schemas page for documentation on how to create an APIM instance.
The APIM REST API requires that you have created an APIM instance already. It's designed for manipulating APIM resources within an APIM instance, not for creating the APIM instance in the first place.
The ARM schemas project does not contain a schema for Microsoft.ApiManagement. The strings "api management" and "apim" do not occur within the schemas project.
Is it possible to create an API Management service programmatically, and if so, how?
Yes it is possible to create an ApiManagement service programmatically using the Azure Powershell 1.0 commandlets https://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/. Below is the commandlet that will help you achieve it.
PS C:\WINDOWS\system32> get-help New-AzureRmApiManagement -example
NAME
New-AzureRmApiManagement
SYNOPSIS
Creates an API Management deployment.
SYNTAX
New-AzureRmApiManagement [-Capacity [<Int32>]] [-Sku [<PsApiManagementSku>]] [-Tags [<0, Culture=neutral,
PublicKeyToken=b77a5c561934e089>]] -AdminEmail <String> -Location {North Central US | South Central US | Central
US | West Europe | North Europe | West US | East US | East US 2 | Japan East | Japan West | Brazil South |
Southeast Asia | East Asia | Australia East | Australia Southeast} -Name <String> -Organization <String>
-ResourceGroupName <String> [<CommonParameters>]
Example 1: Create at Developer tier API Management service
PS C:\>New-AzureRmApiManagement -ResourceGroupName "ContosoGroup02" -Name "ContosoApi" -Location "Central US"
-Organization "Contoso" -AdminEmail "admin#contoso.com"
This command creates a Developer tier API Management service. The command specifies the organization and the
administrator address. The command does not specify the SKU parameter. Therefore, the cmdlet uses the default
value of Developer.
Example 2: Create a Standard tier service that has three units
PS C:\>New-AzureRmApiManagement -ResourceGroupName "ContosoGroup02 -Name "ContosoApi" -Location "Central US"
-Organization "Contoso" -AdminEmail "admin#contoso.com" -Sku Standard -Capacity 3
This command creates a Standard tier API Management service that has three units.
You can find additional commandlets by using
get-Help AzureRmApiManagement
Full documentation of the commandlets can be found here
https://msdn.microsoft.com/en-us/library/mt619282.aspx
You can now use the quickstart API Management Service ARM template from GitHub.
New-AzureRmApiManagement can be used to create APIM instance. But provisioning an APIM instance takes time, usually 20 to 30 minutes. If you have to create multiple instances, to save time, it's better to do it with an Azure Automation runbook, and run this command in parallel. Here is an example.

How can my RedApp retrieve current PNR open in sabre red workspace

I am new to Sabre redapp development. My redapp use case is to get an event notification when a new booking is made and to get the currently opened PNR in the agent workspace.
I see that I can subscribe to events based on action code, but I
do not know what the action code is for a new booking command. Also
if I have to filter through all commands, what should I filter on?
Secondly I want to get the PNR opened in the workspace. The
IWorkBenchService gives the WorkAreaData object, but it only has an
API isPNRPresent(). How can I read the current PNR data into my
Redapp?
What you can do is listen to the command that is used to close/save a reservation (aka PNR). After that, you can call the TravelItineraryRead webservice to get the PNR information.
In the SDK folder you will find a sample folder, and in that folder an plugin example called com.sabre.redapp.example.cf.sws-1.0.1-SNAPSHOT-v20140313-1205 that implement a webservice call.
Also you can check the section: Red App Help - Release 2.13.2 > Red App Dev Help 2.13.2 > Communications in Red Apps > Sabre Web Services Communications> Accessing Sabre Web Services in the Sabre Red Apps Eclipse help.

Resources