How michiko-hagakure/lgu-public-facilities-reservation-system works
LGU1 is a Laravel public-facilities reservation system. Citizens discover facilities, request bookings, submit payment, and track reservations; staff and treasury roles verify bookings and payments, while administrators manage facilities and operations. The system also supports public reservation APIs, departmental revenue and budget reporting, and cross-departmental integration. The README documents the payment lifecycle and two-database arrangement; sampled controllers confirm booking/payment handling and reporting queries. Other feature links are based on the repository tree and README, so their internal call wiring is not asserted.
Main entry points: PaymentSlip.php Payment slips · Booking.php Booking records · BookingController.php Booking management · PaymentController.php Citizen payments
Components 23
Reservations
- Facility discovery
app/Http/Controllers/Citizen/FacilityController.php - Booking management
app/Http/Controllers/Citizen/BookingController.php - Reservation API
app/Http/Controllers/Api/FacilityReservationApiController.php - Booking records
app/Models/Booking.php - Schedule conflicts
app/Http/Controllers/Citizen/BookingConflictController.php
Payments and Finance
- Treasury verification
app/Http/Controllers/Treasurer/PaymentVerificationController.php - Citizen payments
app/Http/Controllers/Citizen/PaymentController.php - Payment API
app/Http/Controllers/Api/PayMongoWebhookController.php - Payment slips
app/Models/PaymentSlip.php - Official receipts
app/Http/Controllers/Treasurer/OfficialReceiptController.php - Refund handling
app/Http/Controllers/Treasurer/RefundController.php - CBD reporting
app/Http/Controllers/CBD/ReportController.php - Budget allocations
app/Models/BudgetAllocation.php
Operations and Reporting
- Staff verification
app/Http/Controllers/Staff/BookingVerificationController.php - Administration
app/Http/Controllers/Admin/BookingManagementController.php - Facility management
app/Http/Controllers/Admin/FacilityController.php - Analytics and exports
app/Http/Controllers/Admin/AnalyticsController.php
Identity and Integration
- Google sign-in
app/Http/Controllers/Auth/GoogleController.php - Shared auth database
app/Http/Controllers/Auth/GoogleController.php - Department APIs
app/Http/Controllers/Api/ExternalIntegrationController.php
Other components
- Citizen
- PayMongo
- City departments
Connections 26
- Citizen → Facility discovery: browses
- Citizen → Booking management: requests booking
- Citizen → Citizen payments: submits payment
- Facility discovery → Reservation API: queries availability
- Booking management → Booking records: writes booking
- Reservation API → Booking records: reads bookings
- Booking management → Schedule conflicts: checks conflicts
- Staff verification → Booking records: updates status
- Administration → Booking records: manages bookings
- Facility management → Booking records: supports reservations
- Citizen payments → Payment slips: records payment
- Citizen payments → PayMongo: initiates checkout
- PayMongo → Payment API: sends webhook
- Payment API → Payment slips: updates payment
- Treasury verification → Payment slips: verifies payment
- Official receipts → Payment slips: reads paid slips
- Refund handling → Payment slips: processes refunds
- CBD reporting → Payment slips: queries revenue
- CBD reporting → Budget allocations: reads allocations
- Analytics and exports → Booking records: reports bookings
- Analytics and exports → Payment slips: reports payments
- Google sign-in → Shared auth database: reads and writes identity
- City departments → Department APIs: integrates with system
- Department APIs → Reservation API: exposes reservation data
- Citizen → Google sign-in: signs in
- City departments → CBD reporting: receives reports