Location
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"
}
]
}