cinema model (events core): Cinema/Screen/Calendar/Film/Showing/Offering + /cinema admin
The Rose Ash Cinema object model, operable on events.rose-ash.com/cinema. - host/blog-seed-cinema!: seeds the type-posts (cinema/screen/calendar/film/ticket-type/showing/ offering) + Rose Ash Cinema with two screens (each capacity 100 + a calendar) + ticket types (adult/u18/concession/standing). Idempotent. Called from serve.sh's events block. - /cinema page: screens (with capacity) → their calendars → showings; a Films list (each with its ticket types); an Add-film form; a Book-a-showing form. - host/blog-new-film: creates a film is-a film + default ticket types (adult, u18). - host/blog-new-showing: books a Film onto a Calendar at a time (showing of-film / on-calendar, calendar --scheduled--> showing), with an optional per-showing capacity override, and SNAPSHOTS the film's ticket types as Offerings (offering of-type, showing --offers--> offering, price field). - Views: host/blog--screens-view / --calendar-view / --films-view (all via out-raw for federated refs). LIVE: events.rose-ash.com/cinema shows the two screens + calendars; add 'Dune' → film with adult/u18; book Dune on cal-screen-1 Fri 8pm → a showing with offerings, listed under the calendar. blog 218/218. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -250,6 +250,10 @@ EPOCH=1
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog--set-shop-base! \\\"${SX_SHOP_BASE:-}\\\")\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
# The CINEMA model: Cinema → Screen → Calendar, Film, TicketType, Showing, Offering.
|
||||
echo "(epoch $EPOCH)"
|
||||
echo "(eval \"(host/blog-seed-cinema!)\")"
|
||||
EPOCH=$((EPOCH+1))
|
||||
elif [ "${SX_DOMAIN:-blog}" = "shop" ]; then
|
||||
# The SHOP domain: an "order" type. POST /order?event= creates an order (is-a order) for an event.
|
||||
echo "(epoch $EPOCH)"
|
||||
|
||||
Reference in New Issue
Block a user