The Stratos Logbook API is a phpVMS 7 module that exposes the pilot’s flight history to the Stratos desktop client. It adds three endpoints — paginated list, single-PIREP detail with route and log timelines, and aggregate stats — and reads exclusively from phpVMS-native tables.Documentation Index
Fetch the complete documentation index at: https://docs.skyvexsoftware.com/llms.txt
Use this file to discover all available pages before exploring further.
- Repository: github.com/SkyvexSoftware/stratos-logbook-api
- Latest release: GitHub Releases
- License: MIT
- Depends on: Stratos Core API (must be installed and enabled first)
What it adds
The module mounts these endpoints under/api/stratos/logbook on your phpVMS install. All require a Bearer token — the same users.api_key Core uses, via Core’s StratosAuth middleware.
GET /pireps — list
Paginated, sortable, searchable list of the authenticated pilot’s PIREPs. Excludes in-progress flights, drafts, cancellations, and deleted records — only PENDING, ACCEPTED, and REJECTED states are returned.
Query parameters:
| Param | Type | Notes |
|---|---|---|
limit | int 1–100 | Page size. Default 25. |
offset | int | Page offset. Default 0. |
sort | enum | One of date, route, aircraft, duration, distance, landing_rate, status. Default date. |
order | enum | asc or desc. Default desc. |
q | string | Free-text search across flight number, departure ICAO, and arrival ICAO. |
status | enum | Filter to a single state: pending, accepted, or rejected. |
GET /pireps/{id} — detail
A single PIREP scoped to the authenticated pilot (404s if the ID belongs to another pilot, or if the PIREP is still in progress). Includes the full polyline (route) sourced from the acars table’s FLIGHT_PATH rows, and the log timeline (log) from the LOG rows.
GET /stats — aggregate stats
Lifetime totals (sourced from the denormalised columns on users.flights and users.flight_time) plus computed slices (flights this month, hours this year, sum of accepted-flight distance, average landing rate, current rank).
Install
Install Core first
If you haven’t already, install Stratos Core API and verify the handshake endpoint responds. Logbook will refuse to load without it.
Download the Logbook module
Grab the latest
module.zip from the Logbook releases page.Upload via the admin UI
In your phpVMS admin, navigate to Admin → Modules → Add New Module and upload the
module.zip. phpVMS extracts it to modules/StratosLogbook/.What pilots see
Once Logbook is installed, the Stratos desktop client surfaces it automatically — there’s no per-pilot configuration. Pilots get:- A Logbook entry in the sidebar
- A scrollable, sortable list of every PIREP they’ve filed
- A detail view per PIREP with the route plotted on a map and the in-flight event log replayed
- A stats panel showing their lifetime totals and recent activity
What’s excluded from the list
By design, the list endpoint only returns historical states:PENDING— filed but not yet reviewed by an adminACCEPTED— approvedREJECTED— rejected by an admin
pireps table:
IN_PROGRESS— pilot is currently flyingPAUSED— pilot has paused their flightDRAFT— never submittedCANCELLED— pilot cancelled mid-flightDELETED— soft-deleted
state in the pireps table first.
Troubleshooting
Class not found errors mentioning Modules\StratosCore\...
The Logbook module imports Core’s StratosAuth middleware. If Core isn’t installed and enabled, Logbook can’t boot. Confirm via:
Enabled. If StratosCore isn’t listed, install it before Logbook (see Stratos Core API).
/api/stratos/logbook/* returns 404 but the module shows as enabled
Same fix as Core’s equivalent issue — flush the route + module caches:
A pilot says their logbook is empty but they’ve filed PIREPs
The most likely cause is that all their existing PIREPs are still inIN_PROGRESS state (e.g. flights logged via an older ACARS tracker that never marked them as filed). Check:
0 (IN_PROGRESS), 3 (CANCELLED), 4 (DELETED), 5 (DRAFT), 7 (PAUSED) won’t appear. To bring them into the logbook, an admin can manually mark them as ACCEPTED in the phpVMS admin (Pilot → PIREPs → Edit).
Updating
Same flow as Core: download the newmodule.zip from the releases page, upload via Admin → Modules → Add New Module, then run php artisan optimize:clear.
The current release ships zero migrations.
Contributing
PRs against SkyvexSoftware/stratos-logbook-api welcome. Bug reports in Issues — please include the phpVMS version, the Stratos client version, and a relevant snippet fromstorage/logs/laravel.log.