Lounges belong to a venue and are offered per event. Guests request or instantly confirm a lounge through the shop. Minimum spend is paid at the venue; admission tickets are separate. These reservations do not create ticket orders.

Pricing

The default organizer fee is 8 in the account currency before VAT per confirmed booking (EUR 8 for euro accounts). Platform staff can configure an account rate, including zero, independently of ticket pricing. Organizer tokens cannot change it.

Confirmation immediately deducts the fee including VAT from Usetix Credit. A EUR 8 fee with 19% VAT charges EUR 9.52. Pending and declined requests are free. The fee is final at confirmation: cancellations and no-shows do not refund it. Charges appear immediately in Credit usage and on the confirmation month’s platform invoice, already paid. Bookings confirmed before Credit billing are never billed retroactively, and later price changes do not change existing charges.

Endpoints

Use an account Bearer token and Accept: application/json. Writes require a write token. Co-organizers can access only assigned events. Booking IDs are opaque public IDs obtained from the booking collection.

Method Endpoint Result
GET /admin/events/:slug/lounges Venue lounges and event offerings
GET /admin/events/:slug/lounge_bookings Requests, confirmations and cancellations
POST /admin/events/:slug/lounge_bookings/:id/acceptance Confirm a pending request and charge Credit
POST /admin/events/:slug/lounge_bookings/:id/rejection Decline a pending request without a fee
POST /admin/events/:slug/lounge_bookings/:id/cancellation Cancel a request or reservation

Both collections include the current account price:

{
  "booking_fee": {
    "amount": "8.0",
    "currency": "EUR",
    "credit_amount": "9.52"
  }
}

amount excludes VAT; credit_amount is the total Credit required. Display this price and explain that cancellations and no-shows do not refund the fee when asking an organizer to confirm a request. The rate at confirmation applies. A repeated acceptance of the same confirmed booking charges no extra fee.

Each item in bookings includes its original credit_fee, for example { "amount": "9.52", "currency": "EUR" }, including after cancellation. Pending, waived and legacy bookings without a Credit charge report zero. The booking’s status and cancelled_at describe its reservation status.

Acceptance returns { "id": "booking-public-id", "status": "accepted" }. Insufficient Credit returns HTTP 422 with an errors.base array. The request stays pending and competing requests remain untouched. Missing or inaccessible records return 404.

Assistant and MCP

manage_lounges supports list, bookings, accept_booking, reject_booking and cancel_booking. Its list and bookings actions expose the same account price. Show that price and its non-refundable terms before requesting confirmation of acceptance or enabling instant booking. Acceptance, rejection and cancellation require confirmed: true.

Venue catalog and event configuration

Lounges belong to the venue; event routes control the offering. Venue catalog writes require owner/manager access. Assigned co-organizers may change event offerings and review bookings. Venue IDs are numeric; lounge and booking IDs are opaque strings.

Method Route Purpose
POST /admin/venues/:venue_id/lounges Create a venue lounge (201 + Location)
GET /admin/venues/:venue_id/lounges/:id Read venue defaults
PATCH /admin/venues/:venue_id/lounges/:id Update venue defaults
DELETE /admin/venues/:venue_id/lounges/:id Delete an unused lounge (204); booking history prevents deletion (422)
PATCH /admin/events/:slug Set event.lounges_enabled and event.lounge_booking_mode
PATCH /admin/events/:slug/lounges/:id Set event_lounge.enabled, minimum_spend or pricing for this event

Venue create/update body:

{ "lounge": { "name": "Velvet", "capacity": 8, "minimum_spend": "350.00", "pricing": "flat", "description": "By the dance floor" } }

pricing is flat (whole group) or per_person (rate multiplied by party size). Images use multipart lounge[image] (PNG/JPEG/GIF/WebP, max 15 MB); use lounge[remove_image]=true to remove one. Arbitrary signed blob IDs are not accepted.

Event override body:

{ "event_lounge": { "enabled": true, "minimum_spend": "50", "pricing": "per_person" } }

Empty minimum_spend or pricing strings clear that override and restore the venue default. Existing bookings retain their agreed terms. Hiding an offering stops new requests and preserves history.

Create a venue lounge, then enable lounges with:

{ "event": { "lounges_enabled": true, "lounge_booking_mode": "request" } }

Use instant to automatically confirm the first available request. Before enabling it, show the current fee and explain the immediate, non-refundable Credit charge. GET /admin/events/:slug exposes lounge_booking_fee even while lounges are disabled. Lounge and booking collections require the event’s lounge opt-in.

CLI and assistant

usetix events lounges list club-night
usetix events lounges bookings club-night --json
usetix events lounges accept club-night BOOKING_ID
usetix events lounges accept club-night BOOKING_ID --yes
usetix events lounges configure club-night --enabled --booking-mode instant --yes
usetix events lounges cancel club-night BOOKING_ID --yes

Without --yes, acceptance/configuration show a fee preview and perform no write. reject also requires --yes. Venue CRUD, photos and price overrides remain available through usetix api using the routes above. Configure booking questions in the dashboard.

The built-in assistant and MCP share manage_lounges: list, configure, create, update, bookings, accept_booking, reject_booking, cancel_booking. configure accepts lounges_enabled and booking_mode. Instant activation and booking reviews require confirmed: true; write actions require write scope. bookings returns at most 100 records per page; follow next_page until null.

Confirmed bookings are also available in the scanner event snapshot. That read-only list excludes contact details, question answers and platform fees.