Introduction

Contents

Introduction#

Product#

MOIA’s Fleet API enables the efficient, safe, and legally compliant utilisation and operation of a Fleet of different Vehicles, agnostic to any one specific business model. This allows Missions to be managed for multiple mobility use cases, including:

  • Ride-Pooling,

  • Ride-Hailing,

  • Transport as a Service (TaaS).

This product works with Missions for each Vehicle of a Fleet. A Mission is a set of Waypoints for a specific Vehicle to complete in a predefined order. It contains a set of updating instructions along with context data (e.g. timestamps and actions expected at each waypoint).

MOIAs Fleet API supports the following use cases:

  1. Query information on Vehicles in available Fleets

  2. Get updates for single Vehicle in a Fleet (including Mission and location of Vehicle)

  3. Update Mission of single Vehicle (triggering AD route calculation)

  4. Get information about Stoppable Locations for AD Vehicles

  5. Get routing information for given locations

The Fleet API provides all functionality to operate a Fleet for a specific mobility use case and takes care of the Fleet management and execution of Missions. The API offers no functionality for booking, payment or optimal dispatching of Rides, these aspects need to be managed by the API user.

For a glossary of the relevant terms used in the Fleet API, see Glossary.

Technology#

Fleet API designed with gRPC, leverages HTTP/2 for efficient, high-performance communication and Protobuf for compact, type-safe serialization of data. This API is defined through .proto files, establishing a clear, strict contract for each service and operation offered. With gRPC, Fleet API supports both unary and streaming requests, enabling real-time, bidirectional communication for enhanced interactivity and responsiveness.

Distinctively, Fleet API maintains separate environments for production, integration and development operations, dictated by the URL, and API key included in the gRPC metadata for authentication. Operations in Fleet API are designed to be single-object focused, in line with gRPC’s standard practice of handling one request-response pair per RPC call, thereby not supporting bulk updates natively.

To accommodate varying needs, Fleet API is versioned, allowing for the release of new features and the customization of functionalities. This versioning is managed through different service definitions or updated Protobuf message types. Users can access documentation and API explorers that are automatically generated from the .proto files, providing a tailored experience that aligns with their specific version of the API, test key, and data. This ensures that users always have access to the most relevant and up-to-date information for their integration needs.