Tickets now appear as cart line items, are included in checkout totals,
confirmed on payment, and displayed on the checkout return page.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
A page can have multiple markets — the overview now groups cart items
by market_place_id instead of page. Each card shows the market name
as heading with the page title below it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- page_cart.py: use ce.calendar_container_id instead of ce.calendar.container_id
- _cart.html: use entry.calendar_name instead of entry.calendar.name
- Update shared submodule with DTO field additions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract cart, order, and orders blueprints with their service layer,
templates, Dockerfile (APP_MODULE=app:app, IMAGE=cart), entrypoint,
and Gitea CI workflow from the coop monolith.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>