SABRE How to add excess baggage to your itinerary - soap

How do we add excess baggage to itinerary?

The service named AncillaryPriceRQ can be used to shop for air extras (additional products, including extra baggage) to be sold in addition to the flight tickets:
https://developer.sabre.com/docs/soap_apis/air/book/air_extras
Then, in order to add the item to the itinerary, the service UpdateReservationRQ can be used:
https://developer.sabre.com/docs/read/soap_apis/management/itinerary/update_itinerary

Related

Sabre Steps to change the flight itinerary

I'm using Sabre's soap API for booking flights. Now I want to change the flight itinerary, such as schedule (departure time), origin, and destination.
I found 2 APIs:
Modify Itinerary (https://developer.sabre.com/docs/soap_apis/management/itinerary/Modify_Itinerary) and
Modify Reservation(https://developer.sabre.com/sabre_hospitality/apis/soap_apis/hotel/channel_connect/modify_reservation) but not sure they are the answer to my problem.
Could you please show me the steps to change the flight itinerary?
Thanks
The Modify reservation api applies to hotels. Hence it would not apply to flight itineraries. Please note that the Modify Itinerary (TravelItineraryModifyInfoLLSRQ) service is used to modify or delete passenger-related content in an existing Passenger Name Record (PNR). Not all information can be modified. Items that can be modified are:
Passenger names
Passenger phone numbers
Passenger email addresses
Passenger frequent flyer numbers
Passenger types
Customer numbers
Agency address information
Agency phone numbers
Ticket time-limit information
Steps:-
Retrieve the passenger name record using the Retrieve Itinerary API (GetReservationRQ).
Call TravelItineraryReadRQ. This is a pre-requisite before calling the modify itinerary api.
Call the Modify Itinerary API (TravelItineraryModifyInfoLLSRQ) with the updated passenger name record in the request.
End the transaction of the passenger name record using the End Transaction API (EndTransactionLLSRQ).
You can also refer to the booking api’s link mentioned below for complete booking management:-
https://developer.sabre.com/docs/rest_apis/trip/orders/booking_management
If you need any additional assistance please feel free to contact us.

Is this a good Use Case diagram? UML

I'm not sure my Use Case diagram is correctly written or it needs more data? I'm creating a web application for a restaurant. You should be able to:
Add reservations
Dashboard for making orders
Dashboard for the kitchen
Dashboard for the bartender
Dashboard to edit menu.
The one who can make a class diagram for me will receive 20$ paypal.
Thanks. :)
What are these dependencies stereotyped return ? That does not exist in the norm
Is the arrow is missing or hidden for the extend ?
yes you can replace the Reservate ---<<return>>---> XX reservation by Reservate <---<<extend>>--- XX reservation but this is not very clear because when you enter a reservation you finally edit it
Seems better to have
enter do not have edit nor delete but the exception cancel
an additional UC "find reservation" having extends to delete or edit or print
You have three direct roles and one indirect
1. Client
2. Accounts
3. waiter
4. chef
Client eats food if there is drink then he drinks drink. He also places order. He also pays for food.
Accountant gets amount of food and beverages served. One for food and other for drink
Waiter receive order for food and beverages
Chef makes food and confirm order

Modelling URI to demonstrate many to many relationship between 2 API resources

A credit card account (Account) can belong to multiple customers and One customer (Customer) can own multiple credit card accounts. I need to design REST API(s) which can return all accounts owned by a customer. The account number is coming from a manual input by an end user like a service rep into a freeform text box. Following is a constraint though
End consumers/developers know only account number & have no knowledge of customer id (unique identifier of a customer) upfront so to retrieve a list of accounts belonging to a customer -
1.1 find the customer owning the account in question
1.2 then find all the accounts owned by a customer.
I can think of couple of options but feel either they will make interaction chattier or may not be restful.
Only GET scenario has been discussed in below options
Option 1
Ideal way to interact with two separate resources but makes interaction very chatty and will put undue load on the system. Two calls everytime to know all accounts owned by a customer. So 20 Million calls/day in SOAP/RPC will become 40 million calls in REST.
/accounts/{account_nbr}/customers --> returns a list of customers for a specific account
/customers/{customer_id}/accounts --> returns a list of accounts for a customer
Option 2
I don't think this will be restful because query parameter is supposed to be used for identifying a resource in a non-hiearchical data
/customers/accounts?account_nbr = XXXX
Option 3
This option indicates that a list of accounts linked to account_nbr is being returned which is not right because list of accounts are linked to a customer
/accounts/{account_nbr}/linked_accounts
Option 4
Term the relationship between customer and an account as a new type of resource. Its trying to indicate get a list of customer to account relationships and identify specific instance where an account in customer_account_relationships has a value of XXXX.
/customer_account_relationships?account_nbr=XXXX or
Which of the above option, if any, is close to being restful representation? Is there any other way to design this interface?
EDIT
Expected response
{
"customerName" : "Bob",
"customerId" : 1234,
"listOfAccounts": [
{
"accountNbr" : "abcd"
"accountType": "creditcard"
},
{
"accountNbr" : "qrst"
"accountType": "creditcard"
}
]
}
You correctly rejected the first three options. I see two reasonable choices for you. One is to go with option 4:
GET /customer-summaries?account-number=<account-number>
The other is to just make /accounts top-level and do essentially the same thing:
GET /accounts?same-owner-as-account=<account-number>
In the former case, you'd get an instance of your resource above. In the second, you'd just get a list of accounts, each of which presumably has a link to the account owner. It's up to you as to which better suits your use case.
Note that option 4 may return multiple records if there are multiple owners for the same account. That's a common situation for married couples.

Is it possible to create Schema.org offers for lease items?

I am trying to create markup for vehicles that are available for lease.
These vehicles have three offers attached to them:
Buy now
Zero down lease
Lease with down payment
I have looked through the Schema.org properties and can't seem to find any property that lets me define the payment schedule (monthly, weekly etc.) or define a down payment and then incremental payments after.
You can try the https://schema.org/BusinessFunction for the Offer
The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.
Commonly used values:
...
http://purl.org/goodrelations/v1#LeaseOut
...
Maybe you can combine them with the https://schema.org/PayAction or https://schema.org/RentAction as a https://schema.org/potentialAction on your Offer

How to design RESTful with cross model?

I’m trying to develop a online shopping web service with RESTful. However, I’m so new about this that I don’t know how to design it.
Here is my model:
User: includes name, email, phone number …etc
Product:includes its name, its tags and what category it belongs to. (I designed two types of Category: MainCategory and SubCategory, where SubCategory belongs to MainCategory).
Now I have the following needs about Product:
List all products under MainCategory M
List all products under MainCategory M and SubCategory S
List all products belongs to a user A
CRUD with the product with product_id
Here is my question about the situation above:
List all products under MainCategory M
should I use /products/M or /MainCategory/M to list all the products?
List all products under MainCategory M and SubCategory S
should I use /products/M/S or other ways?
List all products belongs to a user A
should I use /user/A/products or /products/?user=A or other ways?
CRUD with the product with pid(product_id)
is this correct? /product/pid
Besides, what to do if I need to sort or add some restriction?
For example:
List all products under MainCategory M, order by time
is this /products/M?order=time_asc ?
Thanks for any help!
First of all, you've got your principal resources:
/users/{id}
/products/{id}
Relationships between these two should be by links, as it makes total sense to think about either without reference to the other (users aren't owned by products, or vice versa). Use normal CRUD techniques for dealing with these resources, and consider sub-resources for complex attributes.
Then you've got the categorization system. This is also nicely modeled as a resource:
/category/{name}
/category/{name}/{subname}
A key difference here is that you don't need to support any operation other than GET on categories; the information there (a list of the members of the category) is really synthesized from the definitive information on the products. Where you wish to allow people to restrict the set of information returned by the listing (e.g., a limited range, a different ordering) that is done through parameters on the GET. The list of category members should really be a list of links to the relevant product resources.
If you support user categorization, put that as a separate resource and take care to add appropriate security restrictions; only authorized people should be able to see that sort of thing.