# PNR 认领

{% hint style="info" %}
遇到 API 接入问题时，可登录 [Eva](https://www.atriptech.com/) 寻求帮助。
{% endhint %}

## PNR Claim

> \*\*Dependency\*\*\
> No preceding function needs to be carried out.\
> \
> \*\*Endpoint:\*\*\
> <https://sandbox.atriptech.com/pnr/claim.do>

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"tags":[{"name":"Other Functions"}],"security":[],"paths":{"/pnr/claim.do":{"post":{"summary":"PNR Claim","deprecated":false,"description":"**Dependency**\nNo preceding function needs to be carried out.\n\n**Endpoint:**\nhttps://sandbox.atriptech.com/pnr/claim.do","tags":["Other Functions"],"parameters":[{"name":"Accept","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"Accept-Encoding","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-id","in":"header","description":"","required":true,"schema":{"type":"string"}},{"name":"x-atlas-client-secret","in":"header","description":"","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"mmb":{"type":"object","properties":{"airlinePnr":{"type":"string","description":"Passenger Name Record generated by the airline."},"email":{"type":"string","description":"Contact email.","nullable":true}},"description":"The information used for loging into traveler’s MMB","required":["airlinePnr"],"nullable":true},"passengers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The passenger's name. Please send it in the following format: Family Name/Given Name"},"passengerType":{"description":"Type of passenger.\n- 0: Adult\n- 1: Child\n- 2: Infant","$ref":"#/components/schemas/PassengerType","nullable":true},"gender":{"type":"string","description":"The passenger's gender.\n- `M`: Male\n- `F`: Female","nullable":true},"birthday":{"type":"string","description":"The passenger's date of birth. Format:`YYYYMMDD`. Please fill in according to the passenger information requirements(`bookingRequirement`) returned by the Verification / Get Offer API.","nullable":true},"cardType":{"type":"string","description":"The type of the identity document.\n- PP: Passport\n- GA: Hong Kong Macau Pass for China mainland citizens\n- TW: Taiwan Pass for China mainland citizens\n- TB: China mainland pass for Taiwanese\n- HY: International Seaman's Certificate","enum":["PP","GA","TW","TB","HY"],"nullable":true},"cardNum":{"type":"string","description":"The unique identifier of the identity document. e.g. the passport number. Please fill in according to the passenger information requirements(`bookingRequirement`) returned by the Verification / Get Offer API.","nullable":true},"cardIssuePlace":{"type":"string","description":"The ISO 3166-1 alpha-2 code for the country where the identity document is issued. Please fill in according to the passenger information requirements(`bookingRequirement`) returned by the Verification / Get Offer API.","nullable":true},"cardExpired":{"type":"string","description":"The date on which the identity document expires. Format:`YYYYMMDD`.Please fill in according to the passenger information requirements(`bookingRequirement`) returned by the Verification / Get Offer API.","nullable":true},"nationality":{"type":"string","description":"The ISO 3166-1 alpha-2 code for the nationality of passenger. Please fill in according to the passenger information requirements(`bookingRequirement`) returned by the Verification / Get Offer API.","nullable":true}},"required":["name"]}},"fromSegments":{"type":"array","items":{"type":"object","properties":{"carrier":{"type":"string","description":"IATA code of the marketing airline"},"flightNumber":{"type":"string","description":"The value denotes the marketing flight number.\nFormat: CA123 or TR021 or FR1290. The letters denote the carrier and the three/four-digit number that follows is the flight number."},"depAirport":{"type":"string","description":"IATA code of the departure airport."},"arrAirport":{"type":"string","description":"IATA code of the arrival airport."},"depTime":{"type":"string","description":"Departure time of the flight. Format:`yyyyMMddHHmm`"},"arrTime":{"type":"string","description":"Arrival time of the flight. Format:`yyyyMMddHHmm`","nullable":true},"stopCities":{"type":"string","description":"Name of cities from where the passengers will take connecting flights. Include IATA code of cities and use a comma in case of multiple cities to separate if transfer airports count is higher than 1. For example: CGK, SUB. Blank means non-stop flight.","nullable":true},"codeShare":{"type":"integer","description":"- 1: code share\n- 0: Not code share","nullable":true},"operatingCarrier":{"type":"string","description":"Operating carrier. It is blank when codeshare=false","nullable":true},"operatingFlightNumber":{"type":"string","description":"Operating flight number. It is blank when codeshare=false","nullable":true},"depTerminal":{"type":"string","description":"Departure Terminal","nullable":true},"arrTerminal":{"type":"string","description":"Arrival Terminal","nullable":true},"cabinClass":{"$ref":"#/components/schemas/CabinClass","nullable":true,"description":"Service grade of the fare"},"fareFamily":{"type":"string","description":"Fare Family as per the information received from the airline.","nullable":true},"duration":{"type":"integer","description":"The flying duration in minutes.","nullable":true}},"required":["carrier","flightNumber","depAirport","arrAirport","depTime"]},"description":"Outbound segments"},"retSegments":{"type":"array","items":{"$ref":"#/components/schemas/PNRClaimFlight"},"description":"Inbound segments","nullable":true},"connectInfo":{"type":"object","properties":{"contactName":{"type":"string","nullable":true},"contactEmail":{"type":"string","nullable":true},"contactPhone":{"type":"string","nullable":true},"useAtlasMailForContact":{"type":"string","nullable":true}},"nullable":true}},"required":["passengers","fromSegments"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"msg":{"type":"string","nullable":true},"orderNo":{"type":"string","description":"Atlas order number"}},"required":["orderNo","status"]}}},"headers":{}}}}}},"components":{"schemas":{"PassengerType":{"type":"integer","enum":[0,1,2]},"CabinClass":{"type":"integer","enum":[1,2,3,4],"title":""},"PNRClaimFlight":{"type":"object","properties":{"carrier":{"type":"string","description":"IATA code of the marketing airline"},"flightNumber":{"type":"string","description":"The value denotes the marketing flight number.\nFormat: CA123 or TR021 or FR1290. The letters denote the carrier and the three/four-digit number that follows is the flight number."},"depAirport":{"type":"string","description":"IATA code of the departure airport."},"arrAirport":{"type":"string","description":"IATA code of the arrival airport."},"depTime":{"type":"string","description":"Departure time of the flight. Format:`yyyyMMddHHmm`"},"arrTime":{"type":"string","description":"Arrival time of the flight. Format:`yyyyMMddHHmm`","nullable":true},"stopCities":{"type":"string","description":"Name of cities from where the passengers will take connecting flights. Include IATA code of cities and use a comma in case of multiple cities to separate if transfer airports count is higher than 1. For example: CGK, SUB. Blank means non-stop flight.","nullable":true},"codeShare":{"type":"integer","description":"- 1: code share\n- 0: Not code share","nullable":true},"operatingCarrier":{"type":"string","description":"Operating carrier. It is blank when codeshare=false","nullable":true},"operatingFlightNumber":{"type":"string","description":"Operating flight number. It is blank when codeshare=false","nullable":true},"depTerminal":{"type":"string","description":"Departure Terminal","nullable":true},"arrTerminal":{"type":"string","description":"Arrival Terminal","nullable":true},"cabinClass":{"$ref":"#/components/schemas/CabinClass","nullable":true,"description":"Service grade of the fare"},"fareFamily":{"type":"string","description":"Fare Family as per the information received from the airline.","nullable":true},"duration":{"type":"integer","description":"The flying duration in minutes.","nullable":true}},"required":["carrier","flightNumber","depAirport","arrAirport","depTime"]}}}}
```
