How esupportail/mybookings works
MyBookings is a Symfony application for equipment and service booking, access management, and fleet tracking. Users browse available catalogue resources, submit bookings, and follow workflow-driven moderation and booking status; administrators manage services, resources, access rules, and workflows. The map separates booking, catalogue and service management, identity/access, and supporting integrations. BookingController’s dependencies and BookingService’s persistence/workflow behavior are evidenced in the source index and excerpts; several broader capabilities are documented in the README, while unsampled implementation links are omitted.
Main entry points: BookingService.php Booking rules · WorkflowBookingState.php Booking transitions · BookingRepository.php Booking storage · WorkflowLogRepository.php Workflow history
Components 27
Booking lifecycle
- Booking actions
src/Controller/BookingController.php - Booking rules
src/Service/BookingService.php - Booking transitions
src/EventSubscriber/WorkflowBookingState.php - Workflow listener
src/EventListener/WorkflowListener.php - Booking records
src/Entity/Booking.php - Booking storage
src/Repository/BookingRepository.php - Workflow rules
src/Entity/Workflow.php - Workflow history
src/Repository/WorkflowLogRepository.php
Catalogue management
- Catalogue actions
src/Controller/ResourceCatalogueController.php - Resource actions
src/Controller/ResourceController.php - Catalogue items
src/Entity/CatalogueResource.php - Equipment
src/Entity/Resource.php - Booking provisions
src/Entity/Provision.php - Catalogue storage
src/Repository/CatalogueResourceRepository.php - Services
src/Entity/Service.php - Service API provider
src/ApiPlatform/Provider/ServiceProvider.php
Identity and access
- Authentication
src/Security/ShibAuthenticator.php - User records
src/Entity/User.php - User storage
src/Repository/UserRepository.php - Access rules
src/Repository/AclRepository.php - User lookup
src/Tools/UserTools.php
Platform services
- Services container
- Remote integration
src/Service/RemoteService.php - Email notifications
src/Service/Mail.php - Usage statistics
src/Service/StatisticService.php - Scheduled tasks
src/Command/AutoUpdateBookingsCommand.php
Other components
- User
Connections 29
- User → Booking actions: requests booking
- Booking actions → Booking rules: uses booking rules
src/Controller/BookingController.php - Booking rules → Booking storage: persists bookings
src/Service/BookingService.php - Booking rules → Workflow rules: applies transitions
src/Service/BookingService.php - Booking rules → User lookup: uses user tools
src/Service/BookingService.php - Booking transitions → Booking storage: reads bookings
src/EventSubscriber/WorkflowBookingState.php - Booking transitions → Workflow history: records history
src/EventSubscriber/WorkflowBookingState.php - Booking transitions → Email notifications: sends notices
src/EventSubscriber/WorkflowBookingState.php - Booking transitions → Remote integration: calls service
src/EventSubscriber/WorkflowBookingState.php - Workflow listener → Booking storage: reads bookings
src/EventListener/WorkflowListener.php - Workflow listener → Workflow history: writes history
src/EventListener/WorkflowListener.php - Booking storage → Booking records: stores
src/Repository/BookingRepository.php - Workflow history → Workflow rules: stores workflow logs
src/EventSubscriber/WorkflowBookingState.php - Catalogue actions → Catalogue storage: queries catalogue
src/Controller/ResourceCatalogueController.php - Catalogue actions → Catalogue items: uses catalogue data
src/Controller/ResourceCatalogueController.php - Resource actions → Catalogue storage: queries catalogue
src/Controller/ResourceController.php - Resource actions → Equipment: manages resources
src/Controller/ResourceController.php - Catalogue storage → Catalogue items: stores
src/Repository/CatalogueResourceRepository.php - Services → Service API provider: configures API provider
src/Entity/Service.php - Service API provider → Services: returns services
src/ApiPlatform/Provider/ServiceProvider.php - Authentication → User records: authenticates user
- User lookup → User storage: searches users
src/Tools/UserTools.php - User lookup → Access rules: searches access rules
src/Tools/UserTools.php - Remote integration → Services container: connects remotely
- Usage statistics → Remote integration: queries user data
src/Service/StatisticService.php - Usage statistics → Workflow history: reads workflow history
src/Service/StatisticService.php - Usage statistics → User storage: stores statistics
- Scheduled tasks → Booking rules: updates bookings
- User → Catalogue actions: browses resources