LogoLogo
SupportChangelogAPI ReferenceStatus
Distributor API
Distributor API
  • Welcome
  • Getting Started
    • Functionalities
    • Integration Process
      • Implementation Guide
    • OCTO & Prioticket
      • Feature Comparison
    • Postman & Interactive Documentation
    • Connect Once, Reach the World
      • Featured Suppliers
        • Supplier Overview Europe
        • Supplier Overview Americas
        • Supplier Overview Middle East
      • Featured Resellers
    • Statement on API Excellence
    • Frequently Asked Questions
  • Key Concepts
    • Product Structure
      • Product types and classes
      • Admission types
      • Extra Options
      • Pickup Points
      • Combi, Clusters, Bundles & Addons
        • Cluster
        • Combi
        • Addons
        • Bundle
    • Availability and Capacity
      • Availability
      • Capacity
        • Shared and Allocated Capacity
      • Availability API
    • Pricing Guide
      • Who are you?
      • Configurations
      • Variable Pricing
      • Dynamic Pricing
      • How It All Comes Together
    • Booking Logic
      • Cart Management
      • Payments
      • Cancellation & Refunds
      • Booking Questions
    • Additional Capabilities
      • Locations, Destinations and Categories
      • Recommendations
      • Promotions
      • Webhooks
      • Translations
    • Technical Concepts
      • Authentication
      • Idempotency
      • Rate Limiting
      • Timeout Handling
      • Error Handling
      • API versioning
      • Pagination
      • Formats
      • Headers
      • Caching
  • Endpoints
    • About
    • Authentication
    • System
    • Products
      • Stock
    • Availability
    • Reservations / Cart
      • Promocodes
    • Orders
      • Email & Vouchers
    • Payments
    • Contacts
    • Notifications
    • Models
  • Resources
    • Release notes
    • Roadmap
    • Postman
    • Swagger
    • Changelogs
      • Parameter Changelog
    • API Specs
      • V3.8 (Latest)
      • V3.7
      • V3.6
      • V3.5
    • Support
    • Certification
  • Status Dashboard
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Endpoints

Contacts

Keep your contacts in sync

PreviousPaymentsNextNotifications

Was this helpful?

View and Manage Contacts.

Please note that this API does not amend order contacts. To amend order details, please call the Update Order API instead.

Only applicable for partners using the Contacts Module (Returning guests). For regular transactions these endpoints can be safely ignored.

List Contacts

get

Get list of contacts.

Authorizations
Query parameters
reseller_idstringOptional

[FILTER] on reseller_id.

Example: 501
distributor_idstringOptional

[FILTER] on distributor_id.

Example: 501
contact_typestring · enumOptional

Type of contact.

Some supplier systems do not support multiple contacts per orders. In that case we have the following policy:

  1. If set, we sent contact_type:BOOKER.
  2. Otherwise, if set, we sent the first contact_type:CONTACT.
  3. If both are not set, we sent the first contact in the array.
  • BOOKER - Main Booker details (End-consumer). Only a single main booker is recommended.

    This is the most common type of contact, as it contains information about the person / entity who made the booking.

    Any automated emails such as order confirmations will be sent to this contact type.

  • CONTACT - General, non-specific contact.

    Only use this type if a more specific classification is unknown.

  • GUEST - Guest / End-consumer / Passenger linked to the booking.

    Defining the guests per booking allows for advanced functionality such as Check-In and passenger management.

  • PARTNER - Partner details.

  • STAFF - General staff.

  • CASHIER - Cashier performing the sales.

  • PAYMENT - Billing / Financial contact.

    Payment emails will be sent to this contact type by default.

  • AGENT - Agent details.

  • EMERGENCY - Emergency contact (Guest, host, family member etc.).

  • GUIDE - Teacher / Instructor / Guide details.

  • SUPPLIER - Supplier details.

  • VENUE - Venue details.

  • HOST - Host details.

  • COMPANY - (Guest) company details.

  • DELIVERY - (Guest) Delivery / Shipping contact / address details.

  • MANAGER - (UPCOMING) Manager contact.

  • SUPPORT - (UPCOMING) Support contact.

  • INSTRUCTOR - (UPCOMING) Instructor contact.

  • OTHER - Other type of contact, not mentioned above.

Default: CONTACTExample: GUESTPossible values:
items_per_pageinteger · min: 1 · max: 200Optional

[PAGING] Items Per Page - Allows user's to configure the items_per_page value. For example, to load 100 items per page, the developer may point the user to a url with the query string ?items_per_page=100.

This parameter is mainly usefull to manage response times, higher values result in longer response times and therefore it is recommended to keep this value as low as possible. We do allow to adjust this value so it can be used to batch/cache/update inventory at once.

Clients should anticipate that the value of this parameter may not be honored by the API, and should rely exclusively on the contents of the items_per_page response element in calculating actual page size.

Default: 10Example: 5
start_indexinteger · min: 1 · max: 10000Optional

[PAGING] Index-based paging - Allows user's to jump directly to a specific item position within a list of items. For example, to load 10 items starting at item 200, the developer may point the user to a url with the query string ?start_index=200.

Default: 1Example: 1
pageinteger · min: 1Optional

[PAGING] Page-based paging - Allows user's to jump directly to a specific page within the items. This is similar to index-based paging, but saves the developer the extra step of having to calculate the item index for a new page of items. For example, rather than jump to item number 200, the developer could jump to page 20. The urls during page-based paging could use the query string ?page=1 or ?page=20. The page_index and total_pages properties are used for this style of paging.

Default: 1Example: 1
Header parameters
If-Modified-SincestringOptional

[CACHE] The If-Modified-Since request HTTP header makes the request conditional: the server will send back the requested resource, with a 200 status, only if it has been modified after the given date.

If the resource has not been modified since, the response will be a 304 without any body; the Last-Modified response header of a previous request will contain the date of last modification.

Note that if a single resource has changed, all records matching your request will be returned, not just those changed after the given date. This provides you with an efficient caching method.

Example: Wed, 21 Jan 2022 07:28:00 GMT
Responses
200
Get Contacts Response
application/json
304
Not Modified The HTTP 304 Not Modified client redirection response code indicates that there is no need to retransmit the requested resources. It is an implicit redirection to a cached resource. This happens when the request method is safe, like a GET or a HEAD request, or when the request is conditional and uses a `If-None-Match` or a `If-Modified-Since` header.
400
Invalid Request The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
application/json
401
Authentication Failed The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.
application/json
403
Forbidden The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource.
application/json
405
Method Not Allowed The HyperText Transfer Protocol (HTTP) 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
application/json
406
Not Acceptable The HyperText Transfer Protocol (HTTP) 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
application/json
422
Unprocessable Entity The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
application/json
429
Too Many Requests The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").
application/json
500
Internal Server Error The HyperText Transfer Protocol (HTTP) 500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
application/json
501
Not Implemented The HyperText Transfer Protocol (HTTP) 501 Not Implemented server error response code means that the server does not support the functionality required to fulfill the request. The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
application/json
502
Bad Gateway The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server. The HTTP 502 Bad Gateway error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
503
Service Unavailable The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. The HTTP 503 Service Unavailable error is exclusively returned in case of problems during internal communication.
application/json
504
Gateway Timeout The HyperText Transfer Protocol (HTTP) 504 Gateway Timeout server error response code indicates that the server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request. The HTTP 504 Gateway Timeout error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
get
GET /v3.8/distributor/contacts HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "api_version": "3.8.0",
  "data": {
    "kind": "location",
    "current_item_count": 10,
    "items_per_page": 10,
    "start_index": 1,
    "total_items": 200,
    "page_index": 1,
    "total_pages": 20,
    "items": [
      {
        "contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
        "contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
        "contact_version": 2,
        "contact_number": "4573246",
        "contact_type": "GUEST",
        "contact_title": "Mr.",
        "contact_name_first": "John",
        "contact_name_last": "Doe",
        "contact_email": "Johndoe@example.com",
        "contact_phone": "+14155552671",
        "contact_mobile": "+14155552671",
        "contact_language": "NL",
        "contact_nationality": "Dutch",
        "contact_flight_number": "KL 445",
        "contact_loyalty_number": "46564564564547476",
        "contact_birth_place": "Amsterdam",
        "contact_birth_date": "2025-06-17",
        "contact_passport": "JXXXXXXX",
        "contact_gender": "MALE",
        "contact_age": 19,
        "contact_room_number": "523",
        "contact_website": "example.com",
        "contact_company": {
          "company_name": "Example LTD.",
          "company_registration_number": "text",
          "company_tax_number": "text"
        },
        "contact_classification": "IMPORTANT",
        "contact_address": {
          "name": "Start of the Tour / My house / Office / John Doe",
          "street": "Amstel 1",
          "addition": "Apt B1",
          "city": "Amsterdam",
          "postal_code": "1011 PN",
          "region": "Noord-Holland",
          "country": "The Netherlands",
          "country_code": "NL",
          "place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
          "latitude": "52.3785323",
          "longitude": "4.893942",
          "notes": "It's on the fourth floor"
        },
        "contact_notes": [
          {
            "note_value": "Wheelchair assistance required.",
            "note_created": "2025-06-17T05:16:11.588Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "supervisor@prioticket.com",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-06-17T05:16:11.588Z",
        "contact_modified": "2025-06-17T05:16:11.588Z"
      }
    ]
  }
}

Contact Details

get

Get contact details.

Authorizations
Path parameters
contact_uidstring · uuid · min: 8Required

Unique Contact ID.

Example: f44226c0-e142-11ea-86d2-83036af9991e
Query parameters
include_versionsbooleanOptional

[CONFIG] Include all contact revisions.

Default: falseExample: true
Responses
200
Get Contact Detail Response
application/json
400
Invalid Request The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
application/json
401
Authentication Failed The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.
application/json
403
Forbidden The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource.
application/json
405
Method Not Allowed The HyperText Transfer Protocol (HTTP) 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
application/json
406
Not Acceptable The HyperText Transfer Protocol (HTTP) 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
application/json
422
Unprocessable Entity The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
application/json
429
Too Many Requests The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").
application/json
500
Internal Server Error The HyperText Transfer Protocol (HTTP) 500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
application/json
501
Not Implemented The HyperText Transfer Protocol (HTTP) 501 Not Implemented server error response code means that the server does not support the functionality required to fulfill the request. The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
application/json
502
Bad Gateway The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server. The HTTP 502 Bad Gateway error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
503
Service Unavailable The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. The HTTP 503 Service Unavailable error is exclusively returned in case of problems during internal communication.
application/json
504
Gateway Timeout The HyperText Transfer Protocol (HTTP) 504 Gateway Timeout server error response code indicates that the server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request. The HTTP 504 Gateway Timeout error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
get
GET /v3.8/distributor/contacts/{contact_uid} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "api_version": "3.8.0",
  "data": {
    "kind": "location",
    "items": [
      {
        "contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
        "contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
        "contact_version": 2,
        "contact_number": "4573246",
        "contact_type": "GUEST",
        "contact_title": "Mr.",
        "contact_name_first": "John",
        "contact_name_last": "Doe",
        "contact_email": "Johndoe@example.com",
        "contact_phone": "+14155552671",
        "contact_mobile": "+14155552671",
        "contact_language": "NL",
        "contact_nationality": "Dutch",
        "contact_flight_number": "KL 445",
        "contact_loyalty_number": "46564564564547476",
        "contact_birth_place": "Amsterdam",
        "contact_birth_date": "2025-06-17",
        "contact_passport": "JXXXXXXX",
        "contact_gender": "MALE",
        "contact_age": 19,
        "contact_room_number": "523",
        "contact_website": "example.com",
        "contact_company": {
          "company_name": "Example LTD.",
          "company_registration_number": "text",
          "company_tax_number": "text"
        },
        "contact_classification": "IMPORTANT",
        "contact_address": {
          "name": "Start of the Tour / My house / Office / John Doe",
          "street": "Amstel 1",
          "addition": "Apt B1",
          "city": "Amsterdam",
          "postal_code": "1011 PN",
          "region": "Noord-Holland",
          "country": "The Netherlands",
          "country_code": "NL",
          "place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
          "latitude": "52.3785323",
          "longitude": "4.893942",
          "notes": "It's on the fourth floor"
        },
        "contact_notes": [
          {
            "note_value": "Wheelchair assistance required.",
            "note_created": "2025-06-17T05:16:11.588Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "supervisor@prioticket.com",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-06-17T05:16:11.588Z",
        "contact_modified": "2025-06-17T05:16:11.588Z"
      }
    ]
  }
}
  • GETList Contacts
  • GETContact Details
  • PUTUpdate Contact

Update Contact

put

This API is called to update an existing contact.

Contact Functionality:

  • To amend an existing contact, please send the corresponding contact_uid in both the path as well as the body parameter with the amended data. In this case the latest request takes precedence and therefore the data is always overwritten, not merged.

  • TIP: The contact details will be returned on every request. Therefore you are able to merge and combine all data on your side manually.

Please note that this API will not amend the contact details of individual orders by default. To amend the contact details of an order, please pass the corresponding order references as well.

Authorizations
Path parameters
contact_uidstring · uuid · min: 8Required

Unique Contact ID.

Example: f44226c0-e142-11ea-86d2-83036af9991e
Query parameters
order_referencestring[]Optional

By default, previous orders will not be amended. If you would like to update existing orders to the latest contact version, please include these here as well. If the contact was not linked to the order yet, it will be added.

Example: ["ORDRREF123456","ORDRREF12345678"]
Body

Request for updating / amending an existing contact.

api_versionstringRead-onlyRequired

Represents the version of the service API that's served in the response.

Example: 3.8.0
Responses
200
Update Contact Response
application/json
400
Invalid Request The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
application/json
401
Authentication Failed The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.
application/json
403
Forbidden The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource.
application/json
405
Method Not Allowed The HyperText Transfer Protocol (HTTP) 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
application/json
406
Not Acceptable The HyperText Transfer Protocol (HTTP) 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
application/json
422
Unprocessable Entity The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
application/json
429
Too Many Requests The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").
application/json
500
Internal Server Error The HyperText Transfer Protocol (HTTP) 500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
application/json
501
Not Implemented The HyperText Transfer Protocol (HTTP) 501 Not Implemented server error response code means that the server does not support the functionality required to fulfill the request. The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
application/json
502
Bad Gateway The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server. The HTTP 502 Bad Gateway error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
503
Service Unavailable The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. The HTTP 503 Service Unavailable error is exclusively returned in case of problems during internal communication.
application/json
504
Gateway Timeout The HyperText Transfer Protocol (HTTP) 504 Gateway Timeout server error response code indicates that the server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request. The HTTP 504 Gateway Timeout error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
put
PUT /v3.8/distributor/contacts/{contact_uid} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1450

{
  "data": {
    "contact": {
      "contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
      "contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
      "contact_number": "4573246",
      "contact_type": "GUEST",
      "contact_title": "Mr.",
      "contact_name_first": "John",
      "contact_name_last": "Doe",
      "contact_email": "Johndoe@example.com",
      "contact_phone": "+14155552671",
      "contact_mobile": "+14155552671",
      "contact_language": "NL",
      "contact_nationality": "Dutch",
      "contact_flight_number": "KL 445",
      "contact_loyalty_number": "46564564564547476",
      "contact_birth_place": "Amsterdam",
      "contact_birth_date": "2025-06-17",
      "contact_passport": "JXXXXXXX",
      "contact_gender": "MALE",
      "contact_age": 19,
      "contact_room_number": "523",
      "contact_website": "example.com",
      "contact_company": {
        "company_name": "Example LTD.",
        "company_registration_number": "text",
        "company_tax_number": "text"
      },
      "contact_classification": "IMPORTANT",
      "contact_address": {
        "name": "Start of the Tour / My house / Office / John Doe",
        "street": "Amstel 1",
        "addition": "Apt B1",
        "city": "Amsterdam",
        "postal_code": "1011 PN",
        "region": "Noord-Holland",
        "country": "The Netherlands",
        "country_code": "NL",
        "place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
        "latitude": "52.3785323",
        "longitude": "4.893942",
        "notes": "It's on the fourth floor"
      },
      "contact_notes": [
        {
          "note_value": "Wheelchair assistance required.",
          "note_recipients": [
            "SUPPLIER"
          ],
          "note_creator_account_type": "DISTRIBUTOR"
        }
      ],
      "contact_custom_fields": [
        {
          "custom_field_name": "Custom Field Name",
          "custom_field_value": "Custom Field Value"
        }
      ]
    }
  }
}
{
  "api_version": "3.8.0",
  "data": {
    "kind": "location",
    "items": [
      {
        "contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
        "contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
        "contact_version": 2,
        "contact_number": "4573246",
        "contact_type": "GUEST",
        "contact_title": "Mr.",
        "contact_name_first": "John",
        "contact_name_last": "Doe",
        "contact_email": "Johndoe@example.com",
        "contact_phone": "+14155552671",
        "contact_mobile": "+14155552671",
        "contact_language": "NL",
        "contact_nationality": "Dutch",
        "contact_flight_number": "KL 445",
        "contact_loyalty_number": "46564564564547476",
        "contact_birth_place": "Amsterdam",
        "contact_birth_date": "2025-06-17",
        "contact_passport": "JXXXXXXX",
        "contact_gender": "MALE",
        "contact_age": 19,
        "contact_room_number": "523",
        "contact_website": "example.com",
        "contact_company": {
          "company_name": "Example LTD.",
          "company_registration_number": "text",
          "company_tax_number": "text"
        },
        "contact_classification": "IMPORTANT",
        "contact_address": {
          "name": "Start of the Tour / My house / Office / John Doe",
          "street": "Amstel 1",
          "addition": "Apt B1",
          "city": "Amsterdam",
          "postal_code": "1011 PN",
          "region": "Noord-Holland",
          "country": "The Netherlands",
          "country_code": "NL",
          "place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
          "latitude": "52.3785323",
          "longitude": "4.893942",
          "notes": "It's on the fourth floor"
        },
        "contact_notes": [
          {
            "note_value": "Wheelchair assistance required.",
            "note_created": "2025-06-17T05:16:11.588Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "supervisor@prioticket.com",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-06-17T05:16:11.588Z",
        "contact_modified": "2025-06-17T05:16:11.588Z"
      }
    ]
  }
}