All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ayment-sdk-java.30.5.15.source-code.openapi-spec.json Maven / Gradle / Ivy

There is a newer version: 30.5.16
Show newest version
{"openapi":"3.0.1","info":{"title":"Wink Payment API","description":"A programmatic way to create bookings, receive reactive and disburse funds globally.\n\n## APIs\nNot every integrator needs every APIs. For that reason, we have separated APIs into context.\n\n- [Affiliate](/affiliate): All APIs related to selling travel inventory as an affiliate.\n- [Analytics](/analytics): All APIs related to tracking metrics across a wide variety of data source segments including, more entertaining, leaderboard metrics.\n- [Booking](/booking): All APIs related to creating platform bookings.\n- [Channel Manager](/channel-manager): All APIs related to channel managers who want to integrate with our platform.\n- [Extranet](/extranet): All APIs related to managing travel inventory and suppliers.\n- [Inventory](/inventory): All APIs related to retrieve known travel inventory as it was found using the Lookup API..\n- [Lookup](/lookup): All APIs related to locating inventory by region, locale and property flags.\n- [Reference](/reference): All APIs related to retrieving platform-supported taxonomies.\n- [TripPay](/reactive): All APIs related to TripPay account management, booking, mapping and integration features.\n\n## SDKs\nWe are actively working on supporting the most used languages out there. If you don't see your language here, reach out to us with a request to officially add your language. In the meantime, if you want to roll your own SDK, you can do so by downloading the OpenAPI spec and using one of the many available OpenAPI generators available: [https://openapi-generator.tech/docs/generators](https://openapi-generator.tech/docs/generators).\n\n- Java SDK [https://github.com/wink-travel/trip-pay-sdk-java](https://github.com/wink-travel/trip-pay-sdk-java)\n\n# Usage\nThese features are made available to you via a [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer). This API is language agnostic. We will link to SDKs for the most popular programming languages on this page as they become available.\n\n## Versioning\nWe chose to version our endpoints in a way that we hope affects your integration with us the least. You request the version of our API you wish to work with via the `Wink-Version` header. When it's time for you to upgrade, you only have to change the version number to get access to our updated endpoints.\n\n## Release history\n- Follow updates on Github: https://github.com/wink-travel/wink-sdk-java/blob/master/CHANGELOG.md\n","contact":{"name":"Bjorn Harvold","email":"[email protected]"},"version":"30.7.0","x-logo":{"backgroundColor":"#FFFFFF","altText":"TripPay logo","url":"https://res.cloudinary.com/traveliko/image/upload/c_scale,h_90/v1632220708/trippay/brand/TP_logo_v2_PURPLE_trans.png"}},"externalDocs":{"description":"TripPay API","url":"https://wink.travel/docs/pay/"},"servers":[{"url":"https://api.trippay.io","description":"Endpoint"}],"tags":[{"name":"Account Mappings","description":"Use the Account Mapping API to manage a single account's mapping with TripPay accounts."},{"name":"Mapping","description":"Use the Mapping API to search for, create and map your properties against TripPay properties."},{"name":"Ping","description":"Testing endpoints"},{"name":"Agent","description":"Create a booking as an agent."},{"name":"Affiliate","description":"Affiliate related endpoint."},{"name":"Contract","description":"Booking contract related functionality."},{"name":"Account","description":"Use the Account API to manage accounts on TripPay."},{"name":"Webhook","description":"Use the Webhook API to create webhooks to interface with the TripPay API."},{"name":"External Event","description":"Tracks interactions between external integration vendors."},{"name":"Activity Stream","description":"Ability to create a stream of events for any entity in the system."},{"name":"Application","description":"Use the Application API to create applications to interface with the TripPay API."},{"name":"Payout","description":"Endpoints related to paying out a customer."}],"paths":{"/api/account/{id}/bankaccount/{bankAccountId}":{"put":{"tags":["Account"],"summary":"Update Bank Account","description":"Update an existing bank account for an existing account using local account identifier","operationId":"upsertAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertBankAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Account"],"summary":"Remove Bank Account","description":"Remove an existing bank account for an existing account using local account identifier","operationId":"removeAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/mapping/{id}":{"get":{"tags":["Account Mappings"],"summary":"Show Account Mapping","description":"Show a specific mapping by account and mapping identifier","operationId":"loadAccountMapping","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"put":{"tags":["Account Mappings"],"summary":"Update Account Mapping","description":"Update an existing mapping owned by account identifier.","operationId":"updateAccountMapping","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAccountMappingRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Account Mappings"],"summary":"Delete Account Mapping","description":"Delete a specific mapping owned by account identifier.","operationId":"removeAccountMapping","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveEntryResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{id}/bankaccount/{bankAccountId}":{"put":{"tags":["Account"],"summary":"Update Bank Account for External","description":"Update an existing bank account for an account using the external account identifier","operationId":"upsertExternalAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertBankAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Account"],"summary":"Remove Bank Account for External","description":"Remove an existing bank account for an account using the external account identifier","operationId":"removeExternalAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/webhook":{"post":{"tags":["Webhook"],"summary":"Create Webhook","description":"Create a new webhook","operationId":"createWebhook","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertWebhookRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/mapping":{"post":{"tags":["Mapping"],"summary":"Create Mapping","description":"Create a mapping between two accounts","operationId":"createMapping","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMappingRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/issuing-card/ephemeral":{"post":{"tags":["Payout"],"summary":"Create Stripe ephemeral key","description":"Ephemeral keys are required to do display an issuing card to the user, among other things.","operationId":"createEphemeralKey","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIssuingCardEphemeralKeyRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIssuingCardEphemeralKeyResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/{identifier}/cancellable":{"post":{"tags":["Contract"],"summary":"Contract cancellable","description":"Returns whether a booking can be cancelled or not and any rules associated with cancelling.","operationId":"isContractCancellable","parameters":[{"name":"identifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelBookingContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingContractCancellableResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/payable":{"post":{"tags":["Contract"],"summary":"Create payable contracts","description":"Returns a list of contracts that can be used alongside reactive widget to initiate a reactive.","operationId":"createPayableContracts","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayableContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayableContractResponse"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/list/{traceId}/cancellable":{"post":{"tags":["Contract"],"summary":"Group contract cancellable","description":"Returns whether a booking can be cancelled or not and any rules associated with cancelling.","operationId":"isGroupContractCancellable","parameters":[{"name":"traceId","in":"path","description":"Booking contract traceId","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelBookingContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookingContractCancellableResponse"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/agent":{"post":{"tags":["Agent"],"summary":"Create Agent Payment","description":"Attempt an immediate reactive with Agent as acquirer. Checks for valid funds in account before booking instruction.","operationId":"createAgentSale","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentSaleRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiBookingContractResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/affiliate/details":{"post":{"tags":["Affiliate"],"summary":"Show Affiliate Details","description":"Returns basic affiliate details.","operationId":"showAffiliateDetails","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateDetailsRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateInformation"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/application":{"post":{"tags":["Application"],"summary":"Create Application","description":"Create a new application","operationId":"createApplication","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertApplicationRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApplicationResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/administration/external-event/grid":{"post":{"tags":["External Event"],"summary":"Show External Event Grid","description":"Displays external events for specified entity ID.","operationId":"showExternalEventGrid","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExternalEvent"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/activity-stream":{"post":{"tags":["Activity Stream"],"summary":"Create Activity Stream","description":"Add a new activity stream entry.","operationId":"createActivity","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertActivityStreamRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityStream"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{id}/bankaccount":{"post":{"tags":["Account"],"summary":"Add Bank Account","description":"Add a bank account to an existing account using local account identifier","operationId":"createAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertBankAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/mapping/grid":{"post":{"tags":["Account Mappings"],"summary":"Show Account Mappings","description":"List all mappings belonging to a specific account.","operationId":"loadAccountMappingGrid","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageMapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/mapping":{"post":{"tags":["Account Mappings"],"summary":"Create Account Mapping","description":"Create a mapping between a local account and a remote account.","operationId":"createAccountMapping","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAccountMappingRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/contract/grid":{"post":{"tags":["Contract"],"summary":"Retrieve contract grid","description":"Returns booking contracts for account identifier.","operationId":"showContractGrid","parameters":[{"name":"accountIdentifier","in":"path","description":"The account owner","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","description":"The optional state to want to receive funds for","required":false,"schema":{"type":"string","enum":["UPCOMING","ACTIVE","COMPLETED","FUNDS_AVAILABLE","REQUESTING_REFUND"]}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"description":"The optional state to filter on","content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/grid":{"post":{"tags":["Account"],"summary":"Show Account Grid for User","description":"Load account grid for authenticated user","operationId":"loadAccountGridForAuthenticatedUser","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageAccount"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{id}/bankaccount":{"post":{"tags":["Account"],"summary":"Add Bank Account to External","description":"Add a bank account to an existing account using the external account identifier","operationId":"createExternalAccountBankAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertBankAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account":{"post":{"tags":["Account"],"summary":"Create Account","description":"Create a new account","operationId":"createAccount","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountRequest"}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/webhook/{id}":{"get":{"tags":["Webhook"],"summary":"Show Webhook","description":"Show a specific webhook","operationId":"loadWebhook","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Webhook"],"summary":"Delete Webhook","description":"Remove a specific webhook","operationId":"deleteWebhook","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveEntryResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"patch":{"tags":["Webhook"],"summary":"Update Webhook","description":"Update an existing webhook","operationId":"updateWebhook","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertWebhookRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/mapping/{id}":{"get":{"tags":["Mapping"],"summary":"Show Mapping","description":"Show a specific mapping contract","operationId":"loadMapping","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Mapping"],"summary":"Delete Mapping","description":"Delete a specific mapping contract","operationId":"removeMapping","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"patch":{"tags":["Mapping"],"summary":"Update Mapping","description":"Update a mapping name only","operationId":"updateMapping","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMappingRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/mapping/external/{id}":{"get":{"tags":["Mapping"],"summary":"Show External Mapping","description":"Show a specific mapping contract by external identifier","operationId":"loadMappingByExternalIdentifier","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Mapping"],"summary":"Delete External Mapping","description":"Delete a specific mapping contract based on its external identifier","operationId":"removeMappingByExternalIdentifier","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"patch":{"tags":["Mapping"],"summary":"Update External Mapping","description":"Update a mapping name only","operationId":"updateMappingByExternalIdentifier","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMappingRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mapping"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/{identifier}/request-refund":{"patch":{"tags":["Contract"],"summary":"Request refund","description":"Requests a refund for a booking contract. Creates a refund request record that needs to be approved by a payment admin.","operationId":"requestRefund","parameters":[{"name":"identifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/{identifier}/immediate-refund":{"patch":{"tags":["Contract"],"summary":"Immediate refund","description":"In the event that a booking is not possible on the partner site due to lack of availability, or similar. This endpoint offers a 3-minute window to let that partner refund the traveler 100% of her funds.","operationId":"immediateRefund","parameters":[{"name":"identifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"description":"Accompanying payload that described the optional reason for using this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmediateRefundRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/{identifier}/cancel":{"patch":{"tags":["Contract"],"summary":"Cancel booking","description":"Cancels a booking contract. Based on the type of cancellation policy, will do a refund or partial refund to the payment method.","operationId":"cancelBookingContract","parameters":[{"name":"identifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelBookingContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/list/{traceId}/immediate-refund":{"patch":{"tags":["Contract"],"summary":"Immediate group refund","description":"In the event that a booking is not possible on the partner site due to lack of availability, or similar. This endpoint offers a 3-minute window to let that partner refund the traveler 100% of her funds.","operationId":"immediateGroupRefund","parameters":[{"name":"traceId","in":"path","description":"Booking contract traceId","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"description":"Accompanying payload that described the optional reason for using this endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmediateRefundRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookingContract"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/list/{traceId}/cancel":{"patch":{"tags":["Contract"],"summary":"Cancel group bookings","description":"Cancels a group booking contract. All bookings under the same traceId.","operationId":"cancelGroupBookingContract","parameters":[{"name":"traceId","in":"path","description":"Booking contract traceId","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelBookingContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookingContract"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/application/{id}":{"get":{"tags":["Application"],"summary":"Show Application","description":"Show a specific application","operationId":"loadApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Application"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Application"],"summary":"Delete Application","description":"Remove a specific application","operationId":"deleteApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveEntryResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"patch":{"tags":["Application"],"summary":"Update Application","description":"Update an existing application","operationId":"updateApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertApplicationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApplicationResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{id}/verify":{"patch":{"tags":["Account"],"summary":"Verify Account","description":"Enriches account with supplemental data that missing in the account creation phase.","operationId":"verifyAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{id}/task/{taskId}/tid":{"patch":{"tags":["Account"],"summary":"Submit Tax ID","description":"Accounts can respond to an invalid Tax ID error by completing this task","operationId":"updateNationalIdentifier","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTaxIdentifierRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{id}":{"get":{"tags":["Account"],"summary":"Show Account","description":"Show a specific account","operationId":"loadAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"delete":{"tags":["Account"],"summary":"Delete Account","description":"Show a specific account","operationId":"deleteAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveEntryResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]},"patch":{"tags":["Account"],"summary":"Update Account","description":"Update an existing account","operationId":"updateAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{id}":{"patch":{"tags":["Account"],"summary":"Update External Account","description":"Update an existing account using the externalIdentifier to find the account","operationId":"updateExternalAccount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAccountRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/webhook/list":{"get":{"tags":["Webhook"],"summary":"Show Webhooks","description":"List all webhooks owned by creating entity","operationId":"showWebhooksByAccountsByOwner","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/webhook/event/list":{"get":{"tags":["Webhook"],"summary":"Show Webhook Event List","description":"List all valid webhook events that can be subsccribed to","operationId":"showWebhookEvents","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/mapping/list":{"get":{"tags":["Mapping"],"summary":"Show Mappings","description":"List all mappings","operationId":"loadMappings","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mapping"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/managing-entity/list":{"get":{"tags":["Application"],"summary":"Show Managing Entities","description":"Lists all entities, including user entity, owned by user.","operationId":"showManagingEntities","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ManagingEntity"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/hello/error":{"get":{"tags":["Ping"],"summary":"Hello World Error","description":"Test the connection by sending an error message in return.","operationId":"pingError","parameters":[{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/hello":{"get":{"tags":["Ping"],"summary":"Hello World","description":"Test the connection.","operationId":"ping","parameters":[{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/{identifier}":{"get":{"tags":["Contract"],"summary":"Retrieve single contract","description":"Returns a booking contract by its unique identifier.","operationId":"showContract","parameters":[{"name":"identifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/payable/{transientContractIdentifier}":{"get":{"tags":["Contract"],"summary":"Load payable contracts","description":"Returns a transient contract based on specified identifier.","operationId":"showPayableContracts","parameters":[{"name":"transientContractIdentifier","in":"path","description":"Transient contract to retrieve","required":true,"schema":{"type":"string"},"example":"contract-1"},{"name":"currency","in":"query","description":"Desired currency","required":false,"schema":{"type":"string"},"example":"contract-1"},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayableContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/contract/list/{traceId}":{"get":{"tags":["Contract"],"summary":"Retrieve multiple contracts","description":"Returns booking contracts matching traceId.","operationId":"showContracts","parameters":[{"name":"traceId","in":"path","description":"Trace identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookingContract"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/application/{id}/revoke":{"get":{"tags":["Application"],"summary":"Revoke Application Credentials","description":"Refreshes the clientId and secretKey properties.","operationId":"revokeApplication","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeClientIdResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/application/list":{"get":{"tags":["Application"],"summary":"Show Applications","description":"List all applications owned by creating entity","operationId":"showApplicationsByUser","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Application"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/administration/external-event/{eventIdentifier}":{"get":{"tags":["External Event"],"summary":"Show External Event","description":"Displays external event for specified event ID.","operationId":"showExternalEvent","parameters":[{"name":"eventIdentifier","in":"path","description":"ID of event to retrieve","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalEvent"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/administration/external-event/{entityIdentifier}/list":{"get":{"tags":["External Event"],"summary":"Show External Events","description":"Displays external events for specified entity ID.","operationId":"showExternalEventList","parameters":[{"name":"entityIdentifier","in":"path","description":"ID of entity to retrieve stream for","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExternalEvent"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/activity-stream/{entityIdentifier}/list":{"get":{"tags":["Activity Stream"],"summary":"Show Activity Stream","description":"Displays activity stream for specified entity ID.","operationId":"showStream","parameters":[{"name":"entityIdentifier","in":"path","description":"ID of entity to retrieve stream for","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActivityStream"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{id}/status":{"get":{"tags":["Account"],"summary":"Check Account Status","description":"Returns account status about whether this account has been verified and whether it is active.","operationId":"checkAccountStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatusResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/contract/funds":{"get":{"tags":["Contract"],"summary":"Retrieve contract funds","description":"Returns booking contract funds for account identifier.","operationId":"showContractFunds","parameters":[{"name":"accountIdentifier","in":"path","description":"The account owner","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","description":"The optional state to want to receive funds for","required":false,"schema":{"type":"string","enum":["UPCOMING","ACTIVE","COMPLETED","FUNDS_AVAILABLE","REQUESTING_REFUND"]}},{"name":"accountFundsOnly","in":"query","description":"Whether to only returns funds for that account identifier or total funds that account identifier was part of. (defaults to false).","required":false,"schema":{"type":"boolean","default":false},"example":true},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalAggregateFunds"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/contract/capture":{"get":{"tags":["Contract"],"summary":"Retrieve capture currencies","description":"Returns a list of capture currencies and amounts for the account identifier.","operationId":"showCaptureCurrencies","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["UPCOMING","ACTIVE","COMPLETED","FUNDS_AVAILABLE","REQUESTING_REFUND"]}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AggregateBookingContractCaptureCurrenciesByAccountResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/contract/aggregate/cancellation":{"get":{"tags":["Contract"],"summary":"Retrieve aggregate cancellation data","description":"Returns aggregate cancellation data this account identifier has participated in.","operationId":"showAggregateCancellationData","parameters":[{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AggregateBookingContractCancellationState"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/{accountIdentifier}/contract/aggregate/beneficiary":{"get":{"tags":["Contract"],"summary":"Retrieve aggregate beneficiary data","description":"Returns aggregate contract data this account identifier has participated in.","operationId":"showAggregateBookingContractData","parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["LODGING","RAIL","AIR","CAR","CRUISE","PACKAGE","ADD_ON","RENTAL","EXPERIENCE","ANCILLARY_BOOKING","ANCILLARY_FEE"]}},{"name":"accountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BeneficiaryAggregateData"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/unique/{name}":{"get":{"tags":["Account"],"summary":"Verify Account Name","description":"Check if account name is unique","operationId":"isAccountNameUnique","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"identifier","in":"query","required":false,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniqueResult"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/search/{name}":{"get":{"tags":["Account"],"summary":"Search Accounts by Name","description":"Show accounts matching name","operationId":"searchAccountByName","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"ignorecase","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/owner/list":{"get":{"tags":["Account"],"summary":"Show Accounts by Owner","description":"List all accounts owned by creating entity","operationId":"showAccountsByOwner","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Account"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/name/{name}":{"get":{"tags":["Account"],"summary":"Show Accounts by Name","description":"Show accounts matching name","operationId":"loadAccountByName","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Account"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/name":{"get":{"tags":["Account"],"summary":"Show Accounts by Name like","description":"Show accounts matching name that are like...","operationId":"loadAccountByNameLike","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"}},{"name":"ignore-case","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Account"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/list":{"get":{"tags":["Account"],"summary":"Show Account for User","description":"Load account details for authenticated user","operationId":"loadAccountsForAuthenticatedUser","parameters":[{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Account"}}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{id}/status":{"get":{"tags":["Account"],"summary":"Check External Account Status","description":"Returns account status about whether this account has been verified and whether it is active.","operationId":"checkExternalAccountStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatusResponse"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{externalAccountIdentifier}/contract/{bookingContractIdentifier}":{"get":{"tags":["Contract"],"summary":"Retrieve single contract for external account","description":"Loads a booking contract based on external account identifier and actual contract identifier.","operationId":"showContractForExternalAccount","parameters":[{"name":"externalAccountIdentifier","in":"path","description":"Show contract owned by this external account","required":true,"schema":{"type":"string"}},{"name":"bookingContractIdentifier","in":"path","description":"Booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalBookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{externalAccountIdentifier}/contract/external/{externalBookingContractIdentifier}":{"get":{"tags":["Contract"],"summary":"Retrieve single contract for external","description":"Loads a booking contract based on external account and contract identifiers.","operationId":"showExternalContract","parameters":[{"name":"externalAccountIdentifier","in":"path","description":"Show contract owned by this external account","required":true,"schema":{"type":"string"}},{"name":"externalBookingContractIdentifier","in":"path","description":"External booking contract identifier","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalBookingContract"}}}}},"security":[{"oauth2ClientCredentials":[]}]}},"/api/account/external/{externalAccountIdentifier}":{"get":{"tags":["Account"],"summary":"Show Account for External","description":"Show a specific account by passing your own external identifier","operationId":"loadExternalAccount","parameters":[{"name":"externalAccountIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"Wink-Version","in":"header","schema":{"type":"string","enum":["2.0"]}},{"name":"Accept","in":"header","schema":{"type":"string","enum":["application/json"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"oauth2ClientCredentials":[]}]}}},"components":{"schemas":{"UpsertBankAccountRequest":{"required":["accountHolderName","accountNumber","countryCode","currencyCode","primary"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country of bank account","example":"US"},"currencyCode":{"type":"string","description":"Currency of bank account","example":"USD"},"accountHolderName":{"type":"string","description":"Bank account holder name","example":"12345678"},"swiftCode":{"type":"string","description":"Bank SWIFT code. Unique code identifier the bank and branch of the bank account.","example":"HHKHD"},"routingNumber":{"type":"string","description":"Bank account routing number. This is sort code in HK and Zengin code in JP.","example":"12345678"},"accountNumber":{"type":"string","description":"Bank account number. In all EU countries, this would be the IBAN. In other countries, the routing number will apply as well.","example":"12345678"},"primary":{"type":"boolean","description":"One bank account always needs to be primary."}}},"Account":{"required":["accountEmail","accountOwnerIdentifier","address","currencyCode","description","name","owner","ownerType","type","url","userIdentifier"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"type":{"type":"string","description":"Type of account tells us what the account is capable of.","example":"MERCHANT","enum":["MERCHANT","AFFILIATE","AGENT","FACILITATOR","RATE_PROVIDER","TRIP_PAY"]},"ownerType":{"type":"string","description":"Type of account owner tells us whether ths account is managed by a company or an individual.","example":"COMPANY","enum":["COMPANY","INDIVIDUAL"]},"accountOwnerIdentifier":{"type":"string","description":"The entity that created this account.","example":"account-1"},"name":{"type":"string","description":"Name of company / full name of person","example":"My Company"},"legalName":{"type":"string","description":"Legal name of entity if other than name","example":"Legal Company 1"},"userIdentifier":{"type":"string","description":"The authenticated user that owns this account.","example":"user-1"},"owner":{"$ref":"#/components/schemas/Contact"},"accountEmail":{"type":"string","description":"Account email is where we will send KYC documents and other account specific mailings","example":"[email protected]"},"accountPhoneNumber":{"type":"string","description":"Account phone number is mostly used for KYC purchases","example":"+1 212 555 1212"},"description":{"type":"string","description":"Short company / person description.","example":"My Company is the best company ever."},"url":{"type":"string","description":"Company website. If private person with no personal website, link to main social network account.","example":"https://trippay.io"},"status":{"type":"string","description":"Account status shows if it's approved","example":"APPROVED","default":"REGISTERED","enum":["REGISTERED","REVIEW","APPROVED","DEACTIVATED","REJECTED"]},"currencyCode":{"maxLength":3,"minLength":3,"type":"string","description":"Account's main currency.","example":"GBP"},"address":{"$ref":"#/components/schemas/Address"},"acquirers":{"type":"array","items":{"$ref":"#/components/schemas/Acquirer"}},"bankAccounts":{"type":"array","items":{"$ref":"#/components/schemas/BankAccount"}},"ownerTypeIdentifier":{"type":"string","description":"This is the tax identification number (TIN) for individuals and entity identification number (EIN) for companies."},"dob":{"type":"string","description":"This is the individual's date of birth.","format":"date"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/AccountStatusEntry"}},"preferredDisbursementType":{"type":"string","description":"The preferred method which the account holder wishes to be paid. This will play a role if we choose to automate the payout flow.","example":"BANK_TRANSFER","default":"BANK_TRANSFER","enum":["VIRTUAL_CREDIT_CARD","BANK_TRANSFER"]}},"description":"Account holds KYC, bank account and contact information of an affiliate, supplier, reactive or any type of entity that is to be a beneficiary of funds through the payment."},"AccountStatusEntry":{"required":["taskId","text","type"],"type":"object","properties":{"taskId":{"type":"string","description":"Unique task identifier.","format":"uuid"},"type":{"type":"string","description":"Type of textual entry","example":"DISBURSEMENT","enum":["MISSING_NATIONAL_IDENTIFIER"]},"text":{"type":"string","description":"Textual description of .","format":"uuid"}},"description":"Describes a specific issue","example":"Your EIN is incorrect."},"Acquirer":{"required":["acquirerId","credentials","currencyCode","priority","type","vendor"],"type":"object","properties":{"acquirerId":{"type":"string","description":"Unique identifier.","example":"acquirer-1"},"priority":{"type":"integer","description":"Determines how vendors are displayed in a list","format":"int32"},"vendor":{"type":"string","description":"Name of acquiring vendor","example":"STRIPE","enum":["STRIPE","AGENT","NMI","WISE"]},"type":{"type":"string","description":"Technology taking the charge","example":"CREDIT_CARD","enum":["CREDIT_CARD","BANK_TRANSFER","PAY_PAL","CRYPTO","AGENT","CASH"]},"currencyCode":{"type":"string","description":"Currency in coverage region.","example":"GBP"},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/AcquirerCredentials"}},"webhookSecret":{"type":"string"},"publicToken":{"type":"string"}},"description":"Payment method with the details describing how to make a reactive happen"},"AcquirerCredentials":{"required":["key1","key2","type"],"type":"object","properties":{"type":{"type":"string","description":"Type of credentials","enum":["TOKEN","PROCESSOR_ID","WEBHOOK","SECRET"]},"key1":{"type":"string","description":"A key that can be used as a token","example":"token-1"},"key2":{"type":"string","description":"Can be used alongside key1 as credentials","example":"token-2"}},"description":"How we interact with the acquirer"},"Address":{"required":["address1","city"],"type":"object","properties":{"address1":{"type":"string","description":"Address line 1","example":"234 Near da beach"},"address2":{"type":"string","description":"Address line 2","example":"Pebble #5001"},"state":{"type":"string","description":"State","example":"CA"},"postalCode":{"type":"string","description":"Postal / zip code","example":"90210"},"county":{"type":"string","description":"County","example":"Alameda county"},"city":{"$ref":"#/components/schemas/GeoName"},"valid":{"type":"boolean","description":"Whether this address is considered valid by the system or not","readOnly":true,"example":true},"fullAddress":{"type":"string","description":"Address 1, Address 2, City, State, Postal / Zip code, Country","readOnly":true,"example":"11 At home, Suite 3C, New York City, NY 10010, United States"}},"description":"Address information"},"BankAccount":{"required":["accountHolderName","accountNumber","countryCode","currencyCode","identifier","primary"],"type":"object","properties":{"identifier":{"type":"string","description":"Unique bank account identifier","format":"uuid"},"countryCode":{"type":"string","description":"Country of bank account","example":"US"},"currencyCode":{"type":"string","description":"Currency of bank account","example":"USD"},"accountHolderName":{"type":"string","description":"Bank account holder name","example":"Luxury Resorts"},"swiftCode":{"type":"string","description":"Bank SWIFT code. Unique code identifier the bank and branch of the bank account.","example":"HHKHD"},"routingNumber":{"type":"string","description":"Bank account routing number. This is sort code in HK and Zengin code in JP.","example":"12345678"},"accountNumber":{"type":"string","description":"Bank account number. In all EU countries, this would be the IBAN. In other countries, the routing number will apply as well.","example":"12345678"},"primary":{"type":"boolean","description":"One bank account always needs to be primary."}},"description":"Accounts use bank accounts to get paid."},"Contact":{"type":"object","properties":{"firstName":{"type":"string","description":"Contact first name","example":"John"},"lastName":{"type":"string","description":"Contact last name","example":"Smith"},"email":{"type":"string","description":"Contact E-mail","example":"[email protected]"},"secondaryEmail":{"type":"string","description":"Contact secondary Email","example":"[email protected]"},"phoneNumber":{"type":"string","description":"Contact phone number","example":"+12125551212"},"fullName":{"type":"string","description":"First and last name","readOnly":true,"example":"John Smith"},"summary":{"type":"string","description":"Summary","readOnly":true,"example":"John Smith ([email protected] / +12125551212)"}},"description":"The owning user entity."},"Country":{"type":"object","properties":{"iso":{"type":"string","description":"ISO code","example":"US"},"iso3":{"type":"string","description":"3 character ISO code","example":"USA"},"isoNumeric":{"type":"integer","description":"Numeric ISO code","format":"int32","example":840},"fips":{"type":"string","description":"FIPS country code","example":"US"},"name":{"type":"string","description":"Country name","example":"United States"},"capital":{"type":"string","description":"Country capital","example":"Washington"},"area":{"type":"number","description":"Area in square kilometers","format":"float","example":9629091.0},"population":{"type":"integer","description":"Country population","format":"int64","example":310232863},"continent":{"type":"string","description":"Continent code","example":"NA"},"topLevelDomain":{"type":"string","description":"Country TLD","example":".us"},"currencyCode":{"type":"string","description":"Currency code","example":"USD"},"currencyName":{"type":"string","description":"Currency name","example":"Dollar"},"phone":{"type":"string","description":"Calling code","example":"1"},"postalCodeFormat":{"type":"string","description":"Postal code format","example":"#####-####"},"postalCodeRegEx":{"type":"string","description":"Postal code regular expression","example":"^d{5}(-d{4})?$"},"languages":{"type":"array","description":"Country languages","items":{"type":"string","description":"Language code","example":"en-US"}},"geoNameId":{"type":"string","description":"Country GeoNames identifier","example":"6252001"},"neighbors":{"type":"array","description":"Neighboring countries","items":{"type":"string","description":"Country ISO code","example":"CA"}}},"description":"Country"},"GeoJsonPoint":{"type":"object","properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"type":{"type":"string"},"coordinates":{"type":"array","items":{"type":"number","format":"double"}}},"description":"Coordinate points of the city","example":{"type":"POINT","coordinates":[100.5581533,13.7370197]}},"GeoName":{"type":"object","properties":{"geoNameId":{"type":"string","description":"GeoName identifier","example":"5128581"},"type":{"type":"string","description":"GeoName type","enum":["CITY","ISLAND","OTHER"]},"name":{"type":"string","description":"Name of city","example":"New York City"},"urlName":{"type":"string","description":"Url name","example":"new-york-city-united-states"},"asciiName":{"type":"string","description":"Ascii name of city","example":"New York City"},"alternateNames":{"type":"array","description":"Array of alternate name","items":{"type":"string","description":"An alternate name for the city","example":"NYC"}},"location":{"$ref":"#/components/schemas/GeoJsonPoint"},"featureClass":{"type":"string"},"featureCode":{"type":"string"},"countryCode":{"type":"string"},"alternateCountryCodes":{"type":"array","items":{"type":"string"}},"admin1Code":{"type":"string"},"admin2Code":{"type":"string"},"admin3Code":{"type":"string"},"admin4Code":{"type":"string"},"population":{"type":"integer","description":"Population of the city","format":"int64","example":8175133},"elevation":{"type":"integer","description":"City elevation","format":"int32","example":10},"digitalElevationModel":{"type":"string"},"timezone":{"type":"string","description":"Timezone","example":"America/New_York"},"modificationDate":{"type":"string","format":"date"},"radiusInMeters":{"type":"integer","format":"int64"},"country":{"$ref":"#/components/schemas/Country"},"subCountry":{"$ref":"#/components/schemas/SubCountry"},"subSubCountry":{"$ref":"#/components/schemas/SubSubCountry"}},"description":"GeoNames have been created at [https://geonames.org](https://geonames.org) and contain geographical destinations we use as geoname data to associate travel inventory with a location."},"SubCountry":{"type":"object","properties":{"code":{"type":"string","description":"Code","example":"US.NY"},"countryCode":{"type":"string","description":"Country code","example":"US"},"subCountryCode":{"type":"string","description":"Sub-country code","example":"NY"},"name":{"type":"string","description":"Sub-country name","example":"New York"},"asciiName":{"type":"string","description":"Sub-country ascii name","example":"New York"},"geoNameId":{"type":"string","description":"Sub-country GeoNames identifier","example":"5128638"}},"description":"Country subdivision such as a state or province"},"SubSubCountry":{"type":"object","properties":{"code":{"type":"string"},"countryCode":{"type":"string"},"subCountryCode":{"type":"string"},"subSubCountryCode":{"type":"string"},"name":{"type":"string"},"asciiName":{"type":"string"},"geoNameId":{"type":"string"}},"description":"Country sub sub division"},"UpsertAccountMappingRequest":{"required":["externalIdentifier","localAccountIdentifier"],"type":"object","properties":{"localAccountIdentifier":{"type":"string","description":"Local account identifier is the reactive identifier","format":"uuid"},"externalIdentifier":{"type":"string","description":"External identifier is the identifier of this entity in a remote system","example":"hotel-a"}}},"Mapping":{"required":["accountIdentifier","accountOwnerIdentifier","externalIdentifier","localAccountIdentifier","name"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"accountOwnerIdentifier":{"type":"string","description":"The entity that owns this account.","example":"principal-1"},"localAccountIdentifier":{"type":"string","description":"Local account identifier is the account identifier of the remote entity within TripPay","example":"hotel-1"},"externalIdentifier":{"type":"string","description":"External identifier is the identifier of this entity in a remote system","example":"hotel-a"},"accountIdentifier":{"type":"string","description":"Account identifier is the account doing the mapping","example":"account-1"},"name":{"type":"string","description":"Name of the entity being mapped","example":"Sheraton Hua Hin"}},"description":"Mapping record is responsible for mapping a local account identifier with a remote system. When a booking comes in from the remote system, we will know how to properly assign funds to the correct accounts."},"ManagingEntity":{"required":["label","type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value that should be persisted.","example":"company-1"},"label":{"type":"string","description":"Text representation of the value.","example":"Company 1"},"type":{"type":"string","description":"Type of entity.","example":"COMPANY","enum":["USER","COMPANY","ACCOUNT"]}},"description":"Name of the application.","example":"App 1"},"UpsertWebhookRequest":{"required":["enabled","entity","eventList","eventUrl","name"],"type":"object","properties":{"name":{"type":"string","description":"Descriptive name of webhook.","example":"Webhook prod"},"entity":{"$ref":"#/components/schemas/ManagingEntity"},"enabled":{"type":"boolean","description":"Whether this webhook is enabled.","example":true,"default":true},"eventUrl":{"type":"string","description":"The url to POST event to.","example":"https://www.webhook.com/event"},"eventList":{"type":"array","items":{"type":"string","description":"The events the listener wants to receive. Leave empty to receive all events.","example":"account.created"}}}},"Webhook":{"required":["enabled","eventList","eventUrl","id","name","ownerIdentifier","ownerName","ownerType","userIdentifier"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"userIdentifier":{"type":"string","description":"Unique owner record identifier","format":"uuid"},"ownerIdentifier":{"type":"string","description":"Unique owner record identifier","format":"uuid"},"ownerName":{"type":"string","description":"Name of company owner.","example":"Travel Tech 1"},"ownerType":{"type":"string","description":"Type of entity.","example":"COMPANY","enum":["USER","COMPANY","ACCOUNT"]},"name":{"type":"string","description":"Descriptive name of webhook.","example":"Webhook prod"},"enabled":{"type":"boolean","description":"Whether this webhook is enabled.","example":true,"default":true},"eventUrl":{"type":"string","description":"The url to POST event to.","example":"https://www.webhook.com/event"},"eventList":{"type":"array","items":{"type":"string","description":"The events the listener wants to receive. Leave empty to receive all events.","example":"account.created"}}}},"CreateMappingRequest":{"required":["accountIdentifier","externalIdentifier","localAccountIdentifier","name"],"type":"object","properties":{"localAccountIdentifier":{"type":"string","description":"Local account identifier is the reactive identifier","format":"uuid"},"externalIdentifier":{"type":"string","description":"External identifier is the identifier of this entity in a remote system","example":"hotel-a"},"accountIdentifier":{"type":"string","description":"Account identifier is the account doing the mapping","format":"uuid"},"name":{"type":"string","description":"Name of the entity being mapped","example":"Sheraton Hua Hin"}}},"CreateIssuingCardEphemeralKeyRequest":{"required":["issuingCard","nonce","vendorIdentifier"],"type":"object","properties":{"vendorIdentifier":{"type":"string","description":"Which coverage area is Stripe customer occurring in.","example":"stripe-slovakia"},"issuingCard":{"type":"string","description":"The cardholder unique ID.","example":"card-1"},"nonce":{"type":"string","description":"A unique none.","example":"nonce-1"}}},"CreateIssuingCardEphemeralKeyResponse":{"required":["secret"],"type":"object","properties":{"secret":{"type":"string","description":"Which coverage area is Stripe customer occurring in.","example":"stripe-slovakia"}}},"CancelBookingContractRequest":{"required":["cancellerType","reason","type"],"type":"object","properties":{"cancellerType":{"type":"string","description":"Who is doing the cancellation","example":"SUPPLIER","enum":["SALES_CHANNEL","SUPPLIER","TRAVELER"]},"type":{"type":"string","description":"Type of cancellation","example":"NO_SHOW","enum":["DUPLICATE","CANCELLATION","NO_SHOW","CC_INVALID","CC_INSUFFICIENT","DISCRETIONARY"]},"reason":{"type":"string","description":"Reason for cancellation"}}},"BookingContractCancellableResponse":{"type":"object","properties":{"identifier":{"type":"string","description":"Booking contract identifier","format":"uuid"},"cancellable":{"type":"boolean","description":"Whether the booking is cancellable or not"},"list":{"type":"array","items":{"$ref":"#/components/schemas/BookingContractItemCancellableResponse"}}},"description":"Contract cancellable response object"},"BookingContractItemCancellableResponse":{"type":"object","properties":{"supplierItemBookingCode":{"type":"string","description":"Booking code identifying the supplier line item.","example":"TP-ASDFG1234"},"nameInEnglish":{"type":"string","description":"Name of item in English included in booking.","example":"Deluxe King"},"policy":{"$ref":"#/components/schemas/SupplierContractItemPolicy"},"type":{"type":"string","description":"Type of item this is.","example":"LODGING","enum":["LODGING","RAIL","AIR","CAR","CRUISE","PACKAGE","ADD_ON","RENTAL","EXPERIENCE","ANCILLARY_BOOKING","ANCILLARY_FEE"]},"sourcePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"supplierPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"displayPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"internalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"capturePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"cancellableByTraveler":{"type":"boolean","description":"Whether this item can be cancelled by traveler either fully or partially."},"cancellableBySupplier":{"type":"boolean","description":"Whether this item can be cancelled by supplier either fully or partially."},"cancellableWithCharges":{"type":"boolean","description":"Whether this item can be cancelled by supplier either fully or partially."},"sourcePriceAfterRefund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"supplierPriceAfterRefund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"displayPriceAfterRefund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"internalPriceAfterRefund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"capturePriceAfterRefund":{"$ref":"#/components/schemas/CustomMonetaryAmount"}},"description":"Contract item cancellable object"},"CustomMonetaryAmount":{"required":["amount","currency"],"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"SupplierContractItemPolicy":{"required":["refundable"],"type":"object","properties":{"refundable":{"type":"boolean","description":"Whether this booking is refundable or not.","example":true},"advanceCancellationFreeOfCharge":{"type":"string","description":"When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.","example":"UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL","enum":["UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL","UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL","ONE_DAY_BEFORE_ARRIVAL","TWO_DAYS_BEFORE_ARRIVAL","THREE_DAYS_BEFORE_ARRIVAL","FIVE_DAYS_BEFORE_ARRIVAL","SEVEN_DAYS_BEFORE_ARRIVAL","FOURTEEN_DAYS_BEFORE_ARRIVAL","TWENTYONE_DAYS_BEFORE_ARRIVAL","THIRTY_DAYS_BEFORE_ARRIVAL","FOURTY_TWO_DAYS_BEFORE_ARRIVAL","SIXTY_DAYS_BEFORE_ARRIVAL"]},"refundableCancellationCharge":{"type":"string","description":"If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.","example":"FIFTY_PERCENT","enum":["FIRST_NIGHT","THIRTY_PERCENT","FIFTY_PERCENT","SIXTY_PERCENT","SEVENTY_PERCENT","NINENTY_PERCENT","ONE_HUNDRED_PERCENT"]},"noShowCharge":{"type":"string","description":"In case the 'Refundable cancellation charge' is set, a different no show charge can be applied.","example":"SAME_AS_CANCELLATION_FEE","enum":["SAME_AS_CANCELLATION_FEE","ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE"]},"nonRefundableCancellationCharge":{"type":"string","description":"When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.","example":"SEVENTY_PERCENT","enum":["FIRST_NIGHT","TEN_PERCENT","THIRTY_PERCENT","FIFTY_PERCENT","SEVENTY_PERCENT"]},"nonRefundableDeadline":{"type":"string","description":"The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.","example":"SEVEN_DAYS_BEFORE_ARRIVAL","enum":["ONE_DAY_BEFORE_ARRIVAL","TWO_DAYS_BEFORE_ARRIVAL","THREE_DAYS_BEFORE_ARRIVAL","FIVE_DAYS_BEFORE_ARRIVAL","SEVEN_DAYS_BEFORE_ARRIVAL","FOURTEEN_DAYS_BEFORE_ARRIVAL","TWENTYONE_DAYS_BEFORE_ARRIVAL","THIRTY_DAYS_BEFORE_ARRIVAL","FOURTY_TWO_DAYS_BEFORE_ARRIVAL","SIXTY_DAYS_BEFORE_ARRIVAL"]},"nonRefundableAfterDeadlineCancellationCharge":{"type":"string","description":"If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.","example":"ONE_HUNDRED_PERCENT","enum":["FIRST_NIGHT","TEN_PERCENT","THIRTY_PERCENT","FIFTY_PERCENT","SEVENTY_PERCENT","ONE_HUNDRED_PERCENT"]},"externalIdentifier":{"type":"string","description":"Optional geoname externalIdentifier to remote policy.","example":"policy-1"},"fullyRefundable":{"type":"boolean","readOnly":true},"partiallyRefundable":{"type":"boolean","readOnly":true}},"description":"Outlines the policy for this item."},"AuthenticatedUser":{"required":["email","firstName","lastName"],"type":"object","properties":{"userIdentifier":{"type":"string","description":"User identifier","format":"uuid"},"firstName":{"type":"string","description":"First name","example":"John"},"lastName":{"type":"string","description":"Last name","example":"Smith"},"email":{"type":"string","description":"Email","format":"email","example":"[email protected]"},"fullName":{"type":"string","description":"Full name","readOnly":true,"example":"John Smith"}},"description":"The user making the booking"},"BeneficiaryCharge":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of charge","enum":["PERCENTAGE","REMAINDER"]},"percent":{"type":"number","description":"A percentage of the total stay amount for an early checkin or late checkout"}},"description":"A variable charge can be a fixed amount or a percentage."},"GuestUser":{"required":["email","firstName","lastName"],"type":"object","properties":{"userIdentifier":{"type":"string","description":"User identifier","format":"uuid"},"firstName":{"type":"string","description":"First name","example":"John"},"lastName":{"type":"string","description":"Last name","example":"Smith"},"email":{"type":"string","description":"Email","format":"email","example":"[email protected]"},"telephone":{"type":"string","description":"Telephone","example":"+1 212 555 1212"},"profile":{"$ref":"#/components/schemas/Profile"},"fullName":{"type":"string","description":"Full name","readOnly":true,"example":"John Smith"}},"description":"Person doing the booking."},"PayableContractRequest":{"required":["affiliateAccountIdentifier","affiliateAccountIdentifierType","contractList","displayCurrency","redirectUrl","sourceUrl","user"],"type":"object","properties":{"user":{"$ref":"#/components/schemas/AuthenticatedUser"},"affiliateAccountIdentifier":{"type":"string","description":"affiliate account making the request"},"affiliateAccountIdentifierType":{"type":"string","description":"Type of identifier this is","enum":["INTERNAL","EXTERNAL"]},"displayCurrency":{"type":"string","description":"The desired quote","example":"USD","default":"USD"},"contractList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/PayableContractSupplier"}},"traceId":{"type":"string","description":"Integrator can choose to include a unique identifier to help identify the collection of bookings","example":"trace-1"},"redirectUrl":{"type":"string","description":"Where to redirect to after booking [in-]complete"},"sourceUrl":{"type":"string","description":"Where the booking originate from"},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."}}},"PayableContractSupplier":{"required":["contractItemList","supplierIdentifier","supplierIdentifierType"],"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier used to track the contract. Will auto-generate on if doesn't exist.","format":"uuid"},"supplierIdentifier":{"type":"string","description":"Supplier identifier ","format":"uuid"},"supplierIdentifierType":{"type":"string","description":"Indicates whether the supplierIdentifier can be found internally or is mapped via an external identifier","example":"EXTERNAL","enum":["INTERNAL","EXTERNAL"]},"contractItemList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/PayableContractSupplierItem"}},"externalSupplierBookingCode":{"type":"string","description":"External booking code generated by the affiliate","example":"external-booking-code-1"},"externalTransactionIdentifier":{"type":"string","description":"External transaction identifier populated when agent responsible for acquiring","example":"external-transaction-1"},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."}},"description":"Details of the booking entries that went in for one particular supplier directly."},"PayableContractSupplierItem":{"required":["beneficiaryList","descriptionInEnglish","itinerary","nameInEnglish","payable","price","pricingType","type","user"],"type":"object","properties":{"user":{"$ref":"#/components/schemas/GuestUser"},"nameInEnglish":{"type":"string","description":"Name of item in English included in booking.","example":"Deluxe King"},"descriptionInEnglish":{"type":"string","description":"Short description in English of item included in booking.","example":"This is the best deluxe king that money can buy."},"price":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"itinerary":{"$ref":"#/components/schemas/SimpleDateTimeItinerary"},"pricingType":{"type":"string","description":"Indicates the way this item should be priced.","enum":["PER_STAY","PER_DAY","PER_NIGHT","PER_USE","PER_HOUR","PER_PERSON","PER_PERSON_PER_NIGHT","PER_PERSON_PER_HOUR","PER_ADULT","PER_ADULT_PER_NIGHT","PER_ADULT_PER_HOUR","PER_CHILD","PER_CHILD_PER_NIGHT","PER_CHILD_PER_HOUR"]},"type":{"type":"string","description":"Type of item this is.","example":"LODGING","enum":["LODGING","RAIL","AIR","CAR","CRUISE","PACKAGE","ADD_ON","RENTAL","EXPERIENCE","ANCILLARY_BOOKING","ANCILLARY_FEE"]},"beneficiaryList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/PayableContractSupplierItemBeneficiary"}},"payable":{"type":"string","description":"When to charge for this item.","example":"PREPAY","enum":["IMMEDIATE","ARRIVAL","DEPARTURE","AGENT"]},"policy":{"$ref":"#/components/schemas/SupplierContractItemPolicy"},"externalIdentifier":{"type":"string","description":"Optional geoname externalIdentifier to remote blocking.","example":"room-type-1"},"dailyRateList":{"type":"array","items":{"$ref":"#/components/schemas/RawDailyRate"}},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract item."},"description":"Place to add more data related to the booking contract item."}},"description":"Holds one booking line item for a specific supplier."},"PayableContractSupplierItemBeneficiary":{"required":["amountDue","identifier","identifierType","type"],"type":"object","properties":{"identifier":{"type":"string","description":"identifier of beneficiary that can map to an account with us","example":"account-1"},"identifierType":{"type":"string","description":"The identifierType tells us what type of identifier this is","example":"INTERNAL","enum":["INTERNAL","EXTERNAL"]},"amountDue":{"$ref":"#/components/schemas/BeneficiaryCharge"},"type":{"type":"string","description":"The type of beneficiary payment.","enum":["COMMISSION","PLATFORM_FEE","TRIP_PAY","SALE"]},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."}},"description":"PayableContractSupplierItemBeneficiary is a registered account with rights to compensation within a booking."},"Personal":{"type":"object","properties":{"gender":{"type":"string","description":"Identifier the gender of the customer.","enum":["MALE","FEMALE","OTHER"]},"birthDate":{"type":"string","description":"Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.","format":"date"},"maritalStatus":{"type":"string","description":"Marital status of the traveler.","enum":["ANNULLED","COHABITATING","DIVORCED","ENGAGED","MARRIED","SEPARATED","SINGLE","WIDOWED","UNKNOWN"]},"childQuantity":{"type":"integer","description":"The number of children of the customer.","format":"int32"},"citizenship":{"type":"string","description":"Name of the (self-professed) country that is clamided for citizenship."},"address1":{"type":"string","description":"Address line 1"},"address2":{"type":"string","description":"Address line 2"},"city":{"type":"string","description":"City"},"state":{"type":"string","description":"State"},"postalCode":{"type":"string","description":"Postal code"},"country":{"type":"string","description":"Country"},"preferredCurrency":{"type":"string","description":"Type of funds preferred for reviewing monetary values, in ISO 4217 codes","example":"USD"},"language":{"type":"string","description":"The primary language of the customer"},"contactPerson":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}},"physChallName":{"type":"array","items":{"type":"string","description":"Array of customer's physical challenges"}},"petInfo":{"type":"array","items":{"$ref":"#/components/schemas/PetInfoDto"}}},"description":"Detailed customer information for this profile"},"PetInfoDto":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","description":"Pet name"},"type":{"type":"string","description":"Pet type"}},"description":"Array of customer's pets"},"Preferences":{"type":"object","properties":{"propertyLocationPref":{"type":"string","description":"Indicates preference for hotel property locations."},"propertyTypePref":{"type":"string","description":"Indicates preference for hotel property types."},"hotelChainPref":{"type":"string","description":"Identifies a preferred company by name."},"propertyAmenityPref":{"type":"array","description":"Indicates preferences for hotel property amenities.","items":{"type":"string"}},"recreationSrvcPref":{"type":"array","description":"Indicates preference for the type of recreation services in a hotel","items":{"type":"string"}},"businessSrvcPref":{"type":"array","description":"Indicates preference for type of business services in a hotel","items":{"type":"string"}},"securityFeaturePref":{"type":"array","description":"Indicates preference of rtype of security features in a hotel","items":{"type":"string"}},"physChalFeaturePref":{"type":"array","description":"Indicates preferences for type of features required to meet the needs of persons with physical challenges, disabilities, etc.","items":{"type":"string","description":"Indicates preferences for type of features required to meet the needs of persons with physical challenges, disabilities, etc."}},"smokingAllowed":{"type":"boolean","description":"Indicates preference for smooking allowed rooms.."},"roomLocationPref":{"type":"string","description":"Indicates preference for hotel room locations."},"bedTypePref":{"type":"string","description":"Indicates preferences for the size and features of hotel bed types."},"foodSrvcPref":{"type":"string","description":"Indicates preferences for type of food listener facilities in a hotel."},"roomAmenityPref":{"type":"array","description":"Indicates preferences for hotel room amenities.","items":{"type":"string"}},"guestType":{"type":"string","description":"Guest type"},"mealPref":{"type":"string","description":"Indicates meal preference."},"cuisinePref":{"type":"string","description":"Indicates cuisine preference."},"interestPref":{"type":"array","description":"Indicates interest preference","items":{"type":"string"}},"beveragePref":{"type":"array","description":"Indicates beverage preference.","items":{"type":"string"}},"foodPref":{"type":"array","description":"Indicates food preference.","items":{"type":"string"}},"allergies":{"type":"array","description":"Indicates allergies","items":{"type":"string"}},"petsPref":{"type":"array","description":"Indicates pet preferences","items":{"type":"string"}}},"description":"Customer preferences"},"Profile":{"required":["personal","preferences","profileIdentifier","share","user","userIdentifier"],"type":"object","properties":{"profileIdentifier":{"type":"string","description":"Profile identifier","format":"uuid"},"userIdentifier":{"type":"string","description":"User identifier","format":"uuid"},"share":{"type":"boolean","description":"Indicates whether the user wants to share this profile of themselves with hotel(s)"},"user":{"$ref":"#/components/schemas/ProfileUser"},"personal":{"$ref":"#/components/schemas/Personal"},"preferences":{"$ref":"#/components/schemas/Preferences"}},"description":"Optional profile record"},"ProfileUser":{"type":"object","properties":{"firstName":{"type":"string","description":"First name","example":"Avid"},"lastName":{"type":"string","description":"Last name","example":"Travelman"},"email":{"type":"string","description":"Email","format":"email","example":"[email protected]"},"phone":{"type":"string","description":"Telephone","example":"0123456789"},"profilePictureUrl":{"type":"string","description":"Profile picture URL"},"fullName":{"type":"string","description":"Full name","readOnly":true,"example":"John Smith"}},"description":"User details"},"RawDailyRate":{"required":["date","price"],"type":"object","properties":{"date":{"type":"string","description":"The date this rate is applicable for.","format":"date","example":"2020-08-24"},"price":{"$ref":"#/components/schemas/CustomMonetaryAmount"}},"description":"In case of LODGING, include daily rates"},"SimpleDateTimeItinerary":{"required":["adults","children","endDate","startDate"],"type":"object","properties":{"startDate":{"type":"string","description":"Start date","format":"date-time"},"endDate":{"type":"string","description":"End date","format":"date-time"},"adults":{"minimum":0,"type":"integer","description":"Number of adults","format":"int32"},"children":{"minimum":0,"type":"integer","description":"Number of children","format":"int32"},"hours":{"type":"integer","description":"Number of hours between start and end dates. Used for itineraries that require bookings that occur within hours and not days. E.g. Meeting room reservation.","format":"int64","readOnly":true},"guests":{"type":"integer","description":"Total number of adults and children","format":"int32","readOnly":true},"nights":{"type":"integer","description":"Total number of room nights","format":"int64","readOnly":true}},"description":"SimpleDateTimeItinerary outlines stay dates, number of adults and children"},"PayableContractResponse":{"required":["externalSupplierBookingCode","externalSupplierIdentifier","id","supplierContractIdentifier","supplierIdentifier","supplierName","totalCapturePrice","totalDisplayPrice","totalInternalPrice","totalPrice","totalSupplierPrice"],"type":"object","properties":{"id":{"type":"string","description":"TripPay supplierContractIdentifier for reactive widget","example":"contract-1"},"traceId":{"type":"string","description":"Groups all booking contracts submitted at the same time","example":"trace-1"},"supplierContractIdentifier":{"type":"string","description":"Unique supplierContractIdentifier used to track the contract. Create a UUID for this purpose.","format":"uuid"},"supplierIdentifier":{"type":"string","description":"Supplier supplierContractIdentifier","format":"uuid"},"supplierName":{"type":"string","description":"Supplier name","example":"Supplier One"},"externalSupplierIdentifier":{"type":"string","description":"Track supplier with its external supplier supplierContractIdentifier","example":"external-supplier-a"},"externalSupplierBookingCode":{"type":"string","description":"External booking code generated by the affiliate","example":"external-booking-code-1"},"externalTransactionIdentifier":{"type":"string","description":"External transaction supplierContractIdentifier populated when agent responsible for acquiring","example":"external-transaction-1"},"totalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalDisplayPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSupplierPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalInternalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalCapturePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"}},"description":"Details of the booking entries that went in for one particular supplier directly."},"CreateAgentSaleRequest":{"required":["contract"],"type":"object","properties":{"contract":{"$ref":"#/components/schemas/PayableContractRequest"}}},"Beneficiary":{"required":["accountEmail","accountIdentifier","accountName","captureAmount","captureAmountRefundModifier","captureCurrency","displayAmount","displayAmountRefundModifier","displayCurrency","internalAmount","internalAmountRefundModifier","internalCurrency","netCaptureAmount","netDisplayAmount","netInternalAmount","netSourceAmount","netSupplierAmount","sourceAmount","sourceAmountRefundModifier","sourceCurrency","supplierAmount","supplierAmountRefundModifier","supplierCurrency","type"],"type":"object","properties":{"accountIdentifier":{"type":"string","description":"accountIdentifier of beneficiary that can map to an account with us","example":"account-1"},"accountName":{"type":"string","description":"accountName of beneficiary that can map to an account with us","example":"Account 1"},"accountEmail":{"type":"string","description":"accountEmail of beneficiary that can map to an account with us","example":"[email protected]"},"accountUrl":{"type":"string","description":"accountUrl of beneficiary that can map to an account with us","example":"https://some.url"},"type":{"type":"string","description":"The type of beneficiary payment.","enum":["COMMISSION","PLATFORM_FEE","TRIP_PAY","SALE"]},"amountDue":{"$ref":"#/components/schemas/BeneficiaryCharge"},"sourceCurrency":{"type":"string","description":"The source currency","example":"USD"},"displayCurrency":{"type":"string","description":"The display currency","example":"USD"},"supplierCurrency":{"type":"string","description":"The supplier currency","example":"USD"},"internalCurrency":{"type":"string","description":"The internal currency","example":"USD"},"captureCurrency":{"type":"string","description":"The capture currency","example":"USD"},"sourceAmount":{"minimum":0,"type":"number","description":"Amount in source currency","example":50},"displayAmount":{"minimum":0,"type":"number","description":"Amount in display currency","example":50},"supplierAmount":{"minimum":0,"type":"number","description":"Amount in supplier currency","example":50},"internalAmount":{"minimum":0,"type":"number","description":"Amount in internal currency","example":50},"captureAmount":{"minimum":0,"type":"number","description":"Amount in capture currency","example":50},"sourceAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original source amount after a refund occurred","example":5},"displayAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original display amount after a refund occurred","example":5},"supplierAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original supplier amount after a refund occurred","example":5},"internalAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original internal amount after a refund occurred","example":5},"captureAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original capture amount after a refund occurred","example":5},"pendingRefunds":{"type":"array","items":{"$ref":"#/components/schemas/PendingRefund"}},"netSourceAmount":{"minimum":0,"type":"number","description":"Source amount minus source modifier."},"netDisplayAmount":{"minimum":0,"type":"number","description":"Display amount minus display modifier."},"netSupplierAmount":{"minimum":0,"type":"number","description":"Supplier amount minus supplier modifier."},"netInternalAmount":{"minimum":0,"type":"number","description":"Internal amount minus internal modifier."},"netCaptureAmount":{"minimum":0,"type":"number","description":"Capture amount minus capture modifier."},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the beneficiary."},"description":"Place to add more data related to the beneficiary."}},"description":"Beneficiary is a registered account with rights to compensation within a booking."},"BookingContract":{"required":["cancelled","captureAmount","captureCurrency","capturePriceQuote","displayAmount","displayCurrency","displayPriceQuote","federatedOrganizationIdentifier","federatedOrganizationName","identifier","internalAmount","internalCurrency","internalPriceQuote","ipAddress","itemList","netCaptureAmount","netDisplayAmount","netInternalAmount","netSourceAmount","netSupplierAmount","payment","sourceAmount","sourceCurrency","sourceUrl","supplierAmount","supplierCurrency","supplierIdentifier","supplierName","supplierPriceQuote","traceId","user"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"federatedOrganizationIdentifier":{"type":"string","description":"The auth realm owner ID","example":"owner-1"},"federatedOrganizationName":{"type":"string","description":"The auth realm owner name","example":"Wink"},"user":{"$ref":"#/components/schemas/AuthenticatedUser"},"ipAddress":{"type":"string","description":"Caller's IP address","example":"111.222.333.444"},"traceId":{"type":"string","description":"Way to track which booking contracts were made together","example":"T-123456"},"sourceUrl":{"type":"string","description":"Where did the booking occur","example":"https://www.traveliko.com"},"identifier":{"type":"string","description":"Unique identifier used to track the contract.","example":"unique-supplier-booking-contract-1"},"supplierIdentifier":{"type":"string","description":"Supplier identifier","format":"uuid"},"supplierName":{"type":"string","description":"Supplier name","example":"Supplier One"},"displayPriceQuote":{"$ref":"#/components/schemas/Quote"},"supplierPriceQuote":{"$ref":"#/components/schemas/Quote"},"internalPriceQuote":{"$ref":"#/components/schemas/Quote"},"capturePriceQuote":{"$ref":"#/components/schemas/Quote"},"itemList":{"maxItems":2147483647,"minItems":1,"type":"array","description":"Holds one booking line item for a specific supplier.","items":{"$ref":"#/components/schemas/BookingContractItem"}},"externalSupplierIdentifier":{"type":"string","description":"Contract creator can choose to identify this record with her own identifier","example":"supplier-a"},"externalSupplierBookingCode":{"type":"string","description":"External booking code generated by the caller","example":"external-booking-code-1"},"payment":{"$ref":"#/components/schemas/BookingContractPaymentDetails"},"cancelled":{"type":"boolean","description":"Whether the booking was cancelled.","example":false},"cancelledOn":{"type":"string","description":"When the booking was cancelled.","format":"date-time"},"canceller":{"type":"string","description":"Type of entity that cancelled the booking.","enum":["SALES_CHANNEL","SUPPLIER","TRAVELER","ACQUIRER","ADMINISTRATOR"]},"cancellationType":{"type":"string","description":"Reason type.","enum":["DUPLICATE","CANCELLATION","NO_SHOW","CC_INVALID","CC_INSUFFICIENT","DISCRETIONARY"]},"cancellerUserIdentifier":{"type":"string","description":"User identifier that cancelled the entity."},"cancelReason":{"type":"string","description":"Reason for cancellation."},"fundsAddedToLedger":{"type":"boolean","description":"Whether the contract has been added to the ledger; ready for payout.","example":true},"fundsProcessed":{"type":"boolean","description":"Whether a funds transfer request has been created for this booking.","example":false},"refunds":{"type":"array","items":{"$ref":"#/components/schemas/Refund"}},"payouts":{"type":"array","items":{"$ref":"#/components/schemas/Payout"}},"sourceCurrency":{"type":"string","description":"The source currency","example":"USD"},"displayCurrency":{"type":"string","description":"The display currency","example":"USD"},"supplierCurrency":{"type":"string","description":"The supplier currency","example":"USD"},"internalCurrency":{"type":"string","description":"The internal currency","example":"USD"},"captureCurrency":{"type":"string","description":"The capture currency","example":"USD"},"sourceAmount":{"minimum":0,"type":"number","description":"The total initial price as quoted in the original TripPay contract."},"displayAmount":{"minimum":0,"type":"number","description":"The total display price."},"supplierAmount":{"minimum":0,"type":"number","description":"The total supplier price."},"internalAmount":{"minimum":0,"type":"number","description":"The total internal price."},"captureAmount":{"minimum":0,"type":"number","description":"The total capture price."},"sourceAmountRefundModifier":{"minimum":0,"type":"number","description":"The source amount still due after a partial refund occurs."},"displayAmountRefundModifier":{"minimum":0,"type":"number","description":"The display amount still due after a partial refund occurs."},"supplierAmountRefundModifier":{"minimum":0,"type":"number","description":"The supplier amount still due after a partial refund occurs."},"internalAmountRefundModifier":{"minimum":0,"type":"number","description":"The internal amount still due after a partial refund occurs."},"captureAmountRefundModifier":{"minimum":0,"type":"number","description":"The capture amount still due after a partial refund occurs."},"netSourceAmount":{"minimum":0,"type":"number","description":"Source amount minus source modifier."},"netDisplayAmount":{"minimum":0,"type":"number","description":"Display amount minus display modifier."},"netSupplierAmount":{"minimum":0,"type":"number","description":"Supplier amount minus supplier modifier."},"netInternalAmount":{"minimum":0,"type":"number","description":"Internal amount minus internal modifier."},"netCaptureAmount":{"minimum":0,"type":"number","description":"Capture amount minus capture modifier."},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."},"netCommissionableTotalSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netCommissionableTotalCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netCommissionableTotalDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netCommissionableTotalSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netCommissionableTotalInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesAndCommissionsSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesAndCommissionsCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesAndCommissionsDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesAndCommissionsSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesAndCommissionsInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalFeesInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalTripPayFeeSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalTripPayFeeCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalTripPayFeeDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalTripPayFeeSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalTripPayFeeInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalSalesSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalSalesCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalSalesDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalSalesSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalSalesInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"commissionableTotalSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"commissionableTotalCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"commissionableTotalDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"commissionableTotalSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"commissionableTotalInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesAndCommissionsSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesAndCommissionsCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesAndCommissionsDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesAndCommissionsSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesAndCommissionsInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalFeesInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalTripPayFeeSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalTripPayFeeCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalTripPayFeeDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalTripPayFeeSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalTripPayFeeInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSalesSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSalesCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSalesDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSalesSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSalesInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"fundsAvailableDate":{"type":"string","description":"Returns the date the funds will be released to the customer.","format":"date"},"totalFeesInPercentWithRefund":{"type":"number","description":"All amounts that are not of type SALE","format":"float"},"totalFeesInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied","format":"float"},"totalTripPayFeeInPercentWithRefund":{"type":"number","description":"All amounts that are not of type SALE","format":"float"},"totalTripPayFeeInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied","format":"float"},"totalCommissionsInPercentWithRefund":{"type":"number","description":"All amounts that are not of type SALE","format":"float"},"totalCommissionsInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied","format":"float"},"totalFeesAndCommissionsInPercentWithRefund":{"type":"number","description":"All amounts that are not of type SALE","format":"float"},"totalFeesAndCommissionsInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied","format":"float"},"originalFeesInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied"},"originalCommissionsInPercent":{"type":"number","description":"All amounts that are not of type SALE before a refund was applied"},"netTotalCustomersSourceAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalCustomersCaptureAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalCustomersDisplayAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalCustomersSupplierAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"netTotalCustomersInternalAmount":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"hasRefunds":{"type":"boolean","description":"Indicates whether any refund in any state is present."},"hasSuccessfulRefunds":{"type":"boolean","description":"Indicates whether a successful refund is present."},"hasPendingRefunds":{"type":"boolean","description":"Indicates whether a pending refund is present."},"hasFailedRefunds":{"type":"boolean","description":"Indicates whether a failed refund is present."},"platformIdentifier":{"type":"string","description":"Returns the account identifier for the beneficiary taking a platform fee"},"totalFundsGroupedByBeneficiary":{"type":"array","description":"Returns all the beneficiaries in this contract with their total amounts","items":{"$ref":"#/components/schemas/Beneficiary"}},"totalTokensEarned":{"type":"integer","description":"Sums up all tokens earned on the contract","format":"int64"},"cancellableBySupplierOrAgent":{"type":"boolean","description":"Whether the booking can still be cancelled completely by the supplier."},"cancellableWithNoCharges":{"type":"boolean","description":"Whether the cancellation comes at no cost to the traveler."},"cancellableWithPotentialCharges":{"type":"boolean","description":"Whether a cancellation comes with partial charges. I.e. Only some of the items in contract are not fully refundable."},"refunded":{"type":"boolean"},"cancellableByTraveler":{"type":"boolean","description":"Whether the booking can still be cancelled completely by the traveller."},"refundable":{"type":"boolean"}},"description":"A booking record is the contract that got created after a successful payment was submitted."},"BookingContractItem":{"required":["beneficiaryList","captureAmount","captureCurrency","descriptionInEnglish","displayAmount","displayCurrency","internalAmount","internalCurrency","itinerary","nameInEnglish","netCaptureAmount","netDisplayAmount","netInternalAmount","netSourceAmount","netSupplierAmount","payable","pricingType","sourceAmount","sourceCurrency","supplierAmount","supplierCurrency","supplierItemBookingCode","type","user"],"type":"object","properties":{"supplierItemBookingCode":{"type":"string","description":"Booking code identifying the supplier line item.","example":"TP-ASDFG1234"},"user":{"$ref":"#/components/schemas/GuestUser"},"nameInEnglish":{"type":"string","description":"Name of item in English included in booking.","example":"Deluxe King"},"descriptionInEnglish":{"type":"string","description":"Short description in English of item included in booking.","example":"This is the best deluxe king that money can buy."},"itinerary":{"$ref":"#/components/schemas/SimpleDateTimeItinerary"},"pricingType":{"type":"string","description":"How to calculate the total amount.","enum":["PER_STAY","PER_DAY","PER_NIGHT","PER_USE","PER_HOUR","PER_PERSON","PER_PERSON_PER_NIGHT","PER_PERSON_PER_HOUR","PER_ADULT","PER_ADULT_PER_NIGHT","PER_ADULT_PER_HOUR","PER_CHILD","PER_CHILD_PER_NIGHT","PER_CHILD_PER_HOUR"]},"type":{"type":"string","description":"Type of item this is.","example":"LODGING","enum":["LODGING","RAIL","AIR","CAR","CRUISE","PACKAGE","ADD_ON","RENTAL","EXPERIENCE","ANCILLARY_BOOKING","ANCILLARY_FEE"]},"beneficiaryList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Beneficiary"}},"payable":{"type":"string","description":"When to charge for this item.","example":"PREPAY","enum":["IMMEDIATE","ARRIVAL","DEPARTURE","AGENT"]},"policy":{"$ref":"#/components/schemas/SupplierContractItemPolicy"},"externalIdentifier":{"type":"string","description":"Optional externalIdentifier to remote inventory.","example":"room-type-1"},"tokensEarned":{"type":"integer","description":"Tokens minted for this item","format":"int64","example":12},"dailyRateList":{"type":"array","items":{"$ref":"#/components/schemas/DailyRate"}},"cancelled":{"type":"boolean","description":"Optional geoname externalIdentifier to remote inventory."},"sourceCurrency":{"type":"string","description":"The source currency","example":"USD"},"displayCurrency":{"type":"string","description":"The display currency","example":"USD"},"supplierCurrency":{"type":"string","description":"The supplier currency","example":"USD"},"internalCurrency":{"type":"string","description":"The internal currency","example":"USD"},"captureCurrency":{"type":"string","description":"The capture currency","example":"USD"},"sourceAmount":{"minimum":0,"type":"number","description":"The total initial price as quoted in the original TripPay contract."},"displayAmount":{"minimum":0,"type":"number","description":"The total display price."},"supplierAmount":{"minimum":0,"type":"number","description":"The total supplier price."},"internalAmount":{"minimum":0,"type":"number","description":"The total internal price."},"captureAmount":{"minimum":0,"type":"number","description":"The total capture price."},"sourceAmountRefundModifier":{"minimum":0,"type":"number","description":"The source amount still due after a partial refund occurs."},"displayAmountRefundModifier":{"minimum":0,"type":"number","description":"The display amount still due after a partial refund occurs."},"supplierAmountRefundModifier":{"minimum":0,"type":"number","description":"The supplier amount still due after a partial refund occurs."},"internalAmountRefundModifier":{"minimum":0,"type":"number","description":"The internal amount still due after a partial refund occurs."},"captureAmountRefundModifier":{"minimum":0,"type":"number","description":"The capture amount still due after a partial refund occurs."},"netSourceAmount":{"minimum":0,"type":"number","description":"Source amount minus source modifier."},"netDisplayAmount":{"minimum":0,"type":"number","description":"Display amount minus display modifier."},"netSupplierAmount":{"minimum":0,"type":"number","description":"Supplier amount minus supplier modifier."},"netInternalAmount":{"minimum":0,"type":"number","description":"Internal amount minus internal modifier."},"netCaptureAmount":{"minimum":0,"type":"number","description":"Capture amount minus capture modifier."},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract item."},"description":"Place to add more data related to the booking contract item."},"cancellableBySupplierOrAgent":{"type":"boolean","description":"Whether the booking can still be cancelled by the supplier. A supplier cancellation overrides the refundable"},"cancellableWithNoCharges":{"type":"boolean","description":"Whether the booking can still be cancelled and whether cancellation charges might still occur."},"cancellableWithPotentialCharges":{"type":"boolean","description":"Whether the booking can still be cancelled and whether cancellation charges might still occur."},"cancellableByTraveler":{"type":"boolean","description":"Whether the booking can still be cancelled by the traveller."}},"description":"Holds one booking line item for a specific supplier."},"BookingContractPaymentDetails":{"required":["acquirerIdentifier","chargeIdentifier","customerIdentifier","status","transactionIdentifier","vendor","vendorSpecific"],"type":"object","properties":{"acquirerIdentifier":{"type":"string","description":"Unique acquiring identifier. Blank for agent payment","example":"stripe-world"},"vendor":{"type":"string","description":"Name of acquiring vendor","example":"STRIPE","enum":["STRIPE","AGENT","NMI","WISE"]},"transactionIdentifier":{"type":"string","description":"Unique transaction id from the vendor. Agent adds their transaction identifier.","example":"tx-1"},"customerIdentifier":{"type":"string","description":"Unique customer id from the vendor. Agent adds their own customer identifier.","example":"customer-1"},"chargeIdentifier":{"type":"string","description":"Unique charge id from the vendor..","example":"charge-1"},"status":{"type":"string","description":"Unique transaction id from the vendor upon a successful sale. Agent adds their transaction identifier.","example":"INITIALIZED","enum":["INITIALIZED","PROCESSING","SUCCEEDED","FAILED"]},"agentInvoicedDate":{"type":"string","description":"The date/time the invoice was generated","format":"date-time"},"agentInvoiceIdentifier":{"type":"string","description":"The specific invoice this booking was registered on","example":"invoice-1"},"redirectUrl":{"type":"string","description":"Where to redirect to after payment [in-]complete"},"fees":{"type":"array","items":{"$ref":"#/components/schemas/Fee"}},"vendorSpecific":{"type":"object","additionalProperties":{"type":"string","description":"Vendor specific values that are returned in a successful response"},"description":"Vendor specific values that are returned in a successful response"}},"description":"Details of the payment. Payment details will be empty if account type is AGENT"},"DailyRate":{"required":["capturePrice","date","displayPrice","internalPrice","price","supplierPrice"],"type":"object","properties":{"date":{"type":"string","description":"The date this rate is applicable for.","format":"date","example":"2020-08-24"},"price":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"displayPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"supplierPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"internalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"capturePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"}},"description":"In case of LODGING, include daily rates"},"Fee":{"required":["description","fee","identifier","type"],"type":"object","properties":{"identifier":{"type":"string","description":"Unique system ID.","example":"ABC1234"},"fee":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"type":{"type":"string","description":"Type of fee","enum":["ACQUIRING","FX","TAX"]},"description":{"type":"string","description":"Withdrawal fee description"}},"description":"Fees associated with this booking contract."},"MultiBookingContractResponse":{"required":["list"],"type":"object","properties":{"list":{"maxItems":2147483647,"minItems":1,"type":"array","description":"Finalized booking contract","items":{"$ref":"#/components/schemas/BookingContract"}}}},"Payout":{"required":["beneficiaryIdentifier","created","entry","externalPayeeIdentifier","identifier","status","type","vendor","vendorIdentifier","vendorName","vendorTokenKey"],"type":"object","properties":{"vendor":{"type":"string","description":"Name of integration vendor","example":"STRIPE","enum":["STRIPE","AGENT","NMI","WISE"]},"vendorIdentifier":{"type":"string","description":"Which acquirer account we return fund from."},"vendorName":{"type":"string","description":"Name of regional acquirer account."},"vendorTokenKey":{"type":"string","description":"Key to help load Stripe for the correct region. Could be helpful for other vendors as well."},"identifier":{"type":"string","description":"Unique system ID.","format":"uuid"},"beneficiaryIdentifier":{"type":"string","description":"Beneficiary ID.","format":"uuid"},"externalPayeeIdentifier":{"type":"string","description":"This would be the cardholder ID for VCCs.","example":"stripe-cardholder-1"},"type":{"type":"string","description":"Type of withdrawal.","example":"BANK_TRANSFER","enum":["BANK_TRANSFER","VCC"]},"entry":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"fees":{"type":"array","description":"Fees incurred when making the withdrawal.","items":{"$ref":"#/components/schemas/PayoutFee"}},"created":{"type":"string","description":"When the payout record was created.","format":"date-time"},"description":{"type":"string","description":"Textual response from provider","example":"Card created successfully"},"payoutId":{"type":"string","description":"The identifier that was generated when scheduling the payout. This will come from the payout provider such as Stripe.","example":"stripe-card-1"},"referenceCode":{"type":"string","description":"The transaction code that was generated when the funds move out of TripPay's account. This will come from the payout provider such as Stripe. E.g. For VCCs, it will occur when an authorization takes place.","example":"ABC1234"},"referenceCodeDate":{"type":"string","description":"The time the funds were withdrawn","format":"date-time"},"status":{"type":"string","description":"Status of withdrawal.","example":"SCHEDULED","enum":["INITIATED","ACTIVE","INACTIVE","FAILED","CANCELLED","COMPLETE"]}},"description":"Payout keeps track of all outgoing funds for a certain account."},"PayoutFee":{"required":["candidate","description","fee","identifier","type"],"type":"object","properties":{"identifier":{"type":"string","description":"Unique system ID.","format":"uuid"},"fee":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"type":{"type":"string","description":"Type of fee","enum":["FX","SERVICE_CHARGE"]},"candidate":{"type":"string","description":"Who pays for this fee","enum":["PAYOR","PAYEE"]},"description":{"type":"string","description":"Withdrawal fee description"}},"description":"Fees incurred when making the withdrawal."},"PendingRefund":{"required":["captureAmountRefundModifier","displayAmountRefundModifier","internalAmountRefundModifier","refundIdentifier","sourceAmountRefundModifier","supplierAmountRefundModifier"],"type":"object","properties":{"refundIdentifier":{"type":"string","description":"This is the refund identifier located on the root bookingContract.refunds object","example":"refund-1"},"sourceAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original source amount after a refund occurred","example":5},"displayAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original display amount after a refund occurred","example":5},"supplierAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original supplier amount after a refund occurred","example":5},"internalAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original internal amount after a refund occurred","example":5},"captureAmountRefundModifier":{"minimum":0,"type":"number","description":"The delta from the original capture amount after a refund occurred","example":5}},"description":"When a refund is first requested, it ends up here. Once it is applied, it moves out of this list and into the parent modifier property"},"Quote":{"required":["exchangeRate","source","target","timestamp"],"type":"object","properties":{"source":{"type":"string","description":"Source"},"target":{"type":"string","description":"Target"},"exchangeRate":{"type":"number","description":"Exchange rate"},"timestamp":{"type":"integer","description":"Timestamp","format":"int64"}},"description":"The quote used to create captureAmount."},"Refund":{"required":["cancelOnRefund","created","description","identifier","reasonType","refund","requestResponse","requestStatus","requestType","statusType"],"type":"object","properties":{"identifier":{"type":"string","description":"A unique identifier","example":"refund-1"},"acquirerRefundIdentifier":{"type":"string","description":"The acquirer refund identifier. Will get attached once it comes in on the webhook.","example":"r-123456"},"requestedByIdentifier":{"type":"string","description":"The SSO person / entity that requested the refund.","example":"user-1"},"refund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"created":{"type":"string","description":"When the amount was refunded","format":"date-time"},"description":{"type":"string","description":"A description of the refund that can be displayed to booker","example":"Customer made a mistake"},"reasonType":{"type":"string","description":"A description of the refund that can be displayed to booker","example":"DUPLICATE","enum":["DUPLICATE","FRAUDULENT","REQUESTED_BY_CUSTOMER","GUEST_COMPLAINT","GUEST_BOOKED_INCORRECT_DATE","GUEST_SICK","OVERBOOKING","EMERGENCY","FLIGHT_CANCELLED","DEATH_IN_FAMILY","OTHER","EXPIRED_UNCAPTURED_CHARGE"]},"cancelOnRefund":{"type":"string","description":"Whether to cancel the booking alongside requesting a refund.","enum":["NONE","CANCEL_ON_SUCCESSFUL_REFUND","CANCEL_REGARDLESS"]},"statusType":{"type":"string","description":"Status of the refund","example":"SUCCEEDED","enum":["PENDING","SUCCEEDED","CANCELED","REQUIRES_ACTION","FAILED"]},"requestType":{"type":"string","description":"The entity making the refund request","example":"BY_ADMIN","enum":["BY_SUPPLIER","BY_ADMIN","BY_STRIPE","BY_SYSTEM","BY_AGENT"]},"requestStatus":{"type":"string","description":"Status of the refund request","example":"APPROVED","enum":["PENDING","APPROVED","REJECTED"]},"requestResponse":{"type":"string","description":"Admin may choose to respond to the refund request made by the hotel","example":"We have rejected your request. Your cancellation policy does not warrant a manual refund."},"receiptUrl":{"type":"string","description":"This is the receipt url that contains a friendly web confirmation page. Comes in on the webhook.","example":"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xSXcxazVBQ3F2UW9nN1IxKIPqo54GMgbHKn45YQY6LBbCZ62655YzamuWDVeWAaw7uApCrxewxjSsZX4C9Lef5jY9JeYFrOVx3IaI"},"retries":{"type":"integer","description":"In case a TripPay admin has to go in and re-send the refund request to Stripe, we want to not to the same calculations again when a retry is executed so we keep track of retries here.","format":"int32","example":0,"default":0},"allocation":{"type":"string","description":"The type of refund determines how the funds are deducted each beneficiary.","example":"EQUAL_DISTRIBUTION","default":"EQUAL_DISTRIBUTION","enum":["FROM_SALE_ONLY","EQUAL_DISTRIBUTION","CUSTOMERS_ONLY"]}},"description":"Refund objects allow you to refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged."},"AffiliateDetailsRequest":{"required":["identifier","type"],"type":"object","properties":{"type":{"type":"string","description":"Account identifier type","enum":["INTERNAL","EXTERNAL"]},"identifier":{"type":"string","description":"Account identifier","format":"uuid"}},"description":"Request for affiliate details"},"AffiliateInformation":{"type":"object","properties":{"affiliateIdentifier":{"type":"string","description":"Affiliate identifier of entity making the same","format":"uuid"},"affiliateName":{"type":"string","description":"Affiliate name of entity making the same","example":"My Affiliate"},"affiliateUrl":{"type":"string","description":"Affiliate url of entity making the same","example":"https://www.my-affiliate.com"}},"description":"Affiliate details response contains details about the affiliate facilitating the sale."},"UpsertApplicationRequest":{"required":["entity","name","redirectUris"],"type":"object","properties":{"name":{"type":"string","description":"Name of the application.","example":"App 1"},"entity":{"$ref":"#/components/schemas/ManagingEntity"},"redirectUris":{"type":"array","items":{"type":"string","description":"Where to redirect after successful OAuth2.","example":"https://my.travel.blog"}}}},"CreateApplicationResponse":{"required":["clientId","id","name","ownerIdentifier","ownerName","ownerType","secretKey"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier.","format":"uuid"},"ownerIdentifier":{"type":"string","description":"Unique owner record identifier","format":"uuid"},"ownerName":{"type":"string","description":"Name of company owner.","example":"Travel Tech 1"},"ownerType":{"type":"string","description":"Type of entity.","example":"COMPANY","enum":["USER","COMPANY","ACCOUNT"]},"name":{"type":"string","description":"Name of this engine application. The first engine for every integrator will have the same name as its company name.","example":"Engine 1"},"redirectUris":{"type":"array","description":"Where to redirect after web components successfully authenticate. For OAuth2 purposes.","example":["https://my.travel.blog"],"items":{"type":"string","description":"Where to redirect after web components successfully authenticate. For OAuth2 purposes.","example":"[\"https://my.travel.blog\"]"}},"clientId":{"type":"string","description":"Client identifier used to authenticate an Oauth2 or web component request.","example":"client-id-123"},"secretKey":{"type":"string","description":"Password used to authenticate an Oauth2 request."}}},"AggregateDescriptor":{"type":"object","properties":{"field":{"type":"string","description":"Field to run aggregate function on","example":"hotel.bookings"},"aggregate":{"type":"string","description":"Aggregate function","example":"count","enum":["count","sum","average","min","max"]}},"description":"Primitive aggregate data points"},"CompositeFilterDescriptor":{"type":"object","properties":{"logic":{"type":"string","description":"Whether to filter inclusively or exclusively","example":"and","enum":["and","or"]},"filters":{"type":"array","description":"Descriptors used for filtering the result set","items":{"$ref":"#/components/schemas/FilterDescriptor"}}},"description":"Descriptors used for filtering result set"},"FilterDescriptor":{"required":["field","operator","value"],"type":"object","properties":{"field":{"type":"string","description":"Field name to filter on","example":"hotel.name"},"operator":{"type":"string","description":"Filter operator to use on field","example":"startsWith","enum":["neq","eq","contains","doesnotcontain","isnull","isnotnull","isempty","isnotempty","startswith","endswith","gte","lte","gt","lt","in","nin"]},"value":{"type":"object","description":"Value to filter dataset against","example":"Happy Res"},"ignoreCase":{"type":"boolean","description":"Make filter comparison case insensitive. Default: Case sensitive ","example":true}},"description":"Descriptors used for filtering the result set"},"GroupDescriptor":{"type":"object","properties":{"field":{"type":"string","description":"Field to group data set on","example":"createdDate"},"dir":{"type":"string","description":"Group sort direction","example":"asc","enum":["asc","desc"]},"aggregates":{"type":"array","description":"Primitive aggregate data points","items":{"$ref":"#/components/schemas/AggregateDescriptor"}}},"description":"Descriptors to group result sets by."},"SortDescriptor":{"type":"object","properties":{"dir":{"type":"string","description":"Descriptors used for sorting result set","example":"asc","enum":["asc","desc"]},"field":{"type":"string","description":"Data set field to sort on","example":"hotel.name"}},"description":"Descriptors used for sorting result set."},"State":{"type":"object","properties":{"skip":{"minimum":0,"type":"integer","description":"Number of records to be skipped by the pager.","format":"int32","example":0,"default":0},"take":{"maximum":180,"minimum":1,"type":"integer","description":"Number of records to take.","format":"int32","example":10,"default":30},"sort":{"type":"array","description":"Descriptors used for sorting result set.","items":{"$ref":"#/components/schemas/SortDescriptor"}},"filter":{"$ref":"#/components/schemas/CompositeFilterDescriptor"},"group":{"type":"array","description":"Descriptors to group result sets by.","items":{"$ref":"#/components/schemas/GroupDescriptor"}}},"description":"Request body with state object"},"ExternalEvent":{"required":["entityIdentifier","instant","mediaType","receiver","sender","type"],"type":"object","properties":{"id":{"type":"string","description":"Unique document identifier","format":"uuid","readOnly":true},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time","readOnly":true},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time","readOnly":true},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","readOnly":true,"example":12},"instant":{"type":"string","description":"Date to attach TTL. Self-deletes after 3 days.","format":"date-time"},"sender":{"type":"string","description":"The sender of the request payload","enum":["WINK","TRIP_PAY"]},"receiver":{"type":"string","description":"The receiver of the request payload","enum":["INVENTORY_WEBHOOK_LISTENER","PAYMENT_WEBHOOK_LISTENER","CHANNEL_MANAGER_INTERNAL","CHANNEL_MANAGER_ALLOTZ","CHANNEL_MANAGER_DEDGE","CHANNEL_MANAGER_CHANNEX","CHANNEL_MANAGER_SITE_MINDER","CHANNEL_MANAGER_TRAVELCLICK","CHANNEL_MANAGER_OMNIBEES","CHANNEL_MANAGER_EZEE","CHANNEL_MANAGER_RATE_GAIN_SYNXIS","CHANNEL_MANAGER_CLOUD_BEDS"]},"type":{"type":"string","description":"The type of request payload"},"entityIdentifier":{"type":"string","description":"The ID of the remote event to query against"},"request":{"type":"string","description":"Request sent to external endpoint"},"response":{"type":"string","description":"Response from external endpoint"},"mediaType":{"type":"string","description":"The content MIME type","example":"application/json"},"httpResponseCode":{"type":"integer","description":"Response status code","format":"int32"},"score":{"type":"number","format":"float"}}},"PageExternalEvent":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/ExternalEvent"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"unpaged":{"type":"boolean"}}},"SortObject":{"type":"object","properties":{"direction":{"type":"string"},"nullHandling":{"type":"string"},"ascending":{"type":"boolean"},"property":{"type":"string"},"ignoreCase":{"type":"boolean"}}},"ActivityStreamUser":{"required":["name","userIdentifier"],"type":"object","properties":{"userIdentifier":{"type":"string","description":"User ID of authenticated person that created the stream.","format":"uuid"},"name":{"type":"string","description":"Full name of user.","example":"Jane Doe"},"profilePictureUrl":{"type":"string","description":"Optional url of user's profile picture"}},"description":"Optional user. Attached when an authenticated user is available in the context of the activity."},"UpsertActivityStreamRequest":{"required":["acl","entityIdentifier","i18nKey"],"type":"object","properties":{"acl":{"type":"string","description":"Who can track this stream?","example":"EVERYONE","enum":["EVERYONE","AUTHENTICATED","OWNER","ADMIN"]},"entityIdentifier":{"type":"string","description":"ID of tracked entity","format":"uuid"},"eventDate":{"type":"string","description":"Optional way to indicate when event occurred","format":"date-time"},"emotion":{"type":"string","description":"Optional emotion. The actual implementation of the emotion is down to the consumer of the stream.","example":"fire"},"comment":{"type":"string","description":"Optional comment. For when the activity was created manually by a user. If i18nKey is not populated, comment is required.","example":"I am all fired up!"},"i18nKey":{"type":"string","description":"Optional localized key. Key will be used to generate text on the front-end. If comment is not populated, i18n is required.","example":"ACTIVITY.UPLOADED"},"attachmentId":{"type":"string","description":"Optional attachment. For when we allow users to upload documents to the activity via Cloudinary.","example":"test.pdf"},"user":{"$ref":"#/components/schemas/ActivityStreamUser"}}},"ActivityStream":{"required":["acl","entityIdentifier","i18nKey"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"acl":{"type":"string","description":"Who can track this stream?","example":"EVERYONE","enum":["EVERYONE","AUTHENTICATED","OWNER","ADMIN"]},"entityIdentifier":{"type":"string","description":"ID of tracked entity","format":"uuid"},"emotion":{"type":"string","description":"Optional emotion. The actual implementation of the emotion is down to the consumer of the stream.","example":"fire"},"comment":{"type":"string","description":"Optional comment. For when the activity was created manually by a user. If i18nKey is not populated, comment is required.","example":"I am all fired up!"},"i18nKey":{"type":"string","description":"Localized key. Key will be used to generate text on the front-end. If comment is not populated, i18n is required.","example":"ACTIVITY.UPLOADED"},"attachmentId":{"type":"string","description":"Optional attachment. For when we allow users to upload documents to the activity via Cloudinary.","example":"test.pdf"},"user":{"$ref":"#/components/schemas/ActivityStreamUser"}}},"PageMapping":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Mapping"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"PageBookingContract":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/BookingContract"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"PageAccount":{"type":"object","properties":{"totalPages":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{"$ref":"#/components/schemas/Account"}},"number":{"type":"integer","format":"int32"},"sort":{"type":"array","items":{"$ref":"#/components/schemas/SortObject"}},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/PageableObject"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"CreateAccountRequest":{"required":["accountEmail","currencyCode","description","name","ownerType","type","url"],"type":"object","properties":{"externalIdentifier":{"type":"string","description":"Unique external record identifier","example":"external-record-1"},"type":{"type":"string","description":"Type of account tells us what the account is capable of.","example":"MERCHANT","enum":["MERCHANT","AFFILIATE","AGENT","FACILITATOR","RATE_PROVIDER"]},"ownerType":{"type":"string","description":"Type of account owner tells us whether ths account is managed by a company or an individual.","example":"COMPANY","enum":["COMPANY","INDIVIDUAL"]},"name":{"type":"string","description":"Name of company / full name of person","example":"My Company"},"legalName":{"type":"string","description":"Legal name of entity if other than name","example":"Legal Company 1"},"userIdentifier":{"type":"string","description":"The authenticated user that owns this account.","example":"user-1"},"accountEmail":{"type":"string","description":"Account email is where we will send KYC documents and other account specific mailings","example":"[email protected]"},"accountPhoneNumber":{"type":"string","description":"Account phone number is mostly used for KYC purchases","example":"+1 212 555 1212"},"description":{"type":"string","description":"Short company / person description.","example":"My Company is the best company ever."},"url":{"type":"string","description":"Company website. If private person with no personal website, link to main social network account.","example":"https://trippay.io"},"currencyCode":{"maxLength":3,"minLength":3,"type":"string","description":"Account's main currency.","example":"GBP"},"address":{"$ref":"#/components/schemas/UpsertCityOnlyAddressRequest"},"acquirers":{"type":"array","items":{"$ref":"#/components/schemas/Acquirer"}},"bankAccounts":{"type":"array","items":{"$ref":"#/components/schemas/UpsertBankAccountRequest"}},"ownerTypeIdentifier":{"type":"string","description":"This is the tax identification number (TIN) for individuals and entity identification number (EIN) for companies."},"dob":{"type":"string","description":"This is the individual's date of birth.","format":"date"},"disbursementType":{"type":"string","description":"The method which the account holder wishes to be paid.","example":"VIRTUAL_CREDIT_CARD","enum":["VIRTUAL_CREDIT_CARD","BANK_TRANSFER"]}}},"UpsertCityOnlyAddressRequest":{"required":["cityGeoNameId"],"type":"object","properties":{"address1":{"type":"string","description":"Address line 1","example":"234 Near da beach"},"address2":{"type":"string","description":"Address line 2","example":"Pebble #5001"},"cityGeoNameId":{"type":"string","description":"City geo name ID","example":"897654"},"state":{"type":"string","description":"State","example":"CA"},"postalCode":{"type":"string","description":"Postal / zip code","example":"90210"},"county":{"type":"string","description":"County","example":"Alameda county"},"valid":{"type":"boolean"}},"description":"This address object only requires that cityGeoNameId be present."},"UpdateMappingRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the entity being mapped","example":"Sheraton Hua Hin"}}},"RefundRequest":{"required":["cancelOnRefund","description","reasonType","refund"],"type":"object","properties":{"refund":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"description":{"type":"string","description":"A description of the refund that can be displayed to booker","example":"Customer made a mistake"},"reasonType":{"type":"string","description":"A description of the refund that can be displayed to booker","example":"REQUESTED_BY_CUSTOMER","enum":["DUPLICATE","FRAUDULENT","REQUESTED_BY_CUSTOMER","GUEST_COMPLAINT","GUEST_BOOKED_INCORRECT_DATE","GUEST_SICK","OVERBOOKING","EMERGENCY","FLIGHT_CANCELLED","DEATH_IN_FAMILY","OTHER","EXPIRED_UNCAPTURED_CHARGE"]},"cancelOnRefund":{"type":"string","description":"Whether to cancel the booking alongside requesting a refund.","enum":["NONE","CANCEL_ON_SUCCESSFUL_REFUND","CANCEL_REGARDLESS"]}}},"ImmediateRefundRequest":{"required":["description"],"type":"object","properties":{"description":{"type":"string","description":"A description of why an immediate refunds was requested.","example":"Inventory no longer available."}}},"UpdateApplicationResponse":{"required":["entity","id"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier.","format":"uuid"},"name":{"type":"string","description":"Name of the application.","example":"App 1"},"entity":{"$ref":"#/components/schemas/ManagingEntity"},"redirectUris":{"type":"array","items":{"type":"string","description":"Where to redirect after successful OAuth2.","example":"https://my.travel.blog"}}}},"UpsertAddressRequest":{"required":["address1","cityGeoNameId","postalCode"],"type":"object","properties":{"address1":{"type":"string","description":"Address line 1","example":"234 Near da beach"},"address2":{"type":"string","description":"Address line 2","example":"Pebble #5001"},"cityGeoNameId":{"type":"string","description":"City geo name ID","example":"897654"},"state":{"type":"string","description":"State","example":"CA"},"postalCode":{"type":"string","description":"Postal / zip code","example":"90210"},"county":{"type":"string","description":"County","example":"Alameda county"}},"description":"Light-weight Address object"},"VerifyAccountRequest":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/UpsertAddressRequest"},"ownerType":{"type":"string","description":"Whether the account is a company or individual.","enum":["COMPANY","INDIVIDUAL"]},"ownerTypeIdentifier":{"type":"string","description":"Either the TIN (individual) or the EIN (company) number of the individual."},"dob":{"type":"string","description":"Date of birth in the case of an individual.","format":"date"},"disbursementType":{"type":"string","description":"The method which the account holder whishes to be paid.","example":"VIRTUAL_CREDIT_CARD","enum":["VIRTUAL_CREDIT_CARD","BANK_TRANSFER"]}}},"SetTaxIdentifierRequest":{"required":["taxId"],"type":"object","properties":{"taxId":{"type":"string","description":"Updated tax identifier. I.e. SSN","example":"111-11-1111"}}},"UpsertAccountRequest":{"required":["accountEmail","address","currencyCode","description","name","url"],"type":"object","properties":{"name":{"type":"string","description":"Name of company / full name of person","example":"My Company"},"legalName":{"type":"string","description":"Legal name of entity if other than name","example":"Legal Company 1"},"description":{"type":"string","description":"Short company / person description.","example":"My Company is the best company ever."},"url":{"type":"string","description":"Company website. If private person with no personal website, link to main social network account.","example":"https://trippay.io"},"accountEmail":{"type":"string","description":"Company website. If private person with no personal website, link to main social network account.","example":"https://trippay.io"},"accountPhoneNumber":{"type":"string","description":"Account phone number is mostly used for KYC purchases","example":"+1 212 555 1212"},"currencyCode":{"maxLength":3,"minLength":3,"type":"string","description":"Account's main currency.","example":"GBP"},"address":{"$ref":"#/components/schemas/UpsertAddressRequest"},"preferredDisbursementType":{"type":"string","description":"The preferred method which the account holder wishes to be paid. This will play a role if we choose to automate the payout flow.","example":"BANK_TRANSFER","default":"BANK_TRANSFER","enum":["VIRTUAL_CREDIT_CARD","BANK_TRANSFER"]}}},"KeyValuePair":{"required":["label","value"],"type":"object","properties":{"value":{"type":"string","description":"The value that should be persisted.","example":"id-1"},"label":{"type":"string","description":"English readable text of the value.","example":"Readable text label"}}},"PayableContract":{"required":["acquirerList","affiliate","contract","displayCurrency","instant","redirectUrl"],"type":"object","properties":{"id":{"type":"string","description":"Document UUID","example":"doc-1"},"createdDate":{"type":"string","description":"Datetime this record was first created","format":"date-time"},"lastUpdate":{"type":"string","description":"Datetime this record was last updated","format":"date-time"},"version":{"type":"integer","description":"Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.","format":"int64","example":12},"affiliate":{"$ref":"#/components/schemas/AffiliateInformation"},"displayCurrency":{"type":"string","description":"The desired quote","example":"USD","default":"USD"},"redirectUrl":{"type":"string","description":"Where to redirect to after booking [in-]complete"},"contract":{"$ref":"#/components/schemas/PricedSupplierContractWithAcquirer"},"acquirerList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Acquirer"}},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Depending on the acquirer, we put in required data for creating the payment."},"description":"Depending on the acquirer, we put in required data for creating the payment."},"instant":{"type":"string","description":"Date to attach TTL. Self-deletes after 1 hour of unuse.","format":"date-time"}},"description":"A contract record is what gets saved upon pricing and converted to a BookingContract on reactive and subsequently removed."},"PricedSupplierContractItemWithAcquirer":{"required":["beneficiaryList","capturePrice","descriptionInEnglish","displayPrice","internalPrice","itinerary","nameInEnglish","payable","price","pricingType","supplierPrice","type","user"],"type":"object","properties":{"user":{"$ref":"#/components/schemas/GuestUser"},"nameInEnglish":{"type":"string","description":"Name of item in English included in booking.","example":"Deluxe King"},"descriptionInEnglish":{"type":"string","description":"Short description in English of item included in booking.","example":"This is the best deluxe king that money can buy."},"price":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"displayPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"supplierPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"internalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"capturePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"itinerary":{"$ref":"#/components/schemas/SimpleDateTimeItinerary"},"pricingType":{"type":"string","description":"How to calculate the total amount.","enum":["PER_STAY","PER_DAY","PER_NIGHT","PER_USE","PER_HOUR","PER_PERSON","PER_PERSON_PER_NIGHT","PER_PERSON_PER_HOUR","PER_ADULT","PER_ADULT_PER_NIGHT","PER_ADULT_PER_HOUR","PER_CHILD","PER_CHILD_PER_NIGHT","PER_CHILD_PER_HOUR"]},"type":{"type":"string","description":"Type of item this is.","example":"LODGING","enum":["LODGING","RAIL","AIR","CAR","CRUISE","PACKAGE","ADD_ON","RENTAL","EXPERIENCE","ANCILLARY_BOOKING","ANCILLARY_FEE"]},"beneficiaryList":{"maxItems":2147483647,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/PayableContractSupplierItemBeneficiary"}},"payable":{"type":"string","description":"When to charge for this item.","example":"PREPAY","enum":["IMMEDIATE","ARRIVAL","DEPARTURE","AGENT"]},"policy":{"$ref":"#/components/schemas/SupplierContractItemPolicy"},"externalIdentifier":{"type":"string","description":"Optional geoname externalIdentifier to remote blocking.","example":"room-type-1"},"dailyRateList":{"type":"array","items":{"$ref":"#/components/schemas/DailyRate"}},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."}},"description":"Holds one booking line item for a specific supplier.","readOnly":true},"PricedSupplierContractWithAcquirer":{"required":["acquirer","capturePriceQuote","displayPriceQuote","externalSupplierBookingCode","externalSupplierIdentifier","externalTransactionIdentifier","federatedOrganizationIdentifier","federatedOrganizationName","identifier","internalPriceQuote","ipAddress","itemList","sourceUrl","supplierIdentifier","supplierName","supplierPriceQuote","traceId","user"],"type":"object","properties":{"federatedOrganizationIdentifier":{"type":"string","description":"The auth realm owner ID","example":"owner-1"},"federatedOrganizationName":{"type":"string","description":"The auth realm owner name","example":"Wink"},"user":{"$ref":"#/components/schemas/AuthenticatedUser"},"ipAddress":{"type":"string","description":"Caller's IP address","example":"111.222.333.444"},"traceId":{"type":"string","description":"Way to track which booking contracts were made together","example":"T-123456"},"sourceUrl":{"type":"string","description":"Where did the booking occur","example":"https://www.traveliko.com"},"identifier":{"type":"string","description":"Unique identifier used to track the contract. Create a UUID for this purpose.","format":"uuid"},"supplierIdentifier":{"type":"string","description":"Supplier identifier","format":"uuid"},"supplierName":{"type":"string","description":"Supplier name","example":"Supplier One"},"displayPriceQuote":{"$ref":"#/components/schemas/Quote"},"supplierPriceQuote":{"$ref":"#/components/schemas/Quote"},"internalPriceQuote":{"$ref":"#/components/schemas/Quote"},"capturePriceQuote":{"$ref":"#/components/schemas/Quote"},"itemList":{"maxItems":2147483647,"minItems":1,"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/PricedSupplierContractItemWithAcquirer"}},"acquirer":{"type":"array","items":{"$ref":"#/components/schemas/Acquirer"}},"externalSupplierIdentifier":{"type":"string","description":"Track supplier with its external supplier identifier","example":"external-supplier-a"},"externalSupplierBookingCode":{"type":"string","description":"External booking code generated by the affiliate","example":"external-booking-code-1"},"externalTransactionIdentifier":{"type":"string","description":"External transaction identifier populated when agent responsible for acquiring","example":"external-transaction-1"},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Place to add more data related to the booking contract."},"description":"Place to add more data related to the booking contract."},"totalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalDisplayPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalSupplierPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalInternalPrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"},"totalCapturePrice":{"$ref":"#/components/schemas/CustomMonetaryAmount"}},"description":"Details of the booking entries that went in for one particular supplier directly."},"RevokeClientIdResponse":{"required":["clientId","id","secretKey"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier.","format":"uuid"},"clientId":{"type":"string","description":"Client identifier used to authenticate an Oauth2 or web component request.","example":"client-id-123"},"secretKey":{"type":"string","description":"Password used to authenticate an Oauth2 request."}}},"Application":{"required":["clientId","id","name","ownerIdentifier","ownerName","ownerType"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier.","format":"uuid"},"ownerIdentifier":{"type":"string","description":"Unique owner record identifier","format":"uuid"},"ownerName":{"type":"string","description":"Name of company owner.","example":"Travel Tech 1"},"ownerType":{"type":"string","description":"Type of entity.","example":"COMPANY","enum":["USER","COMPANY","ACCOUNT"]},"name":{"type":"string","description":"Name of this engine application. The first engine for every integrator will have the same name as its company name.","example":"Engine 1"},"redirectUris":{"type":"array","description":"Where to redirect after web components successfully authenticate. For OAuth2 purposes.","example":["https://my.travel.blog"],"items":{"type":"string","description":"Where to redirect after web components successfully authenticate. For OAuth2 purposes.","example":"[\"https://my.travel.blog\"]"}},"clientId":{"type":"string","description":"Client identifier used to authenticate an Oauth2 or web component request.","example":"client-id-123"}}},"AccountStatusResponse":{"required":["accountIdentifier","status"],"type":"object","properties":{"accountIdentifier":{"type":"string","description":"Local account identifier.","format":"uuid"},"status":{"type":"string","description":"Account status shows if it's approved","example":"APPROVED","enum":["REGISTERED","REVIEW","APPROVED","DEACTIVATED","REJECTED"]},"taskList":{"type":"array","items":{"$ref":"#/components/schemas/AccountStatusEntry"}}},"description":"Shows where the account is in terms of onboarding and readiness"},"TotalAggregateFunds":{"type":"object","properties":{"sourceCurrency":{"type":"string"},"displayCurrency":{"type":"string"},"supplierCurrency":{"type":"string"},"internalCurrency":{"type":"string"},"captureCurrency":{"type":"string"},"sourceAmount":{"type":"number","format":"double"},"displayAmount":{"type":"number","format":"double"},"supplierAmount":{"type":"number","format":"double"},"internalAmount":{"type":"number","format":"double"},"captureAmount":{"type":"number","format":"double"}}},"AggregateBookingContractCaptureCurrenciesByAccountResponse":{"required":["accountIdentifier","list"],"type":"object","properties":{"accountIdentifier":{"type":"string","description":"Account identifier with these capture currencies"},"list":{"type":"array","description":"List of capture currencies","items":{"$ref":"#/components/schemas/AvailableFunds"}}}},"AvailableFunds":{"type":"object","properties":{"supplierCurrency":{"type":"string"},"captureCurrency":{"type":"string"},"supplierAmount":{"type":"number","format":"double"},"captureAmount":{"type":"number","format":"double"}},"description":"Object that holds before and after values of a particular amount after refund has been applied"},"AggregateBookingContractCancellationState":{"required":["cancelled","count"],"type":"object","properties":{"cancelled":{"type":"boolean","description":"Whether booking contract was cancelled"},"count":{"type":"integer","description":"Aggregate booking contract of the cancellation state","format":"int64"}}},"BeneficiaryAggregateData":{"required":["accountIdentifier","accountName","internalAmount","internalCurrency","supplierAmount","supplierCurrency","totalItemsSold","type"],"type":"object","properties":{"accountIdentifier":{"type":"string","description":"Beneficiary account identifier","format":"uuid"},"accountName":{"type":"string","description":"Beneficiary account name","example":"Account X"},"type":{"type":"string","description":"Type of reactive to beneficiary","example":"COMMISSION","enum":["COMMISSION","PLATFORM_FEE","TRIP_PAY","SALE"]},"totalItemsSold":{"type":"integer","description":"Total items sold","format":"int64","example":2},"supplierCurrency":{"type":"string","description":"The supplier currency","example":"USD"},"internalCurrency":{"type":"string","description":"The internal currency","example":"USD"},"supplierAmount":{"type":"number","description":"Amount sold in supplier currency","example":40.1},"internalAmount":{"type":"number","description":"Amount sold in internal currency","example":40.1}}},"UniqueResult":{"type":"object","properties":{"unique":{"type":"boolean"}}},"ExternalBookingContract":{"required":["bookingContract","mapping"],"type":"object","properties":{"mapping":{"$ref":"#/components/schemas/Mapping"},"bookingContract":{"$ref":"#/components/schemas/BookingContract"}}},"RemoveEntryResponse":{"type":"object","properties":{"id":{"type":"string","description":"Identifier of removed document","example":"document-1"},"success":{"type":"boolean","description":"Whether the removal was successful or not.","example":true},"message":{"type":"string","description":"Message with additional information; mostly if the removal request was a failure.","example":"Record successfully removed"}},"description":"Response object for when a system document is removed."}},"securitySchemes":{"oauth2ClientCredentials":{"type":"oauth2","description":"## Retrieve access token\nMake a POST (`Content-Type: application/x-www-form-urlencoded`) request to the Token URL below. Include one POST key/value entry: `grant_type=client_credentials` and include your clientID / secretKey credentials in a Basic Auth header. E.g. `Authorization: Basic base64_encode($clientId + ':' + $secretKey)`.\n## Add Bearer access token to all API requests\nOnce you have the access token, you can pass that along on all API requests in the authentication header: `'Authorization: Bearer $accessToken`","name":"Client Credentials","flows":{"clientCredentials":{"authorizationUrl":"https://iam.wink.travel/oauth2/authorize","tokenUrl":"https://iam.wink.travel/oauth2/token","refreshUrl":"https://iam.wink.travel/oauth2/refresh","scopes":{"payment.read":"Read TripPay data","payment.write":"Write TripPay data","payment.remove":"Remove TripPay data"}}}}}}}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy