# Architecture
Schedules are templates; trips are concrete departures. Generated trips copy schedule defaults for `show_bus_details` and `seat_selection_enabled`, and may later be overridden independently.

`branch` is an organizational unit; `terminal` is a public physical travel location.

Customers may register normally or originate as TEMP identities through guest bus/hotel booking. Claiming must prove ownership of a specific booking and phone through OTP. Historical data must never be exposed solely because a phone number matches.

Bus and hotel inventory remain separate. Shared infrastructure includes customers, payments, refunds, ledger, reviews, media, notifications and integrations.

External APIs are isolated under `includes/integrations`; vendor calls must not leak into booking/domain services.
