Meeting venues 

Conference hotels and meeting and congress locations are tourist attractions of the record type meeting_venue. They appear in every attraction list, render through the attraction templates, and carry the meeting data and meeting rooms on top.

On this page

Record type 

Every attraction carries {attraction.recordType} : attraction or meeting_venue. A meeting venue is a MeetingVenue model, a subclass of TouristAttraction, so every getter of an attraction works for it too. Lists can be restricted to record types, see Record types.

Templates 

There is no template of its own. The attraction templates render venue output inside a record type condition, through partials:

EXT:my_extension/Resources/Private/Templates/TouristAttraction/Show.fluid.html
<f:if condition="{attraction.recordType} == 'meeting_venue'">
    <f:render partial="TouristAttraction/MeetingVenue" arguments="{venue: attraction}" />
    <f:render partial="TouristAttraction/MeetingRoomTable" arguments="{rooms: attraction.meetingRoomTable}" />
    <f:render partial="TouristAttraction/Venue/MeetingRoomDetails" arguments="{rooms: attraction.meetingRoomTable}" />
    <f:render partial="TouristAttraction/Venue/Lodging" arguments="{venue: attraction}" />
</f:if>
Copied!

The stub TouristAttraction/Show calls every venue partial under Partials/TouristAttraction/Venue/; TouristAttraction/ListItem calls TouristAttraction/MeetingVenueListItem. A template override that lacks the condition renders a venue like any other attraction.

Venue data 

The venue fields come in groups, one partial each: meeting, lodging, gastronomy, visit, building, links, texts, relations, media and inline parking facilities. Some getters prepare the stored value:

getMeetingFacilityMembers() and the other get…Members() getters
The stored list as an array. An enum member is its ontology name, translated by the key content.<field>.<member> in locallang.xlf; see Venue/Fact/Members.
getDistances()
The distances that are set, keyed airport, cityCenter, fair, freeway and iceStation. Each is an array of value and unit: kilometres from 1000 metres on, metres below.
getAdditionalType()
The ThueCat type URI of the venue, for structured data.

Meeting rooms 

getMeetingRooms() returns the rooms the venue names, in upstream order. getMeetingRoomTable() returns every room once: each room of the venue, followed by the rooms reached only through it, such as the parts of a divisible hall. Render the room table and the room details from it; templates need no graph work.

Meeting rooms have no detail page. The stub room table links each room to its details further down the page, at the anchor #meeting-room-<uid>.

The detail page cache is tagged with the rooms it rendered, so an import changing a room refreshes the venue page.