Tock · Schema

tockGuestProfile

tockGuestProfile schema from Tock Guest Model

HospitalityReservationsRestaurantsWineriesTicketed EventsTakeoutDeliveryExperiencesDiningAmerican Express

Properties

Name Type Description
id string A unique identifier for the guest. This identifier can change with edits to the guest by the business and should not be stored. For identifiers that do not change with edits, see Patron.id instead.
patron object The Tock account that corresponds to this guest profile. This will be a subset of the full guest profile and the contents are owned and only changeable by the logged-in user.
nickName string A nickname given to this user given by the business.
company string If known, the company where this guest is employed.
jobTitle string If known, the job title at the company where this guest is employed.
spouseName string If known, the name of the guest's spouse.
spouse object If known, the connected Tock account for this guest's spouse linked to this guest by the business or guest.
address object If known, the address assigned to this guest.
phone array If known, a list of phone numbers for contacting the guest.
day array If known, a list of special days that have been recorded for this guest.
link array External links to public information about this guest found on the Internet.
patronProfileDietaryRestriction array Notes that the guest has given to all businesses on Tock indicating their dietary restrictions. This information cannot be edited by the business.
patronProfileHospitalityPreference array Notes the guest has given to all businesses on Tock indicating preferences that the guest would like the business to know about. This information cannot be edited by the business.
patronProfileAversions string Notes the guest has given to all businesses on Tock indicating aversions that the business should avoid. This information cannot be edited by the business.
businessGroupId string A unique identifier for the business group. Used internally by Tock.
nextGuestProfileId string If this guest profile has been edited in the past, this will be the identifier for the guest profile that contains the edit. If this value is not set, this guest profile information is the most up-to-
importedProfile object
businessGuestProfile array Some businesses in the same business group prefer to have their own notes and tags which are not automatically shared with the others in the group. This list contains the notes and tags for each busin
businessGroupGuestProfile object The notes and tags for the guest that are shared with all businesses in a business group.
tag array If tags are shared amongst all businesses in the business group, this will be the tags applied to the guest for the business group.
attribute array If the business is synchronizing guest information from another system other than Tock, this field will contain the unique identifiers and club memberships for this guest in the external system.
canEdit boolean If the guest has never logged in or verified their Tock account, this value will be set to true.
isArchived boolean If there exists newer changes to this guest (when nextGuestProfileId is present), this value will be set to true.
updatedBy object The user who made the last update to this guest profile.
loyaltyProgramCardNumber string If the guest has made a successful login to a loyalty program integrated and enabled in the Tock Dashboard, this will be the card number for the guest's account in the loyalty program.
loyaltyProgramMembershipLevel string If the guest has made a successful login to a loyalty program integrated and enabled in the Tock Dashboard and the guest has a membership level specified with their account, this will be the name of t
loyaltyProgramAccountId string If the guest has an account tied to a loyalty program integrated and enabled in the Tock Dashboard this value will be the unique account identifier within the loyalty program.
optInSource object Whether or not the guest has opted into email marketing from the business or Tock, the value of this field indicates the place where the guest made their choice.
optIn boolean Whether the guest has explicitly opted into email marketing from the business or Tock.
versionId string This value indicates the number of edits that have been made to this guest's profile for this business in Tock.
createdAtTimestamp string The timestamp for when the guest profile was created, in milliseconds since the Unix Epoch.
updatedAtTimestamp string The timestamp for this edit to the guest profile, in milliseconds since the Unix Epoch. If this is the first edit, it will be the same as createdAtTimestamp.
isTockVerified boolean
dateOptedIn string The date and time when the guest opted in/out of email marketing from the business.
View JSON Schema on GitHub

JSON Schema

guest-profile-guest-profile-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/tock/refs/heads/main/json-schema/guest-profile-guest-profile-schema.json",
  "title": "tockGuestProfile",
  "description": "tockGuestProfile schema from Tock Guest Model",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uint64",
      "description": "A unique identifier for the guest. This identifier can change with edits to the guest by the business and should not be stored. For identifiers that do not change with edits, see Patron.id instead."
    },
    "patron": {
      "$ref": "guest-profile-patron-schema.json",
      "description": "The Tock account that corresponds to this guest profile. This will be a subset of the full guest profile and the contents are owned and only changeable by the logged-in user."
    },
    "nickName": {
      "type": "string",
      "description": "A nickname given to this user given by the business."
    },
    "company": {
      "type": "string",
      "description": "If known, the company where this guest is employed."
    },
    "jobTitle": {
      "type": "string",
      "description": "If known, the job title at the company where this guest is employed."
    },
    "spouseName": {
      "type": "string",
      "description": "If known, the name of the guest's spouse."
    },
    "spouse": {
      "$ref": "guest-profile-patron-schema.json",
      "description": "If known, the connected Tock account for this guest's spouse linked to this guest by the business or guest."
    },
    "address": {
      "$ref": "guest-profile-address-schema.json",
      "description": "If known, the address assigned to this guest."
    },
    "phone": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "guest-profile-phone-schema.json"
      },
      "description": "If known, a list of phone numbers for contacting the guest."
    },
    "day": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "guest-profile-day-schema.json"
      },
      "description": "If known, a list of special days that have been recorded for this guest."
    },
    "link": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "guest-profile-link-schema.json"
      },
      "description": "External links to public information about this guest found on the Internet."
    },
    "patronProfileDietaryRestriction": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Notes that the guest has given to all businesses on Tock indicating their dietary restrictions. This information cannot be edited by the business."
    },
    "patronProfileHospitalityPreference": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Notes the guest has given to all businesses on Tock indicating preferences that the guest would like the business to know about. This information cannot be edited by the business."
    },
    "patronProfileAversions": {
      "type": "string",
      "description": "Notes the guest has given to all businesses on Tock indicating aversions that the business should avoid. This information cannot be edited by the business."
    },
    "businessGroupId": {
      "type": "string",
      "format": "uint64",
      "description": "A unique identifier for the business group. Used internally by Tock."
    },
    "nextGuestProfileId": {
      "type": "string",
      "format": "uint64",
      "description": "If this guest profile has been edited in the past, this will be the identifier for the guest profile that contains the edit. If this value is not set, this guest profile information is the most up-to-date for the business group."
    },
    "importedProfile": {
      "$ref": "guest-profile-imported-guest-profile-schema.json"
    },
    "businessGuestProfile": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "guest-profile-business-guest-profile-schema.json"
      },
      "description": "Some businesses in the same business group prefer to have their own notes and tags which are not automatically shared with the others in the group. This list contains the notes and tags for each business in the business group for this guest."
    },
    "businessGroupGuestProfile": {
      "$ref": "guest-profile-business-group-guest-profile-schema.json",
      "description": "The notes and tags for the guest that are shared with all businesses in a business group."
    },
    "tag": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "If tags are shared amongst all businesses in the business group, this will be the tags applied to the guest for the business group."
    },
    "attribute": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "guest-profile-external-integration-attribute-schema.json"
      },
      "description": "If the business is synchronizing guest information from another system other than Tock, this field will contain the unique identifiers and club memberships for this guest in the external system."
    },
    "canEdit": {
      "type": "boolean",
      "description": "If the guest has never logged in or verified their Tock account, this value will be set to true."
    },
    "isArchived": {
      "type": "boolean",
      "description": "If there exists newer changes to this guest (when nextGuestProfileId is present), this value will be set to true."
    },
    "updatedBy": {
      "$ref": "guest-profile-patron-schema.json",
      "description": "The user who made the last update to this guest profile."
    },
    "loyaltyProgramCardNumber": {
      "type": "string",
      "description": "If the guest has made a successful login to a loyalty program integrated and enabled in the Tock Dashboard, this will be the card number for the guest's account in the loyalty program."
    },
    "loyaltyProgramMembershipLevel": {
      "type": "string",
      "description": "If the guest has made a successful login to a loyalty program integrated and enabled in the Tock Dashboard and the guest has a membership level specified with their account, this will be the name of the membership level."
    },
    "loyaltyProgramAccountId": {
      "type": "string",
      "description": "If the guest has an account tied to a loyalty program integrated and enabled in the Tock Dashboard this value will be the unique account identifier within the loyalty program."
    },
    "optInSource": {
      "$ref": "guest-profile-opt-in-source-schema.json",
      "description": "Whether or not the guest has opted into email marketing from the business or Tock, the value of this field indicates the place where the guest made their choice."
    },
    "optIn": {
      "type": "boolean",
      "description": "Whether the guest has explicitly opted into email marketing from the business or Tock."
    },
    "versionId": {
      "type": "string",
      "format": "uint64",
      "description": "This value indicates the number of edits that have been made to this guest's profile for this business in Tock."
    },
    "createdAtTimestamp": {
      "type": "string",
      "format": "uint64",
      "description": "The timestamp for when the guest profile was created, in milliseconds since the Unix Epoch."
    },
    "updatedAtTimestamp": {
      "type": "string",
      "format": "uint64",
      "description": "The timestamp for this edit to the guest profile, in milliseconds since the Unix Epoch. If this is the first edit, it will be the same as createdAtTimestamp."
    },
    "isTockVerified": {
      "type": "boolean"
    },
    "dateOptedIn": {
      "type": "string",
      "description": "The date and time when the guest opted in/out of email marketing from the business."
    }
  }
}