# Boarding scheduling on crew boats for offshore vessels

> Companies schedule passengers and cargo, the pilot runs the trip from a phone and operations measure occupancy and delays. The system is becoming a SaaS.

Source: https://boosting.tech/en/case-studies/offshore-passenger-transport/
The client is not named. We describe the sector, the problem and what was built.

**Case summary:** A crew boat operator taking people and cargo to anchored vessels received bookings by phone and message. We built a system in which client companies schedule, the pilot runs the trip from a phone and operations follow occupancy and delays. We are now redesigning it as a platform for several operators, with QR code tickets and GPS boat positions.

- Sector: Marine transport of passengers and cargo
- Users: Client companies, operations, pilots and boat owners
- Platform: Installable web system (PWA); multi-operator platform in development
- Technology: Ruby on Rails, Hotwire, MySQL; new platform on Rails 8 and PostgreSQL
- Evolving since: 2020

## What the system does

- Passenger and cargo scheduling by client companies
- Single and batch trips with conflict validation
- Capacity control by seats and volumes
- Pilot screen with boat confirmation, departure and arrival
- Reports on occupancy, delays and use per company
- On the new platform: ticket with a signed QR code
- On the new platform: boat positions by GPS
- On the new platform: data isolated per operator and an audit trail

## What was the problem?

Taking crew and cargo to anchored vessels means fitting many companies into few boats, on a tight schedule. Requests came in by phone and message, the passenger list was checked on paper at the quay, and nobody had a reliable number for occupancy or delays.

## What was built?

The first version served a single operator. Client companies began scheduling embarkations and disembarkations directly in the system, for passengers and for cargo. Operations create the trips, one by one or in batches, and the system prevents schedule conflicts for the same boat and capacity overruns.

With the operation settled, we began redesigning the system as a platform for several operators. On it, each operator has its own address, its own rules and isolated data. The central concept stops being the user who created the record and becomes the operator, the supplier and the trip.

## How does it work day to day?

The client company registers its passengers and schedules embarkations and disembarkations on the available trips. At the quay, the pilot opens the trip on a phone, confirms the boat and records the actual departure and arrival. The system calculates the delay and the occupancy rate of each trip.

On the new platform, each booking generates a ticket with a QR code, which the pilot scans at boarding, and the pilot's phone sends the boat's position every few minutes to the operations map. Rules such as minimum notice for scheduling and the weight limit for cargo are configured per operator.

## What changed in the operation?

Scheduling left the phone and moved to whoever has the information, which is the client company. The departure and arrival of each trip are on record. Occupancy and delays became numbers that operations look up, instead of estimates.

The move from a single system to a platform is an example of what we cover in [support and modernization](/en/services/support-and-modernization/). The base is a [custom web system](/en/services/custom-web-systems/) used as an [app](/en/services/mobile-apps/) by the pilot. See also the [vessel inspection](/en/case-studies/vessel-inspection-and-maintenance/) case.

## Frequently asked questions about boarding scheduling systems

### Does GPS work with the phone locked?

It depends on the device and the browser. In an app installed from the browser, position tracking is best effort and may stop when the operating system suspends the browser. When continuous tracking is a requirement, we recommend a native app.

### How is one operator's data kept separate from another's?

On the new platform, every record belongs to an operator, and that separation is enforced in the database and in every query, as well as on screen. Sensitive actions go to an audit trail.

### Can the same model be used for other kinds of transport?

Yes. The structure of trips, capacity, scheduling and boarding checks fits chartered transport in general.
