Request for uAPI production Certificate – Updated
■ LowFareSearchReq
● SearchPassenger/@Age: You have not used age attribute for infant passenger, although you have used it for child passenger. For child and infant its mandatory to use the age attribute.
=> 소아, 유아 모두 Age를 넣어 주세요.
If age of the child or infant is not known at this stage a default age of 8 or 9 years for child and 1 year for infant can be sent, which can be corrected to the correct age during booking. This is required in all the requests – LowFareSearchReq, AirPriceReq and AirCreateReservationReq.
이 단계에서 어린이 또는 유아의 연령을 알 수 없는 경우 기본 어린이 8 ~ 9 세, 유아 1세를 넣을 수 있으며, 이는 모든 요청 (LowFareSearchReq, AirPriceReq 및 AirCreateReservationReq)에 필요합니다.
1 2 3 4 5 6 7 8 |
○ 개발사 작업: <com:SearchPassenger Code="CNN" Age="8"/> <com:SearchPassenger Code="INF"/> 아래와 같이 수정 필요 <com:SearchPassenger Code="CNN" Age="08"/> <com:SearchPassenger Code="INF" Age="01"/> |
● SearchAirLeg/SearchOrigin/@Airport- I have noticed you are using only Airport, is there any specific reason for this. As if Airport is sent (eg: LCY) only the matching airport will be returned and not multi airport city options (eg LHR, LGW, LCY, STN multi-airports for city LON). Hence “CityOrAirport” element can be used when it is not known whether the value is an airport or a city code.
조회된 공항만 나오게 사용 되었습니다.특별한 이유가 있습니까?
공항이 전송되는 것처럼 (예 : LCY) 일치하는 공항 만 반환되며 다중 공항 도시 옵션 (예 : LHR, LGW, LCY, 도시 LON의 STN 다중 공항)이 아닙니다. 따라서 “CityOrAirport”요소는 값이 공항인지 또는 도시 코드인지 알 수 없을 때 사용할 수 있습니다.
● FlightType: You are using @NonStopDirects and @StopDirects to as true which will return both non-stop and direct flights/price options, so is there any reason of using them as “true”.
Triple Online and Interline Connections are NOT offered through Universal API even though the attributes exist in the schema, so do not use these attributes in the request.
@NonStopDirects 및 @StopDirects를 true로 사용하면 non-stop 과 직항 반환되는데 “true”로 사용하는 이유가 있습니까?
속성이 스키마에 존재하더라도 Universal API를 통해 TripleOnlineCon 및 SingleInterlineCon 이 제공되지 않으므로 요청에 이러한 속성을 사용하지 마십시오.
Also Galileo ignore the RequireSingleCarrier, MaxConnections, and MaxStops attributes. Furthermore, you can find detailed information on below link:
또한 Galileo는 RequireSingleCarrier, MaxConnections 및 MaxStops 속성을 무시합니다. 또한 아래 링크에서 자세한 정보를 찾을 수 있습니다.
https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Low_Fare_Shopping/Low_Fare_Shopping_Air_Search_Modifiers.htm?Highlight=flighttype
1 2 3 4 5 6 |
<air:FlightType TripleInterlineCon="false" DoubleInterlineCon="false" SingleInterlineCon="true" TripleOnlineCon="true" DoubleOnlineCon="true" SingleOnlineCon="true" StopDirects="true" NonStopDirects="true" MaxStops="-1" MaxConnections="-1" RequireSingleCarrier="false"/> ○ 수정: <air:FlightType TripleInterlineCon="false" DoubleInterlineCon="false" SingleInterlineCon="false" TripleOnlineCon="false" DoubleOnlineCon="true" SingleOnlineCon="false" StopDirects="true" NonStopDirects="true" /> |
○ To return both non-stop and direct flights/price options, set both @NonStopDirects and @StopDirects to true.
○ Galileo and Apollo ignore the RequireSingleCarrier, MaxConnections, and MaxStops attributes.
■ AirPriceReq
● @AuthorizedBy: Though AuthorizedBy is an optional attribute, still it is recommended adding the appropriate value for AuthorizedBy throughout the workflow. This can be useful to identify the application/agent who made the booking.
AuthorizedBy는 선택적 속성이지만 워크 플로우 전체에 AuthorizedBy에 적절한 값을 추가하는 것이 좋습니다. 예약 한 응용 프로그램 / 에이전트를 식별하는 데 유용 할 수 있습니다.
1 2 3 4 5 6 |
○ 개발사: <air:AirPriceReq CheckFlightDetails="true" FareRuleType="short" TargetBranch="P***6537" TraceId="OTTE_1G"> ○ 수정: <air:AirPriceReq CheckFlightDetails="true" FareRuleType="short" TargetBranch="P***537" AuthorizedBy="OTTE_1G" TraceId="202004231144123"> |
● SearchPassenger/@Age: Age is required for both Child and Infant passenger type to get correct fare for both the PTCs. Same Age as used in LowFareSearchReq must be used in AirPriceReq.
어린이와 유아 승객 유형 모두 PTC에 대해 올바른 요금을 받으려면 연령이 필요합니다. LowFareSearchReq에서 사용 된 것과 동일한 연령이 AirPriceReq에서 사용되어야합니다.
1 2 3 4 5 6 |
○ 개발사: <com:SearchPassenger BookingTravelerRef="CHD1" Code="CHD"/> <com:SearchPassenger BookingTravelerRef="INF1" Code="INF"/> ○ 수정: <com:SearchPassenger BookingTravelerRef="CHD1" Code="CHD" Age="08"/> <com:SearchPassenger BookingTravelerRef="INF1" Code="INF" Age="01"/> |
1) AirPricingModifiers@InventoryRequestType – I notice that you have used InventoryRequestType=”Basic” in your request. Since you are using permitted booking codes in your request, you should use InventoryRequestType=”DirectAccess” for AirPriceReq to validate the availability. You can get detailed information below:
https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Air_Pricing/Air_Pricing_with_Inventory_Options.htm?Highlight=InventoryRequestType
2) AirPricingModifiers@CurrencyType – You have used CurrencyType=”KRW” in your request. The CurrencyType in AirPricingModifiers is passed to the provider, which affects the currency that is returned for Equivalent Base Price, Base Price, Taxes, and Total Price. In your case default currency for the PCC is KRW, which is same as the currency type used in AirPriceReq. So there is no need to use CurrencyType in AirPriceReq.
3) AirPricingModifiers@PlatingCarrier – I see that you are using PlatingCarrier in AirPricingModifiers in your request. There is default plating carrier logic on your PCC as per your PCC settings, so there is no need to use this attribute.
4) Key in SearchPassenger – I notice that you are using Key in SearchPassenger for all passengers. It is not required to use key. BookingTravelerRef is sufficient to be passed. BookingTravelerRef value should be set for Multiple Passengers in the request.
AirSegment – Connection Indicator – This is still not implemented. Please note that it is mandatory to include connection indicator for connecting flights. Please see the details in my feedback earlier.
커넥팅 여정에는” Connection Indicator” 사용이 필수이니 꼭 사용해주세요.
AirPricingModifiers@FaresIndicator – This is still not implemented. It is recommended to use FaresIndicator for all transactions to indicate fare types to be sent in the request. You have used it in LFS request but not in AirPriceReq.
LFS 요청에서는 사용했지만 AirPriceReq에는 사용하지 않았습니다. 모든 거래에 대해 FaresIndicator를 사용하여 요청에서 보낼 요금 유형을 표시해주세요.
AirPricingModifiers@InventoryRequestType – This is also not implemented yet. As you are using permitted booking code then inventory type attribute should be passed in the request under AirPricingModifiers InventoryRequestType=”DirectAccess” for AirPriceReq to validate the availability
Permitted booking code를 사용하고 있으므로 AirPriceReq의 가용성을 확인하려면 AirPriceReq에서 AirPricingModifiers InventoryRequestType=”DirectAccess” 아래의 요청에 인벤토리 유형 속성을 전달해야 합니다.
■ AirCreateReservationReq
● RetainReservation: You have used RetainReservation=”Both” in your request, which means PNR is created even when schedule and price have changed and AirSolutionChangedInfo returns original time and price.
In your case AirSolutionChangedInfo is not returned, which means there is no price or schedule change.
요청에 RetainReservation = “Both”를 사용했습니다. 이는 일정과 가격이 변경되고 AirSolutionChangedInfo가 원래 스케쥴과 가격을 반환하더라도 PNR이 생성됨을 의미합니다.
귀하의 경우 AirSolutionChangedInfo가 반환되지 않으므로 가격이나 일정이 변경되지 않습니다.
Could you please explain since you are using RetainReservation as “both”, how you would be handling the situation if you have schedule change, incomplete booking with segment failure or price change scenario?
RetainReservation을 “Both”로 사용하고 있기 때문에 일정 변경, 세그먼트 실패로 인한 불완전한 예약 또는 가격 변경 시나리오가 있는 경우 상황을 처리하는 방법을 설명해 주시겠습니까?
You can find more details on RetainReservation attribute here:
https://support.travelport.com/webhelp/uapi/uAPI.htm#Air/Air_Booking/Create_Air_Booking/Creating_Air_Bookings.htm?Highlight=RetainReservation
1 2 3 4 |
○ 개발사: <univ:AirCreateReservationReq RetainReservation="Both" TargetBranch="P****" AuthorizedBy="user" TraceId="OTTE_1G"> |
1) AirPricingModifiers/@InventoryRequestType: As you are using permitted booking code then inventory type attribute is required to be passed in the request under AirPricingModifiers InventoryRequestType=”DirectAccess” for AirPriceReq to validate the availability.
● BookingTraveler@NameRemark – You have not included NameRemarks for INF booking traveler in your request. Name remarks are recommended for INF and CNN. You can check more details on name remarks here:
귀하의 요청에 INF 예약 여행자에 대한 NameRemarks를 포함시키지 않았습니다. INF 및 CNN에는 이름 설명이 권장됩니다. 이름 설명에 대한 자세한 내용은 여기를 참조하십시오.
https://support.travelport.com/webhelp/uapi/uAPI.htm#Booking/Shared_Topics/Name_Remarks.htm
1 2 3 4 5 6 7 8 9 10 11 12 |
○ 개발사 : <com:BookingTraveler Gender="M" TravelerType="INF" DOB="2019-01-01" Age="2"> <com:BookingTravelerName Prefix="MSTR" Last="KIM" First="HAZI"/> </com:BookingTraveler> ○ 수정: <com:BookingTraveler Gender="M" TravelerType="INF" DOB="2019-01-01" Age="2"> <com:BookingTravelerName Prefix="MSTR" Last="KIM" First="HAZI"/> <com:NameRemark> <com:RemarkData>INF에 필요한 1G 내용/헬프에 문의 </com:RemarkData> </com:NameRemark> </com:BookingTraveler> |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Format for child and infant name remarks: Child NameRemark <NameRemark> <RemarkData>P-C08 DOB20MAR14</RemarkData> </NameRemark> Infant NameRemark <NameRemark> <RemarkData>28FEB21</RemarkData> </NameRemark> |
● SSR: I noticed you have not provided SSR for child and infant. Please include the same as its required by some carriers/sectors. See the example below:
어린이 및 유아에게 SSR을 제공하지 않은 것으로 나타났습니다. 동일 항공사/구간 에서 요구하는 것과 동일하게 포함하십시오. 아래 예를 참조하십시오.
Gender for infant should be with additional “I”, MI – Male infant, FI – Female infant.
● AirPricingSolution – You have only passed key in AirPricingSolution. Complete AirPricingSolution information must be passed in AirCreateReservationReq as returned in AirPriceRsp, including the pricing information.
AirPricingSolution의 키만 전달했습니다. 요금 정보를 포함하여 AirPriceRsp에 반환 된대로 완전한 AirPricingSolution 정보를 AirCreateReservationReq로 전달해야 합니다.
AirPricingSolution@AirPricingInfo – I can see that you are not passing the complete pricing information as received in AirPriceRsp. It is recommended to pass complete information to avoid any fare issues.
AirPriceRsp에 접수 된대로 전체 가격 정보를 전달하지 않았 음을 알 수 있습니다. 운임 문제를 피하기 위해 완전한 정보를 전달하는 것이 좋습니다.
Price Check: We would recommend implementing a price check, to ensure to receive a price from search and keep the same price in air pricing and air create.
검색에서 가격을 받고 항공 가격 생성시 동일한 가격을 유지하려면 가격 확인을 구현하는 것이 좋습니다.
Order of booking travelers: It is recommended to book the infant connected to an adult, so you would add the BookingTravelers in the following order: Adult, Infant, Child
성인과 연결된 유아를 예약하는 것이 좋습니다. 따라서 BookingTravelers를 성인, 유아, 어린이 순서로 추가하십시오.