openapi: 3.2.0 info: description: Use the Contracting API to invite a new partner on Booking.com, check whether a partner has signed the contract, resend invitation mail and retrieve the legal entity of the partner. title: Contracting Manage contracts API version: 1.0.0 servers: - url: https://supply-xml.booking.com/contracts-api description: Test using live endpoint tags: - name: Manage contracts description: Create, update or resend contract details. paths: /partners/invite: post: operationId: postPartnersInvite tags: - Manage contracts summary: Create a contract and legal entity ID description: Use this endpoint to create a partner card for a new partner and invite them to sign a contract with Booking.com parameters: - in: header name: Authorization required: false schema: type: string responses: '200': description: OK content: application/json: schema: properties: data: $ref: '#/components/schemas/InvitedPartnerObject' errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: XNlckRhdGEkYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkw= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - data - meta type: object examples: success: value: meta: ruid: XNlckRhdGEkYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkw= errors: [] data: legal_entity_id: 22567 warnings: [] '201': description: Created content: application/json: schema: properties: data: $ref: '#/components/schemas/InvitedPartnerObject' errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - meta type: object examples: success: value: meta: ruid: VXNlckRhdGEkYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkw errors: [] data: legal_entity_id: 22567 warnings: [] '400': description: Bad Request content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '401': description: Unauthorized content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '500': description: Internal Server Error content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object requestBody: content: application/json: schema: properties: city: description: City name of the partner company. type: string company_name: description: Commercial name of the company. Use the partner name if a commercial name is not available. type: string contract_countries: description: List of country codes where the partner has properties. items: type: string type: array country: description: Country code of the partner company. type: string is_test: description: Indicates whether to create a test partner. Set to 1 for test partners, 0 for production partners. enum: - 0 - 1 type: integer legal_contact_email: description: Contact email of the partner. This is treated as the unique identifier for the partner. type: string legal_contact_name: description: Contact name of the person authorized to sign. type: string legal_contact_phone_number: description: Contact phone number of the partner. type: string legal_name: description: Legal name of the company used for official registration. Use the partner name if a legal name is not available. type: string preferred_language: description: The partner's preferred language code for communication. type: string street: description: Street name of the partner company. type: string total_number_of_properties: description: Total number of properties that the partner has. format: int32 type: integer website: description: Website of the partner, if any. type: string zipcode: description: Zipcode of the partner company. type: string required: - company_name - legal_contact_email - legal_contact_name - preferred_language type: object examples: create a test partner: value: city: Amsterdam company_name: Parker hotels country: nl legal_contact_email: peter.park+test01@besthotelxyz.abc contract_countries: - fr - nl legal_contact_name: Swan Park legal_contact_phone_number: '+1234567890' legal_name: Park hotels BV preferred_language: NL street: Streetstreet total_number_of_properties: 2 zipcode: 1000AB website: https://www.besthotelxyz.abc is_test: '1' /partners/addendum: post: operationId: postPartnersAddendum tags: - Manage contracts summary: Update an existing contract description: Use this endpoint to send addendum to the partner to add more countries where properties can be listed, only if partner has already a signed contract with Booking.com. parameters: - in: header name: Authorization required: false schema: type: string responses: '200': description: OK content: application/json: schema: properties: data: $ref: '#/components/schemas/AddendumObject' errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - data - meta type: object examples: Signed contract - add countries: description: Response when adding countries to a partner with a signed contract. Addendum invitation is successfully sent to the partner. value: data: success: 1 status: Addendum invitation sent to Partner. errors: [] warnings: [] meta: ruid: UlPrZG9tSVYkc2RlIyh9YeobhK72bvPcGuKpIGBV43CLA0/ew3f32vvfbcDMZPMJ2upJzzPiWPpwqgrzqgrYuylZFVYodyywjTysIR2C7iIMdzNV3jh== Unsigned contract - add countries: description: Response when adding countries to a partner whose original contract is not yet signed. Countries are added but addendum cannot be sent. value: errors: [] meta: ruid: UmFuZG9tSVYkc2RlIyh9YaOnstqB7R/7ANiuo4cXIFQQBnpcnM52jQ+tsZVEd7pIlbl2ZlXAYk8UIk76XX9c0T1R+irM1u/lAu4cs5HIIfM= data: status: New countries added to partner card and original contract. Addendum can not be sent as original contract not signed yet. success: 0 warnings: [] '400': description: Bad Request content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '401': description: Unauthorized content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '404': description: Not Found content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '500': description: Internal Server Error content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object requestBody: content: application/json: schema: properties: additional_countries: description: List of country codes where partner has properties for which addendum should be signed. items: type: string type: array is_test: description: Flag to filter in/out test partner cards. Setting it to 1 will look for test partners only, 0 will look for non-test partners only. enum: - '0' - '1' type: string le_id: description: Legal entity ID of the partner. This is treated as the unique identifier for the partner. format: int32 type: integer legal_contact_email: description: Contract contact email ID of the partner. This is treated as the unique identifier for the partner. type: string required: - additional_countries type: object examples: add countries to partner: value: additional_countries: - be le_id: 14379109 /partners/resend-invite: post: operationId: postPartnersResendInvite tags: - Manage contracts summary: Resend contract details description: Use this endpoint to resend the invitation email to the partner's registered contract email address. responses: '200': description: OK content: application/json: schema: properties: data: $ref: '#/components/schemas/ReInviteObject' errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - data - meta type: object examples: success: value: meta: ruid: UmFuZG9tSVYkc2RlIyh9Ya+pg/21ggUOrSQsocNZo8+onmuF/0Np5bNl9bXkIHOzcL5xe4+2Q5m5Yz4XU6LD/TrgwjmmpchX1cKrgLwhK4o= data: status: Invitation sent to Partner. success: 1 warnings: [] errors: [] '400': description: Bad Request content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '401': description: Unauthorized content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '404': description: Not Found content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '500': description: Internal Server Error content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object requestBody: content: application/json: schema: properties: is_test: description: Flag to filter in/out test partner cards. Setting it to 1 will look for test partners only, 0 will look for non-test partners only. enum: - 0 - 1 type: integer legal_contact_email: description: Contract contact email id of the partner. This is treated as the unique identifier for the partner. type: string required: - legal_contact_email type: object examples: resend invitation: value: legal_contact_email: peter.park+test01@besthotelxyz.abc /partners/resend-addendum: post: operationId: postPartnersResendAddendum tags: - Manage contracts summary: Resend updated contract description: Use this endpoint to resend addendum to the partner to add more countries where properties can be listed, only if partner has already a signed contract with Booking.com. responses: '200': description: OK content: application/json: schema: properties: data: $ref: '#/components/schemas/AddendumObject' errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - data - meta type: object examples: success: value: errors: [] data: success: 1 status: Addendum invitation resent to Partner. warnings: [] meta: ruid: UmFuZG9tSVYkc2RlIyh9YUNOyFG1G7yZ4N4g32GjUq4m7gLy4mLHvgfKCKKcaShQJ1ARh2IeVOWB/7DRTmDzp3Eh6SJyAq2mtqfDc16BxoY= '400': description: Bad Request content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '401': description: Unauthorized content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '404': description: Not Found content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object '500': description: Internal Server Error content: application/json: schema: properties: errors: $ref: '#/components/schemas/DiagnosisList' meta: properties: ruid: description: Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support. example: UmFuZG9tSVYkc2Rl...= type: string required: - ruid type: object warnings: $ref: '#/components/schemas/DiagnosisList' required: - errors - meta type: object requestBody: content: application/json: schema: properties: is_test: description: Flag to filter in/out test partner cards. Setting it to 1 will look for test partners only, 0 will look for non-test partners only. enum: - '0' - '1' type: string le_id: description: Legal entity ID of the partner. This is treated as the unique identifier for the partner. format: int32 type: integer legal_contact_email: description: Contract contact email ID of the partner. This is treated as the unique identifier for the partner. type: string type: object examples: resend addendum: value: le_id: 14379109 components: schemas: ReInviteObject: properties: status: description: Status message indicating whether the invitation email was resent successfully. example: Invitation sent to Partner. type: string success: description: A flag that indicates if the operation finished successfully. example: 1 format: int32 type: integer required: - status - success type: object InvitedPartnerObject: properties: legal_entity_id: description: The unique legal entity ID of the partner. example: 22567 format: int32 type: integer required: - legal_entity_id type: object AddendumObject: properties: status: description: Status message indicating whether the addendum email was sent successfully. example: Addendum invitation sent to Partner. type: string success: description: A flag that indicates if the operation finished successfully. example: 1 format: int32 type: integer required: - status - success type: object DiagnosisList: items: properties: code: description: Alphanumeric identifier for warning/error. type: string details: additionalProperties: type: string description: Additional details of warning/error. type: object message: description: English-language description of warning/error. type: string required: - code - details - message type: object type: array x-tagGroups: - name: API Endpoints tags: - Manage contracts - Check legal details - Request access - name: Documentation tags: - About Try it