Contacts

Keep your contacts in sync

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
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": "[email protected]",
        "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-08-05",
        "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-08-05T13:11:12.849Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "[email protected]",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-08-05T13:11:12.849Z",
        "contact_modified": "2025-08-05T13:11:12.849Z"
      }
    ]
  }
}

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
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": "[email protected]",
        "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-08-05",
        "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-08-05T13:11:12.849Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "[email protected]",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-08-05T13:11:12.849Z",
        "contact_modified": "2025-08-05T13:11:12.849Z"
      }
    ]
  }
}

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
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": "[email protected]",
      "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-08-05",
      "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": "[email protected]",
        "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-08-05",
        "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-08-05T13:11:12.849Z",
            "note_recipients": [
              "SUPPLIER"
            ],
            "note_creator_account_type": "DISTRIBUTOR",
            "note_creator_user_name": "Andrew",
            "note_creator_user_email": "[email protected]",
            "note_creator_user_role": "Supervisor"
          }
        ],
        "contact_custom_fields": [
          {
            "custom_field_name": "Custom Field Name",
            "custom_field_value": "Custom Field Value"
          }
        ],
        "contact_created": "2025-08-05T13:11:12.849Z",
        "contact_modified": "2025-08-05T13:11:12.849Z"
      }
    ]
  }
}

Was this helpful?