Skip to content

Venues vs Locations

Choose the right place model for public discovery, operations, and venue branding.

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.