MatxFlow documentation

Understand and use MatxFlow.

MatxFlow user guides: work orders, scheduling, equipment, dashboards, forms, mobile app and integrations.

Documentation · Operations

Work order scheduling

MatxFlow assigns a work order to a technician while taking their existing schedule into account. If the requested time is already taken, it automatically looks for the next slot long enough for the whole work order.

Scheduling steps

  1. Check the requested date and time.
  2. Check the technician and the assignment constraints.
  3. Retrieve the work orders already scheduled for this technician.
  4. Detect overlaps.
  5. Find the next slot that is long enough.
  6. Check the selected slot again.
  7. Save the schedule.

What is checked before any search

The requested date

The date must be provided, in a valid format, with the correct time zone, and must not be in the past.

The technician

The technician must exist and be active, and the assignment must meet the constraints of the work order. When a workshop constraint applies, the technician's assignment to that workshop is also checked.

Available slots and conflict handling

A slot is only selected if the full estimated duration of the work order fits into it. A 75-minute work order cannot take a 30-minute gap: the search continues.

In case of conflict, the start of the work order is moved to after the end of the work order occupying the slot, with a five-minute buffer. The new slot is in turn compared with the following work orders, until a slot with no overlap is found.

Example: 75-minute work order requested at 11:00Schedule
AExisting work order from 11:00 to 12:00
BExisting work order from 12:30 to 13:00
111:00 – 12:15: conflict with A, moved to 12:05
212:05 – 13:20: conflict with B, moved to 13:05
✓13:05 – 14:20: slot selected
The duration is never shortened

When a work order has to be moved, MatxFlow shifts its start time; it never reduces its estimated duration to fit it into a shorter slot.

Work orders that occupy the schedule

Only active work orders prevent a new one from being placed in the same slot: scheduled, synchronized, in progress, or completed and awaiting validation. Closed or cancelled work orders free up the schedule.

Validation and saving

The calculated slot is checked a second time before it is saved, to make sure it does not overlap any active work order. This check applies whatever the origin of the request: a user, the scheduling screen or an automated process.

To limit conflicts when several people schedule at the same time, the technician and the ticket concerned are locked for the duration of the operation.

Change history

Every scheduling change is recorded, with the state of the ticket before and after: status, scheduled date, estimated duration, technician and workshop. The history of scheduling decisions therefore remains available.

Planned developments

The scheduling engine was designed to eventually support optimization features: comparing several options based on availability, workload, skills, priorities or travel time, and possibly suggesting assignments with the help of artificial intelligence.

Not available yet

These features are not part of MatxFlow today. If they are added, they will suggest schedules; the rules described above will still be applied before anything is saved.