Skip to main content

Bookings

Support avatar
Written by Support
Updated over 2 weeks ago

This article explains the basics of what a Booking is in MotionTools.

Overview


Introduction

A booking is a request from a Customer to complete a Service. It can include one or multiple Stops and optional Packages. A Stop is a task to be completed at a specific location, while a Package is an individually trackable item.

Customers can create bookings either directly through the customer portal, via the API, or through a dispatcher acting on their behalf. When a booking is created, the system automatically validates the data against the service's configured rules to ensure the request can be properly fulfilled by an operator.

After creation, bookings must be dispatched – either automatically or manually by a dispatcher – to determine how and by whom they'll be fulfilled. Typically, multiple bookings are combined into optimized tours and assigned to a specific driver or organization. Drivers complete these tours using the Driver app, which updates the booking status accordingly.

kv_bookings-overview.jpg


Key components of a Booking

Stops

Bookings consist of at least one Stop, which represents a location-based task (like a pickup or drop-off). Each Stop can include additional requirements, such as checklists, instructions, contact details, or even package scanning for validation.

A booking can include multiple stops, supporting complex workflows like multi-drop deliveries.⁠ A typical booking for a logistics service doing last-mile deliveries has two stops, whereas the first one is a pickup and the second one is a drop-off stop.

Packages

If your services involve transporting items, Bookings can be extended to track individual Packages. This allows for granular handling, tracking, and proof of delivery for each item.⁠

If you have the Packages extension enabled, there will be additional interactions on a stop to specifically ask a driver to e.g. scan a package to validate a pickup.

Attributes

A booking has several standard and configurable attributes. While the configurable attributes are derived from the Service, the standard attributes are always the same. Some of the standard attributes are mandatory and thus will be set automatically to a default value in case they are not actively set when a new booking is created. There are the following attributes:

  • Customer: The person or company requesting the service; every booking must be linked to a customer.

  • Service: The type of task or job to be carried out (e.g., delivery, pickup, ride); determines the structure and requirements of the booking.

  • Capabilities: Special requirements or resources needed for this booking, such as a vehicle type, equipment, or special handling instructions.

  • Scheduled at: The date and time when the service should be performed or started.

  • Payment method: How the booking will be paid for; can include cash, card, invoice, or other options depending on your setup.

  • Order images and documents: Files or photos attached to the booking, such as delivery proofs or related paperwork (optional).

  • Additional information: Free-text notes or instructions provided for the driver or dispatcher (optional).

  • Metadata: Custom data fields defined by your organization to add extra information or categorization for bookings (optional).

  • Voucher code: A code used to apply discounts, promotions, or special pricing to the booking (optional; requires extension).

Status Flow

Each booking follows a defined yet configurable process with various status changes (such as created, dispatched, in progress, completed) that track its progress. The available actions and statuses depend on your tenant configuration, booking type, and service area settings. Read more about the booking statuses and transitioning events here.


Configuration

Every booking in MotionTools is based on a specific Service. When creating a booking, the customer or admin first selects which Service the booking relates to. This choice determines the workflow, required information, and available options for that booking.

The way bookings behave is controlled through the settings of each booking service. If you want to change how bookings work for a particular Service (such as making a field required, tweaking dispatch logic, or enabling new capabilities), you need to adjust the configuration in the relevant booking service. An article about adjusting booking services is coming soon.


Editing Options

Bookings can be edited between creation and completion to update various attributes, including those at the stop level. Restrictions may apply based on the user's role, the specific attribute, and the booking status. Additionally, certain aspects, such as the deadline for customer cancellation, can be configured through the service settings.

Did this answer your question?