Session Services exposes both venues and locations. They serve different jobs.
Venue
A venue is a managed Session Services entity with ownership and branding metadata.
- Public discovery:
GET /venues,GET /venues/{key} - Management (auth): create/update/delete and location linking
const { venues } = await client.venue.list({
query: 'Factory Theatre',
limit: 20,
});
Location
A location is a place-search entity used for precise geodata and lookup.
- Routes:
GET /locations,GET /locations/{key} - These routes are authenticated in the current API router.
const { locations } = await client.location.list({
query: 'sydney opera',
latitude: -33.8688,
longitude: 151.2093,
});
Linking Flow (Operational)
Use location search in admin tools, then link selected locations to a venue:
await client.venue.linkLocation({
key: 'ven_01jqpjksnsen9vprw95et60t2m',
locationKey: 'loc_01hk153x00eh99pagyydz03sbz',
});
Unlink when needed:
await client.venue.unlinkLocation({
key: 'ven_01jqpjksnsen9vprw95et60t2m',
locationKey: 'loc_01hk153x00eh99pagyydz03sbz',
});
Which One Should I Use?
- Public website event discovery: start with venues.
- Admin creation/editing and geodata search: use locations.
- Multi-address or branded place representation: use a venue with multiple linked locations.