The Location capability adds positional data to Supplier and Product objects.
A Location may appear on a Supplier as the operator's location of business, or the location of their main offices. Locations on Product objects may outline specific venues or destinations for a tour or attraction that are distinct from the operator's location.
X-Capabilities: redeam/location
| Field Name | Format | Required | Description |
|---|---|---|---|
id | string | Yes | Location's unique identifier |
type | enum(string) | Yes | One of START , END , VISITED , PRIMARY |
streetAddress | string | Yes | Valid street address for the Supplier, e.g. "2001 Colorado Blvd" |
city | string | Yes | The locality in which the street address is, and which is in the region, e.g. "Denver" |
countryCode | string(ISO3166-1) | Yes | Country of Supplier or Product, e.g. "USA" |
region | string | No | Region where the city is, and which is in the country, e.g. "Colorado" |
postalCode | string | Yes | Valid mailing code of Supplier or Product, e.g. "80205" |
longitude | float | No | Geographic coordinate (East/West), e.g. -104.942946 |
latitude | float | No | Geographic coordinate (North/South), e.g. 39.747597 |
googlePlaceId | string | No | Google's identifier for this location - required for Google Things To Do compatibility. |
Identifiers
A location's identifier may be an arbitrary string (e.g. 'primaryLocation'), but it must be unique within the Supplier. A Supplier and its Product(s) may share a common Location with the same ID, but the details on each Location must remain the same.
Location Types
Multiple Location objects MAY be used on a single Product to define a list of locations a tour may visit. The initial starting or meeting Location MUST have a type of START, and the final destination of the tour MUST have a type of END. A tour MAY have zero or many intermediate Location(s), which MUST have a type of VISITED.
If the Location is associated with a Supplier, or is not defining a tour, type MUST be set to PRIMARY.
GET
/suppliers
Supplier Changes
This capability adds a location object to the Supplier.
{ "id": "11f2f914-b737-48c8-9391-fe55ff3d9b64", "name": "Denver Museum", "contact": { // Contact information }, "location": { "id": "mainEntrance", "type": "PRIMARY", "streetAddress": "2001 Colorado Blvd", "city": "Denver", "countryCode": "US", "region": "Colorado", "postalCode": "80205", "longitude": -104.942946, "latitude": 39.747597, "googlePlaceId": "ChIJgUbEo8cfqokR5lP9_Wh_DaM" }} GET
/suppliers/:supplierId/products
Product Changes
This capability adds a locations array to the Supplier, containing a list of Location objects.
{ "id": "5644356f-8a4a-4252-a32c-b37f21844a84", "internalName": "Museum Admission", // Other Product fields "locations": [ { "id": "mainEntrance", "type": "PRIMARY", "streetAddress": "2001 Colorado Blvd", "city": "Denver", "countryCode": "US", "region": "Colorado", "postalCode": "80205", "longitude": -104.942946, "latitude": 39.747597, "googlePlaceId": "GhIJQWDl0CIeQUARxks3icF8U8A" } ]}