Issue #3612600: Per-resource ticketing opt-in (ticketing_enabled)
Makes ticket issuing a deliberate per-resource opt-in, instead of every confirmed booking getting a ticket (and an email attachment) unconditionally.
- Resource type: an Issue tickets default, stored as a
yoyaku_ticketthird-party setting on the type config entity (checkbox on the type form). - Resource: a Ticketing base field overriding the type (inherit / enable / disable).
- Default off, so a plain reservation never gets a QR code by accident.
TicketingResolverresolves the resource-over-type cascade (mirrors the payment submodule).TicketBuilder::units()gates on the resolver, so the download route and the Orchestra confirmation-email bridge (which both flow through the builder) issue tickets only where ticketing is on.
Includes the resolver + gating kernel tests, the third-party config schema, French translations, and a docs section.