Event Ticket Options Support
Fixed: Event embeds now properly handle associated ticket options. Each ticket can have its own set of options that are collected and validated during checkout.
- Per-ticket option collection and validation
- Proper option response formatting for conflict checking
- Support for required and optional ticket-specific options
Event Reservation Handling
Implemented: Comprehensive event reservation support with time/date selectors and proper business logic, similar to product reservations.
- Per-ticket reservation date and time selection
- Integration with existing reservation interval API
- Proper timestamp calculation for conflict checking
- Validation of reservation requirements before checkout
Server-Side Conflict Checking
Enhanced: Conflict checking is now performed server-side first, ensuring reliable validation for both events and products before checkout begins.
- Multiple ticket reservation conflict checking
- Option-based conflict detection
- Uses existing hosting-checkreservationconflict endpoint
- Proper error handling and user feedback
Flutter Anonymous User Navigation
Fixed: Anonymous users now see proper settings/inbox pages after registration. Pages properly refresh when authentication state changes.
- Replaced static context.read() calls with BlocBuilder
- Reactive UI updates when user authentication changes
- Proper state management for anonymous to authenticated transitions
🚀 Implementation Notes
All updates maintain backward compatibility and follow the same patterns as the main Streets application:
- Server-First Validation: Conflict checking happens server-side before client-side processing
- Multiple Ticket Support: Events can have multiple tickets, each with their own options and reservations
- Proper Data Formatting: All data is formatted to match the expectations of existing APIs