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>
17 KiB
Executable File
17 KiB
Executable File