# Motorboy Bus Operator Portal V1.5.0

## Handoff workflow

1. Platform Admin creates the bus operator.
2. Platform Admin enables the capabilities included in that operator's commercial plan.
3. Platform Admin creates the first operator user and assigns the `operator_admin` role.
4. Give that user the `/app/` URL and their login credentials.
5. From that point, the Operator Admin can create and manage the company's own branches, users, buses, drivers, locations, routes, reports, approvals, terminology, reporting settings, API integrations and permitted analytics.

The Operator Admin cannot:
- see another operator's data,
- create/manage other SaaS customers,
- change its own paid entitlements/capabilities,
- bypass immutable approved-report rules,
- become a Platform Admin.

## Current deployment upgrade

For an existing V1.4.4 deployment:
- keep `config.php`, `.htaccess`, `uploads/`, `storage/` and the database;
- replace `api.php`;
- upload the new `/app/` directory;
- run `migrations/1.5.0.sql` (recommended);
- open `/api/v1/health` and verify `1.5.0`;
- open `/app/`.

## Languages

The portal ships with English and French UI strings. UGC/data entered by users is shown exactly as stored. Operator terminology inherits Platform defaults and can be overridden per operator.


## V1.5.1 Cameroon reporting workflow

- Buses are operator-wide fleet assets. They are no longer owned by a branch.
- A focused reporter with `report.create` and no broad management permissions opens directly into a report-entry workspace without analytics/navigation.
- A focused reporter can see their own previous reports and correct their own unapproved reports.
- Editing a submitted report safely reopens it to Draft; approved reports remain immutable.
- Report reference fields use searchable autocomplete rather than long select menus.
- Supporting images/PDFs can be added per bus, including camera capture on supported phones.
- One reporting session can contain multiple bus entries sharing a date and branch.
