Venue Marketplace Addon Backend
Related documentation: Addon Modules Backend · Venue Module Backend · Promoters Module Backend
Status
Section titled “Status”The venue_marketplace addon exists in the taxonomy, but a dedicated published backend contract is still deferred.
Expected role
Section titled “Expected role”This addon is intended to support promoter-to-venue booking/commercial flow.
That likely means:
- promoter discovery of venues
- booking initiation between promoter and venue sides
- cross-persona marketplace-style flows
Current practical state
Section titled “Current practical state”Promoter marketplace browse and detail are wired through Backend-Kisum-Promoters (/api/venues/*) into Backend-Kisum-Venues:
- Browse —
GET /internal/admin/venues(+/sleeping) returns marketplace cards; list rows may includecompany_idfor operator-scoped downstream reads but links use venue id only. - Profile (no operator org) —
GET /internal/admin/venues/:venueIdvia PromotersGET /api/venues/marketplace/venues/:idloads marketplace detail by canonical venue id. - Operator-scoped detail —
GET /internal/venues/:idwithx-org= operatorcompany_id(used for tenant-scoped reads when operator org is already known). - Spaces / availability —
GET /api/v1/spacesandGET /api/v1/availabilityproxied with operator org scope (resolved on detail page from admin profilecompany_id, or optional?op=override). Operator-scopedvenueIdmust be the tenant Postgres UUID (venues.id) from the admin profile — not the catalog numeric id in the marketplace URL. Availability is per space; Promoters marketplace detail shows a space selector and loads blocks withspaceId. - Book —
POST /api/v1/bookingsfrom promoter withmarketCompanyId= buyerx-org.
Browser UX lives in Frontend-Kisum-Promoters at /venues/marketplace and /venues/marketplace/:id.
Legacy paths still also represented through:
- the Promoters backend (Mongo venue master — deprecated for new flows)
- the Venue backend
- future module/backend work that has not yet been split out into a dedicated
venue_marketplacebackend contract