HomeGuidesRecipesAPI ReferenceChangelog
GuidesAPI ReferenceHelp CenterLog In

Introduction

Experiences also known as "Listings" are the experiences and activities that the seller's business offers. The experiences end point is where you create & update experience, and it is where you update logistical information like trip schedules, pricing, and trip logistics like duration, capacity, and location.

Attribute

Type

Definition

addOns

array

List of add-ons that are available for this experience. See add-ons.

arrivalOffset

integer

Indicates how many minutes prior to the event start travelers should arrive.

cancellationPolicy

string

Conditions for booking cancellation.

category

string

Category of this experience. See categories.

currency

string

Three-letter ISO currency code in uppercase.

cutoff

integer

Number of minutes before the event start that a new order may be placed. Orders placed after the cutoff will be rejected.

demographics

array

List of demographics that are available for this experience. See demographics.

desc

string

Detailed description of the experience.

duration

integer

Duration of the experience in minutes.

earlyReturn

boolean

Indicates whether releasing inventory due to early temination of trip is allowed.

excerpt

string

Short description of the experience. This is shown on the Xola checkout widget.

geo

object

Object containing lat and lng coordinates of where the experience will take place.

group.max

integer

Maximum quantity of guests per order.

group.min

integer

Minimum quantity of guests per order.

group.outingMax

integer

Maximum quantity of guests per event.

group.outingMin

integer

Minimum quantity of guests per event.

group.outinMinCutoff

integer

If the group.outingMin quantity has not been met for an event within this many minutes from event start, a warning message is sent to the seller.

included

string[]

List of things that are included as part of the experience.

medias

array

List of media assets that help describe the experience. See medias.

name

string

Title of the experience.

notIncluded

string[]

List of things that you should bring to get the most out of the experience.

other

string

A catch-all blurb for any other information guests should be aware of for the experience.

paymentMethod

string

Payment method that is accepted during self checkout. Values may be cc or later. This attribute is not applicable for back office orders.

photo

object

A media object that is used for the experience's thumbnail photo.

pickupAddress

string

Address to which guests should arrive.

pickupGeo

object

Object containing lat and lng coordinates of the pickupAddress.

price

float

Base price of the experience.

priceType

string

Whether the experience is priced per person or per outing. Values may be person or outing.

private

boolean

If true, only one order is allowed per event (makes "per person" order behave like a "per outing" order from an availability perspective)

resources

array

List of inventory resources assigned to the experience. See resources.

schedules

array

List of schedules configured for the experience. See schedules.

seller.id

string

Seller who owns the experience.

updated

datetime

Timestamp at which the experience was last modified.

visible

boolean

Deprecated. Determines if the experience will be shown in the online checkout. Only applicable if old buttons are used.

waiverPreference

object

Digital waiver configuration for the experience. See waiver.

{
  "id": "567176edcf8b9c1d288b45b3",
  "object": "experience",
  "addOns": [
    {
      "id": "58c21a71332e756f2e8b4588",
      "desc": "A Go-Pro camera to record your trip.",
      "name": "Go-Pro",
      "price": 50,
      "visibility": "public"
    }
  ],
  "arrivalOffset": 15,
  "cancellationPolicy": "All sales are final unless cancellation protection is purchased.",
  "category": "Escape Room",
  "complete": true,
  "currency": "USD",
  "cutoff": 120,
  "demographics": [
    {
      "id": "57ccbeab6864eaa2768b459c",
      "object": "experience_demographic",
      "all": false,
      "caption": "18 and up",
      "code": "adults",
      "createdAt": "2017-07-29T09:06:40+00:00",
      "experience": {
        "id": "567176edcf8b9c1d288b45b3"
      },
      "label": "Adults",
      "labelCanonical": "adults",
      "name": "Adults",
      "overrideCaption": false,
      "parent": {
        "id": "597c4ff5c8f7b07d81544c67"
      },
      "seller": {
        "id": "55c2b026ad2171f0438b45e7"
      },
      "updatedAt": "2017-08-04T20:28:06+00:00",
      "updatedBy": {
        "id": "55c2b026ad2171f0438b45e7"
      }
    },
    {
      "id": "57ccbebae017981f6b8b463a",
      "object": "experience_demographic",
      "all": false,
      "caption": "12-17 (Minors must be accompanied by adults)",
      "code": "minors",
      "createdAt": "2017-07-29T09:06:40+00:00",
      "experience": {
        "id": "567176edcf8b9c1d288b45b3"
      },
      "label": "Minors",
      "labelCanonical": "minors",
      "name": "Minors",
      "overrideCaption": false,
      "parent": {
        "id": "597c4ff5c8f7b07d81544c68"
      },
      "seller": {
        "id": "55c2b026ad2171f0438b45e7"
      },
      "updatedAt": "2017-08-04T20:28:09+00:00",
      "updatedBy": {
        "id": "55c2b026ad2171f0438b45e7"
      }
    }
  ],
  "desc": "The hardest part of being an antiquities thief is finding a discreet buyer with deep pockets...",
  "duration": 75,
  "earlyReturn": false,
  "excerpt": "This room has a 4 person minimum.",
  "geo": {
    "lat": 29.742664339342,
    "lng": -95.403785705676
  },
  "group": {
    "max": 12,
    "min": 1,
    "outingMax": 12,
    "outingMin": 4,
    "outingMinCutoff": 3600
  },
  "included": ["Snacks", "Photo booth"],
  "medias": [
    {
      "id": "567176f985523e0a3f8b4592",
      "caption": null,
      "seq": 0,
      "size": null,
      "src": "http://xola.com/api/experiences/567176edcf8b9c1d288b45b3/medias/567176f985523e0a3f8b4592?size=medium",
      "title": null,
      "type": "photo"
    }
  ],
  "name": "The Heist",
  "notIncluded": ["Tips"],
  "other": "PARKING:\nWe’re in a very walkable neighborhood, and while we don’t have our own parking lot, there is plenty of free street parking.",
  "paymentMethod": "cc",
  "photo": {
    "caption": null,
    "id": "567176f985523e0a3f8b4592",
    "seq": null,
    "size": null,
    "src": "/uploads/images/experiences/567176edcf8b9c1d288b45b3/567176f985523e0a3f8b4592.png",
    "title": null,
    "type": "photo"
  },
  "pickupAddress": "1735 Westheimer Rd.\nHouston, TX 77098\n",
  "pickupGeo": {
    "lat": 29.742665426163,
    "lng": -95.403783917318
  },
  "price": 29,
  "priceType": "person",
  "private": false,
  "resources": [
    {
      "id": "567177379267057f368b45f9",
      "priority": null,
      "resource": {
        "id": "567177379267057f368b45f9",
        "capacity": 12,
        "count": 1,
        "name": "The Heist",
        "seller": "55c2b026ad2171f0438b45e7",
        "type": "equipment"
      }
    }
  ],
  "schedules": [
    {
      "id": "5a1ca038e017986c628b45a7",
      "days": [0, 1, 2, 3, 4, 5, 6],
      "departure": "fixed",
      "priceDelta": 0,
      "repeat": "weekly",
      "times": [1310, 1440, 1610, 1740],
      "type": "available"
    }
  ],
  "seller": {
    "id": "55c2b026ad2171f0438b45e7"
  },
  "updated": "2017-11-27T23:31:27+00:00",
  "visible": true,
  "waiverPreference": {
    "remoteID": "example",
    "url": "https://www.smartwaiver.com/v/example/"
  }
}