Event Connectors

Location vs Venue

When to model something as a Location (LOCATIE) vs a Venue — the easy-to-confuse distinction

Location (LOCATIE) and Venue (VENUE) are the two entity types that describe physical places in the Event Connectors API. They share most of the same structure, which makes them easy to confuse — but they describe quite different things.

Quick rule

  • LOCATIE is a point of interest: somewhere people go because that place itself is the destination (a museum, a park, a monument, a beach). It can have opening hours, an address, photos, descriptions.
  • VENUE is a B2B event location: somewhere with the facilities to host larger corporate gatherings — congresses, conferences, multi-day company events. Hotels with conference rooms, dedicated congress centres, business event spaces.

A restaurant or shop is not a Venue. A small concert hall that mainly hosts public events is not a Venue either. "VENUE" specifically signals "this place is set up for B2B event planners."

When to use which

Use caseEntity typeWhy
Museum, park, monument, viewpoint, beachLOCATIEIt's a destination / point of interest
Restaurant, shop, caféLOCATIE (with appropriate categories)It's a public-facing business, not a B2B event location
Congress centre, conference hotelVENUEIt's set up for B2B event hosting
Hotel that rents meeting rooms to companiesVENUESame — even if the hotel is also a regular hotel
Wedding-and-corporate event spaceVENUEHosts B2B events
Concert hall (public concerts only)LOCATIENot a B2B event venue

What's different on a Venue

Venues carry properties that are specifically meaningful to B2B event planners. These are stored as trcItemCategories.categories on the TRCItem and are surfaced in the venue UI as headline numbers:

PropertyMeaning
Maximum group sizeLargest event the venue can host (people)
Minimum group sizeSmallest event the venue accepts
Maximum capacityHeadline capacity number
Minimum capacityFloor on bookable size
Number of roomsTotal bookable meeting rooms
Total surface areaAggregate event-space square-metres

A LOCATIE does not typically carry these — they're meaningless for a museum or a beach.

Rooms on Venues

A real B2B venue is rarely "one big room" — it's usually a building with several meeting spaces, each with its own dimensions and capacity per setup style. The Event Connectors model captures these as rooms inside the venue.

Rooms are stored on the venue's trcitemRelation field, as entries in trcitemRelation.subItemGroups. (The TRCItemRelation / subItemGroup naming is historical — these are the rooms.) Each room carries:

  • trcid — stable identifier for the room
  • subItemTranslations[] — the room's name in each language ({ lang, title })
  • categories[] — the room's properties: surface area, max capacity, capacity in theater / U-shape / cabaret / reception / seated-dinner setups, ceiling height, etc.
  • media[] — photos and floor plans of the room
  • type — typology of the room

Example: Hotel NH Zandvoort

A real venue from the production API. The venue has 8 meeting rooms across 4 named series (Boulevard, Dune, Ocean, Sunrise) with sub-divisions:

{
  "entitytype": "VENUE",
  "trcid": "84444bd5-3a6f-4b93-bf1e-560b557559ee",
  "trcItemDetails": [{ "lang": "nl", "title": "Hotel NH Zandvoort" }],
  "trcItemCategories": {
    "categories": [
      { "catid": "5.32", "value": "250", "datatype": "integer" },
      { "catid": "5.33", "value": "8",   "datatype": "integer" },
      { "catid": "5.4",  "value": "16",  "datatype": "integer" }
    ]
  },
  "trcitemRelation": {
    "subItemGroups": [
      {
        "trcid": "e428ab48-9639-4430-9e28-b3d9ef2ff3d7",
        "subItemTranslations": [
          { "lang": "nl", "title": "Boulevard 1-2" },
          { "lang": "en", "title": "Boulevard 1-2" }
        ],
        "categories": [
          { "catid": "5.1",  "value": "120", "datatype": "decimal" },
          { "catid": "5.15", "value": "80",  "datatype": "integer" },
          { "catid": "5.19", "value": "52",  "datatype": "integer" },
          { "catid": "5.20", "value": "56",  "datatype": "integer" },
          { "catid": "5.21", "value": "48",  "datatype": "integer" },
          { "catid": "5.22", "value": "80",  "datatype": "integer" },
          { "catid": "5.24", "value": "32",  "datatype": "integer" }
        ]
      }
    ]
  }
}

The venue itself reports Maximum capacity: 250, Minimum group size: 8, Number of rooms: 16. The "Boulevard 1-2" room reports Surface: 120 m², Maximum group size: 80 people, plus capacities in each setup style: Reception: 52, Seated dinner: 56, Cabaret: 48, Theater: 80, U-shape: 32.

Reading rooms from the API

To get a venue with all its rooms, fetch the venue and walk trcitemRelation.subItemGroups:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  https://app.eventconnectors.nl/api/venues/{id}
const res = await fetch(
  `https://app.eventconnectors.nl/api/venues/${id}`,
  { headers: { Authorization: "Bearer YOUR_API_TOKEN" } },
);
const venue = await res.json();
const rooms = venue.trcitemRelation?.subItemGroups ?? [];
for (const room of rooms) {
  const name = room.subItemTranslations?.find((t) => t.lang === "en")?.title;
  const surface = room.categories?.find((c) => c.catid === "5.1")?.value;
  console.log(`${name}: ${surface} m²`);
}

Structural differences (summary)

AspectLOCATIEVENUE
entitytype valueLOCATIEVENUE
EndpointGET /locationsGET /venues
Headline capacity propertiesrare / absentyes (max/min capacity, group size, room count, surface area)
Rooms (trcitemRelation.subItemGroups)rareyes — first-class concept
Allowed link typesalias, commentcomment

Both share the base TRCItem fields (trcItemDetails, calendar, contactinfo, files, location, trcItemCategories, translations, seoMetadata).

Events reference Locations and Venues

Events (EVENEMENT) reference the location they take place at via the locationRef field. The referenced ID can point at either a LOCATIE or a VENUE — events held at congress centres reference the venue.

See the API Reference for the full Location and Venue schema definitions.

On this page