Workflow reference

Operational detail, without hiding the limits.

Use this reference when you need to inspect who acts, what starts the work, how it normally proceeds, how it recovers and what RouteHut retains.

Available
Supported in the current product.
Configurable
Requires operator setup.
Planned
On the roadmap; not yet available.

Workflow reference

See how each part of the operation works.

Every entry documents who acts, what starts the work, the normal path, recovery when it fails, the records retained, and whether the capability is available now.

73 workflows

00 / Administration

Set up the courier operation and its team

Planned

Establish the tenant, operating defaults, staff access, driver identities, and least-privilege roles before customer work enters the platform.

ActorsCourier owner, tenant administrator, operations lead, finance lead
TriggerA courier company starts using RouteHut or needs to add, change, suspend, or remove a team member.

Normal path

  1. Create the isolated courier tenant and its accountable owner.
  2. Configure the operating identity, defaults, hubs, zones, and commercial settings.
  3. Invite staff and assign owner, administrator, dispatcher, driver, billing, or viewer access.
  4. Link driver users to field profiles and review access before going live.
Exceptions and recovery

Duplicate identities, expired invitations, conflicting memberships, and excessive privilege are rejected or reviewed. Disabling access revokes future sessions without deleting the person's audit history.

Resulting records

Tenant, owner, users, memberships, role assignments, driver links, invitations, operating configuration, access revocations, and audit history.

Self-service onboarding is not yet available. RouteHut enforces tenant-scoped roles and can provision an owner today, but team invitation and membership administration remain operator-assisted.

01 / Configuration

Configure the service network and pricing rules

Configurable

Publish controlled default or customer tariffs across the courier's service zones without changing prices already quoted or booked.

ActorsTenant administrator, operations lead, pricing manager, finance administrator
TriggerA courier launches, opens a branch or hub, changes coverage, or introduces a new tariff period.

Normal path

  1. Create hubs and bays, then draw effective-dated collection, delivery, pricing, remote-area, branch, or driver-territory zones.
  2. Build an inactive default or customer-specific rate card with currency, volumetric divisor, fuel percentage, effective dates, and non-overlapping service, zone, and weight rules.
  3. Test representative quote options across actual and volumetric weight, customer-card precedence, zone specificity, minimum charges, fuel, and remote-area surcharges.
  4. Activate only a complete non-overlapping tariff; for the next period, duplicate its rules into a new inactive draft and archive retired pricing without altering historical shipment snapshots.
Exceptions and recovery

Invalid boundaries, cross-tenant customer mappings, overlapping weight bands or active periods, empty activation, and unmatched service or zone combinations are rejected visibly. Rules remain editable only while inactive and archived cards are terminal, so recovery happens in a new controlled draft.

Resulting records

Hubs and bays, effective GeoJSON zone versions, default or customer rate card, service and zone weight rules, quote calculation and line items, shipment pricing snapshot, lifecycle changes, duplicate lineage, and audit history.

Map-backed zones; inactive configuration; default and customer-specific cards; effective periods; actual and volumetric chargeable weight; service, zone, and weight selection; base, per-kilogram, minimum, fuel, and remote-area charges; guarded activation; terminal archival; full-card duplication; quote options; and shipment pricing snapshots are available. Tiered contract matrices, tax policy, discount and surcharge governance, automatic tariff approval, load-based freight pricing, and pallet rating remain future depth.

02 / Service design

Define service products and delivery promises

Configurable

Turn labels such as standard, express, or same day into controlled products that pricing, booking, operations, customers, and reporting interpret consistently.

ActorsTenant administrator, product or operations lead, pricing manager, customer service, finance administrator
TriggerA courier launches a service, changes its operating promise, limits customer access, or retires an existing product.

Normal path

  1. Define a stable service identity, operating days, booking and collection cut-offs, coverage, and network eligibility.
  2. Set the transit target, delivery window, handling constraints, proof requirements, and exception policy.
  3. Attach effective-dated pricing and customer eligibility without changing historical bookings.
  4. Test representative quotes and bookings, publish the product, and measure execution against the promise captured on each shipment.
Exceptions and recovery

Missing coverage, conflicting rules, closed operating days, work after cut-off, unsupported handling, ineligible customers, and capacity constraints reject or downgrade the offer visibly. Retiring a product prevents new selection while preserving prior commitments.

Resulting records

Service product and version, operating calendar, cut-offs, eligibility and proof policies, effective pricing relationship, customer entitlement, shipment commitment snapshot, SLA deadline, and audit history.

Rate rules currently provide normalized service-level labels, quote options derive eligible labels from active customer pricing, and shipments retain the selected service level and pricing snapshot. RouteHut does not yet maintain a first-class service-product catalogue, calendars, cut-offs, transit calculations, customer entitlements, proof policies, commitment snapshots, or computed SLA deadlines.

Evidence governance / Policy

Configure and enforce proof requirements

Planned

Define evidence rules once and apply the right collection, delivery, exception, and controlled-handover requirements consistently across staff, driver, and integration channels.

ActorsTenant administrator, service owner, operations or compliance lead, driver, customer service
TriggerA courier introduces a service, customer agreement, handling class, or risk rule that changes what must be proven before custody or status can advance.

Normal path

  1. Create an effective-dated policy for a collection, delivery, failed attempt, return, or controlled handover.
  2. Choose required evidence combinations such as recipient or sender name, photo, signature, OTP verification, parcel scans, location, condition, notes, or reason codes, with explicit precedence across service, customer, and handling rules.
  3. Test representative work, publish the policy version, and snapshot the resolved requirement onto each eligible shipment or stop.
  4. Guide the field user through only the required capture, block incomplete completion, and route an impossible requirement through a reasoned supervisor exception rather than silently weakening it.
Exceptions and recovery

Conflicting rules, missing device capability, denied camera or location permission, network loss, unavailable recipient, failed verification, or unusable evidence stays visible. Offline-capable requirements queue durably; security-sensitive checks fail closed or use an authorized fallback with a retained reason.

Resulting records

Policy and version, scope and precedence, effective dates, resolved shipment or stop requirement, device-capability decision, captured evidence, validation result, override request and approval, actor, timestamp, and audit history.

Not yet available as configurable policy. RouteHut currently stores one POD per shipment with a recipient name, one proof-type label, optional notes, capture time and location, and at most one attached evidence file; delivery requires only the recipient name and the mobile photo is optional. There is no tenant-, customer-, service-, handling-, or event-scoped proof policy, no required evidence combinations, no effective-dated policy snapshot, no capability negotiation, and no policy-driven completion or override gate.

03 / Workforce readiness

Onboard and qualify a driver for field work

Configurable

Create an accountable operational profile, record dispatch constraints, and keep the driver unavailable until the checks required by the courier are complete.

ActorsTenant administrator, operations lead, fleet or safety supervisor, driver
TriggerA driver or contractor joins, changes vehicle or capability, is suspended, or is approved to return to field work.

Normal path

  1. Verify the person's identity, contact details, employment or contractor relationship, and tenant membership.
  2. Create the driver profile as unavailable and record vehicle registration, carrying capacity, and dispatch skills.
  3. Review the courier's required licence, training, induction, and supporting evidence before approval.
  4. Activate the driver, schedule eligible shifts, then connect an approved field device.
Exceptions and recovery

Duplicate or cross-tenant identities, missing qualifications, expired evidence, failed training, suspension, and conflicting device ownership keep the driver ineligible. Correct or renew the evidence before activation rather than bypassing the dispatch constraint.

Resulting records

Tenant-scoped driver profile, contact details, operational status, vehicle and capacity, dispatch skills, user relationship, qualification evidence, approval history, and handoffs to shifts and device enrolment.

Driver profiles, contact details, active or unavailable status, vehicle registration, capacity, and skill-based dispatch eligibility are available. Staff-managed user linking, licences, training, document evidence, expiry reminders, approval gates, and suspension reasons remain planned compliance depth.

04 / Fleet readiness

Register and qualify a vehicle for field work

Planned

Create one accountable fleet asset, prove that it is legal and suitable for its work, and expose only eligible capacity to planning and dispatch.

ActorsFleet administrator, operations lead, safety supervisor, finance administrator, driver
TriggerA vehicle is acquired, leased, contracted, transferred between depots, materially changed, suspended, or returned to service.

Normal path

  1. Register the vehicle's stable identity, registration, type, ownership, home depot, and operating dimensions.
  2. Record payload and volume capacity, equipment, handling capabilities, and any work restrictions.
  3. Verify roadworthiness, licence, insurance, permits, and required evidence with accountable expiry dates.
  4. Approve the vehicle for service, assign it to eligible drivers or routes, and make its current capacity visible to dispatch.
Exceptions and recovery

Duplicate registration or identity, expired evidence, failed inspection, unresolved defect, incompatible equipment, excessive load, and depot or driver mismatch keep the asset unavailable. Renewal or authorized clearance restores eligibility without erasing its prior state.

Resulting records

Vehicle asset, ownership and depot assignment, dimensions and capacities, capability tags, compliance evidence and expiries, service state, driver and route assignments, inspection history, and audit trail.

Not yet available as a fleet lifecycle. RouteHut currently stores vehicle registration and weight capacity on a driver profile, checks that capacity during planning, and records append-only inspections with registration, odometer, checklist, defects, and safety outcome. It does not maintain an independent vehicle asset, volume or equipment capability, compliance expiry, driver-to-vehicle assignment history, maintenance state, or vehicle eligibility gate.

05 / Field access

Connect an approved phone to driver operations

Configurable

Bind an installed field app to the right RouteHut host, tenant, driver identity, and durable device record before assigned work reaches the phone.

ActorsTenant administrator, operations lead, driver
TriggerA driver joins the operation, receives a replacement phone, or must connect an approved internal build to another RouteHut environment.

Normal path

  1. Provision the driver membership and linked field profile for the tenant.
  2. Install the approved field build and enter the reachable HTTPS RouteHut server origin.
  3. Sign in; the app stores rotating credentials in the platform secure store and registers its stable installation identity.
  4. Synchronize the released manifest and refresh the same device record idempotently as app metadata changes.
Exceptions and recovery

Invalid server origins, incorrect tenant or role, missing driver links, expired sessions, and devices already bound to another driver are rejected. Offline work remains scoped to its original host so it cannot replay into another environment.

Resulting records

Driver membership and profile, secure mobile session, tenant-scoped device identity, app and platform metadata, registration or refresh audit event, and server-scoped offline manifest.

Internal Android field enrolment, host selection, secure authentication, and device registration are available. Formal app-store distribution, staff-managed device inventory, remote revocation, and push-token lifecycle management remain production depth.

06 / Access control

Review access and safely offboard a team member

Planned

Remove a person's ability to act without losing the operational, financial, evidence, or audit history created while they were accountable.

ActorsTenant owner, administrator, line manager, operations lead, security reviewer
TriggerA role changes, a person leaves or is suspended, a phone is lost, a credential may be exposed, or a periodic access review becomes due.

Normal path

  1. Inventory the person's tenant memberships, role, active work, driver profile, registered devices, sessions, and owned integration credentials.
  2. Reassign live routes, approvals, customer responsibilities, and shared operational ownership before disabling access.
  3. Disable the membership or user, revoke token families and devices, and revoke or rotate any exposed API or webhook credentials.
  4. Verify that new authentication and command replay are denied, retain attributed history, and record who approved and completed the offboarding.
Exceptions and recovery

A sole owner, in-progress route, offline commands, shared credential, pending financial approval, or disputed action requires supervised transfer before closure. Reinstatement creates a controlled new access decision rather than silently restoring old sessions.

Resulting records

Membership and user state, revoked sessions and devices, archived or unavailable driver profile, credential revocations or rotations, ownership transfers, denied-access evidence, and immutable audit history.

Authentication already denies disabled users and memberships; sign-out revokes the current session family; administrators can revoke API credentials; drivers can revoke their own devices; and tenant suspension can revoke active sessions. RouteHut does not yet provide staff user and membership administration, administrator-led session or device revocation, consolidated access inventory, ownership transfer, periodic certification, or a complete offboarding command.

Staff access / Security

Sign in safely and recover an expired staff session

Available

Enter the correct courier workspace, continue through short-lived session renewal, and close access cleanly without exposing browser credentials to application storage.

ActorsCourier owner, administrator, dispatcher, hub operator, customer service, finance user
TriggerA staff member starts work, returns after an access token expires, signs out, or loses access because their account or courier workspace is no longer active.

Normal path

  1. Enter the courier tenant, email address, and password on the RouteHut staff sign-in screen.
  2. Verify active user membership and open only that tenant's authorized workspace and role.
  3. Renew an expiring browser session through rotating secure cookies and a CSRF-protected refresh request.
  4. Sign out to revoke the current token family, clear browser credentials, and return to the sign-in screen.
Exceptions and recovery

Invalid credentials, the wrong tenant, inactive membership, suspended courier access, missing CSRF proof, and reused refresh credentials are rejected. The browser clears an invalid session and asks the user to authenticate again rather than continuing with stale access.

Resulting records

Tenant-bound membership and role decision, client identity, short-lived access credential, rotating refresh-token family, revocation state, and a browser session that stores credentials only in secure cookies.

Tenant-bound sign-in, secure browser cookies, CSRF protection, automatic session renewal, refresh-token reuse defence, and explicit sign-out are available. Self-service password reset, MFA, SSO, administrator session inventory, remote session revocation, and user-facing sign-in history remain planned security depth.

07 / Commercial

Set up a customer and service locations

Available

Create the commercial account, reusable addresses, contacts, notification consent, and the pricing relationship that future work will use.

ActorsCustomer service, account manager, finance administrator
TriggerA new customer is approved to trade or an existing customer adds a location.

Normal path

  1. Create the tenant-scoped customer account.
  2. Add collection and delivery addresses with operational contacts.
  3. Record consent for tracking notifications.
  4. Associate the applicable rate card and funding arrangement.
Exceptions and recovery

Duplicate account codes and invalid contacts are rejected. Correct the customer record rather than creating a parallel identity.

Resulting records

Customer, address, contact, consent, rate-card relationship, and audit history.

08 / Fulfilment readiness

Validate a service address before booking and routing

Configurable

Turn a reusable customer location into reviewed coordinates and service-zone context before operations relies on it for pricing, allocation, or navigation.

ActorsBooking team, customer service, operations planner, customer integration
TriggerA customer adds a collection or delivery location, or an existing address is pending, low-confidence, failed, or outside expected service coverage.

Normal path

  1. Create or update the tenant-scoped address and associate it with the correct customer where applicable.
  2. Queue provider geocoding and review the formatted result, confidence, status, timestamp, and coordinates.
  3. Correct the source address and retry, or enter a verified latitude and longitude when provider output needs human resolution.
  4. Resolve the point against active service, pricing, remote-area, branch, and driver-territory zones before using it operationally.
Exceptions and recovery

Provider failure, low confidence, invalid coordinates, ambiguous matches, and locations outside active zones remain explicit. Staff correct or manually verify the location rather than silently accepting a guessed point.

Resulting records

Reusable address, customer association, formatted provider result, geocoding status and confidence, WGS84 coordinates, geocoding timestamp, and current active-zone matches.

The address directory, asynchronous Mapbox geocoding, review states, retries, manual coordinates, search and filtering, and zone resolution are available when the provider is configured. Visual map-pin confirmation and tenant-enforced approval before booking remain planned depth.

09 / Customer access

Give customers secure self-service access

Planned

Let each shipping customer manage its own people, locations, bookings, tracking, proof, and financial documents without granting access to the courier's internal operation.

ActorsCustomer administrator, booking user, finance reviewer, courier account manager
TriggerA customer needs to submit or review work directly instead of routing every request through courier staff or a system integration.

Normal path

  1. Invite a user into one tenant and customer account with an explicit role.
  2. Let the customer administrator manage approved users, contacts, and reusable service locations.
  3. Quote, book, import, cancel eligible work, and follow shipment progress within that account.
  4. Retrieve authorized POD, invoices, statements, and integration credentials according to permission.
Exceptions and recovery

Expired invitations, disabled users, cross-account access, excessive permission, and unsafe cancellation or evidence requests are rejected. Suspending access revokes future sessions while retaining business and audit history.

Resulting records

Customer-user relationship, invitation, role and permissions, sessions, address-book changes, customer-originated bookings, evidence access, credential lifecycle, and audit history.

A dedicated customer identity, authorization boundary, and portal are not yet available. Today courier staff act on the customer's behalf, recipients use privacy-safe public tracking, and approved system integrations use tenant-issued scoped credentials.

10 / Commercial funding

Configure prepaid wallets or customer credit

Configurable

Choose an explicit funding policy for each customer and preserve every reservation, release, settlement, and correction as auditable financial history.

ActorsFinance administrator, account manager, booking team
TriggerA customer is approved to trade, its terms change, confirmed funds arrive, or an invoice must be settled.

Normal path

  1. Set the customer billing mode to invoice or prepaid.
  2. For invoice billing, configure the currency, credit limit, payment terms, and active or hold status.
  3. For prepaid billing, configure a currency-specific wallet and reconcile a confirmed bank top-up using a stable reference.
  4. Book against available funding, then settle, release, refund, or reverse value through controlled commands.
Exceptions and recovery

Insufficient balance, held credit, currency mismatch, inactive wallets, and duplicate reconciliation references are rejected visibly. Corrections append compensating entries instead of rewriting the ledger.

Resulting records

Customer funding mode, credit account, wallet account, immutable ledger entries, reservations, payments, balance and available-credit projections, outbox events, and audit history.

Staff-confirmed top-ups and wallet and credit controls are available. Automated payment-gateway top-ups and reconciliation imports remain planned.

11 / Commercial

Quote, review, and book a shipment

Available

Compare eligible delivery services, preserve the selected commercial basis, and turn a reviewed draft into funded operational work.

ActorsCustomer service, booking agent, finance administrator, customer integration
TriggerA customer asks for a price or confirms that quoted goods must move.

Normal path

  1. Select the customer, collection and delivery addresses, quote and service dates, and parcel weights and dimensions.
  2. Calculate every eligible service option and compare the price-ordered totals, actual and volumetric weight, resolved zones, and itemized charges.
  3. Select an option and create a draft; RouteHut recalculates and freezes its tariff, rule, service, zone, weight, surcharge, and quote-date basis as the shipment pricing snapshot.
  4. Review and book the draft. RouteHut applies configured credit or prepaid controls atomically, then appends the booked milestone and integration event.
Exceptions and recovery

An invalid address, missing tariff or rule, or unsupported service rejects the quote; direct intake can retain an explicitly unrated draft for correction. Booking leaves the draft unchanged when it is no longer eligible, configured credit is held, mismatched, or exceeded, or a prepaid quote or funded active wallet is missing. Correct the commercial input or funding and retry; external create and book calls use idempotency keys so the same request cannot duplicate work.

Resulting records

Shipment and parcels, public tracking identity, address-zone and immutable pricing snapshots, pending charge lines, funding reservation or debit where applicable, append-only created and booked tracking events, outbox events, API replay record, and booking audit history.

Staff service comparison, rated or unrated draft creation, funding-aware booking, and scoped external quote and booking APIs are available. A persisted customer quotation with customer-facing presentation, explicit acceptance, versioning, expiry, and conversion history remains planned.

12 / Commercial

Create individual or bulk shipment work

Available

Create one reviewed draft in the staff workspace or accept hundreds of independent partner orders without making an API request wait for the whole batch.

ActorsBooking team, ecommerce platform, warehouse system, integration partner
TriggerOne order is ready for capture, or a partner releases a bounded group of orders into courier operations.

Normal path

  1. Create a single draft through staff entry, or use tenant-bound API credentials with shipment write access.
  2. For bulk work, submit 1 to 500 JSON rows within 5 MiB, each with a unique partner row key, under one request idempotency key.
  3. Receive an opaque import identity immediately while background processing validates and creates each draft in stable row order.
  4. Poll queued, processing, or completed counters, then traverse the keyset-paginated row feed for each created shipment number or partner-safe failure.
Exceptions and recovery

An empty or oversized envelope, missing shipment object, duplicate row key, or conflicting request replay is rejected before processing. A bad customer or invalid shipment fails only its row; the import still completes after every row has a terminal outcome. Correct failed source data and submit a new import. Infrastructure failures leave unfinished rows pending for bounded job retry and stale-work recovery without overwriting completed outcomes.

Resulting records

Single or bulk-created shipment drafts with addresses, parcels, pricing and zone snapshots, and charge lines; opaque import aggregate; sanitized row requests; immutable created or failed outcomes; counters; API replay record; submission and completion audits; job; and completion outbox event.

The released bulk contract is asynchronous JSON intake limited to 500 rows and 5 MiB, and it creates drafts only. CSV or XLSX upload, downloadable correction files, in-place failed-row repair, bulk booking, labels, and route assignment remain separate or planned workflows.

13 / Fulfilment preparation

Identify, label, and verify parcels before collection

Planned

Give every physical parcel one durable identity, print it in forms people and scanners can read, and verify the applied label before custody changes.

ActorsBooking team, warehouse packer, collection driver, hub operator
TriggerA booked shipment is packed and its physical parcels are ready for handover.

Normal path

  1. Reconcile the packed parcel count, then retain a customer identifier or allocate a tenant-unique RouteHut parcel number; allocate an SSCC only where the configured trading process uses GS1 logistic labels.
  2. Render the parcel identity both as legible text and a machine-readable symbol, with the shipment, service, routing, and handling information permitted by the tenant's label template.
  3. Print and apply the label, then scan it back against the expected shipment before releasing the parcel for collection.
  4. At collection or hub receipt, scan each physical item again and accept custody only when its identity and expected work agree.
Exceptions and recovery

Duplicate identifiers, a count mismatch, printer failure, unreadable symbol, wrong label, and unexpected parcel remain explicit. A controlled reprint preserves the parcel identity and records its reason; replacing or invalidating an identity requires an auditable relabelling action, and mismatched goods remain outside accepted custody.

Resulting records

Parcel and optional standards-based identity, versioned label artifact, template and print metadata, reprint or relabelling audit, verification scans, shipment association, custody decision, and operational exception where required.

RouteHut currently creates tenant-unique parcel numbers, defaults a blank barcode to the parcel number, preserves a supplied barcode, exposes both values to staff, and resolves hub scans by either value with retry-safe scan events. Label rendering and templates, print and reprint history, GS1 identifier validation, pack verification, and collection-side parcel reconciliation remain planned.

Alternative handover / Service points

Drop off or collect a parcel at an approved service point

Planned

Offer branch counters, partner shops, and lockers as convenient handover locations while preserving the same parcel identity, tracking history, and accountable custody as a door service.

ActorsSender, recipient, counter or service-point operator, customer service, network operations
TriggerA customer chooses to lodge a shipment at an approved point or have the recipient collect it there instead of using a door collection or delivery.

Normal path

  1. Select a currently eligible point using its stable identity, location, opening hours, cut-off, capacity, accessibility, supported parcel sizes, and available drop-off or collection services.
  2. For sender drop-off, scan the booking and every parcel, validate condition and eligibility, record acceptance into the point's custody, and issue a receipt.
  3. For recipient collection, scan arrival into the destination point, start the configured holding period, and notify the recipient with the point details, deadline, and a short-lived collection credential.
  4. At the counter or locker, verify the credential, permitted collector, and parcel; record release proof and the custody scan before marking the handover complete.
Exceptions and recovery

A closed, full, or inaccessible point, unsupported parcel, duplicate or mismatched scan, damaged goods, failed notification, expired or abused credential, unavailable compartment, failed locker opening, and uncollected parcel remain explicit. Operations can redirect before acceptance, reissue bounded authority, extend within policy, investigate, or return the item when its retention deadline expires without fabricating a collection or delivery event.

Resulting records

Service-point identity, capabilities, hours and availability snapshot; booking selection; parcel acceptance and condition; point and compartment custody; sender receipt; arrival notice and attempts; collection authority and expiry; release proof; tracking events; retention deadline; return or redirection decision; partner references; and audit history.

Not yet available. RouteHut has tenant-scoped internal hubs and bays, append-only parcel scans, current parcel custody, manifests, tracking, notifications, and POD. It has no public service-point directory or eligibility search, point availability or reservation, counter roles, partner or locker integration, sender receipt, pickup authority, holding-period automation, delegated collection, or service-point handover commands.

14 / Handling compliance

Declare and control special-handling work

Planned

Turn fragile, high-value, temperature-controlled, dangerous-goods, or restricted-handover needs into enforceable controls that follow the goods from acceptance to final disposition.

ActorsCustomer, booking team, compliance or operations approver, hub operator, dispatcher, driver, recipient
TriggerGoods require controls beyond an ordinary parcel service because of risk, regulation, value, condition, or handover restrictions.

Normal path

  1. Select a versioned handling profile and declare the goods, quantity, value or risk class, required temperature or condition limits, recipient controls, and supporting documents before acceptance.
  2. Validate prohibited or restricted goods, packaging and labelling, service and route eligibility, price, approvals, and the regulations configured for the operating region.
  3. Snapshot the accepted controls, then allocate only trained people and qualified vehicles, containers, facilities, and service paths; present current instructions at every custody handoff.
  4. Scan identity and capture the required seal, condition, temperature, custody, and recipient checks until compliant delivery, return, quarantine, or another approved final outcome.
Exceptions and recovery

A missing or false declaration, prohibited goods, unsuitable packaging, expired document or qualification, unavailable equipment, monitoring failure, temperature excursion, seal break, route deviation, failed identity check, or damage blocks normal movement. Safety action can happen immediately, but an accountable assessment must authorize release, recovery, return, disposal, or claim handling; legal and safety gates cannot be cleared with a generic dispatch override.

Resulting records

Goods declaration and handling profile version, applicable policy and jurisdiction, approvals and documents, resource qualifications, immutable control snapshot, instructions, charges, condition and custody checkpoints, sensor or manual readings, exception and assessment evidence, recipient verification, final disposition, and audit history.

Not yet available as a special-handling or compliance workflow. RouteHut currently records shipment priority and normalized free-form required driver skills; driver recommendation, assignment, and route planning check those skills, while manual assignment can record an override reason. It has no typed goods or handling catalogue, regional policy rules, declaration or document approval, expiring qualifications, vehicle or container capabilities, condition monitoring, compliance-safe override policy, quarantine custody, or restricted-recipient proof.

15 / Change control

Correct, hold, or intercept shipment work

Planned

Request a correction or in-network action without rewriting history, and keep the original instruction in force until the team holding the goods accepts the change.

ActorsCustomer, customer service, dispatcher, custody holder, finance administrator, recipient
TriggerAn address, date, service, parcel detail, instruction, or commercial term is wrong, or goods already in motion must be held, redirected, or returned.

Normal path

  1. Authenticate the requester, record the requested change and reason, and bind it to the shipment's current version, state, and custody owner.
  2. Determine which tenant- and service-specific actions remain eligible: correct before handoff, reschedule, hold for collection, redirect, or return; then revalidate address, service, handling, risk, timing, and price.
  3. Apply an accepted pre-handoff change as a new booking revision and refresh affected route, financial, and notification work. After handoff, send a pending instruction to the current custody owner and do not promise the outcome until it is acknowledged.
  4. Append the accepted, rejected, expired, or withdrawn result, its effective time, the resulting route or return action, charges, and notifications to affected parties.
Exceptions and recovery

An unauthorized requester, stale version, conflicting request, terminal shipment, restricted goods, unavailable destination, inaccessible parcel, or operational cut-off can block the change. The original instruction remains authoritative until an eligible request is accepted; unconfirmed requests expire or escalate with a clear outcome instead of becoming a silent best effort.

Resulting records

Versioned change request, requester and reason, before-and-after instruction, eligibility decision, pending and final status, custody acknowledgement, effective time, route impact, price adjustment, tracking event, notifications, and audit history.

Not yet available as amendment or interception. RouteHut currently supports immutable draft creation, booking, idempotent pre-handoff cancellation, and explicit lifecycle transitions. Staff and external shipment routes expose no update command, and the product has no booking revision, hold, redirect, return instruction, custody acknowledgement, request expiry, or accepted-change repricing workflow.

16 / Commercial

Cancel work before it enters operations

Available

Stop work before physical or dispatch handoff, preserve the cancelled record, and reverse its pending financial effect exactly once.

ActorsCustomer service, dispatcher, customer integration, finance administrator
TriggerThe customer withdraws the booking before assignment, collection, invoicing, or another operational handoff.

Normal path

  1. Open the shipment, confirm the customer and reference, and verify that it remains a draft or an untouched booking.
  2. Record the customer or operational reason, then confirm the irreversible cancellation instead of deleting the booking.
  3. Cancel through the staff workspace or send an external request with the shipments:write scope and a stable idempotency key.
  4. Atomically mark the shipment cancelled, void pending charges, restore prepaid value with compensating ledger entries, and publish the cancellation for tracking and integrations.
Exceptions and recovery

Assignment, route-stop membership, manifest membership, parcel custody, a lifecycle state after booking, or an invoiced charge blocks cancellation. The same completed request returns the cancellation result without another tracking event, audit action, wallet credit, or refund; handed-off work moves to an exception, intercept, return, or financial-adjustment workflow.

Resulting records

Cancelled shipment, optional reason on its tracking event, transactional outbox event, staff or API audit entry, voided pending charges, released wallet reservation, and immutable compensating wallet entries where applicable.

Available for staff and external integrations before operational handoff. RouteHut enforces draft or untouched-booked state, handoff and invoicing gates, and repeat-safe financial reversal. A cancellation reason remains optional, and tenant-specific cut-offs, approval rules, fees, customer self-service, and cancellation of an external carrier label or scheduled pickup remain planned.

17 / Commercial

Schedule recurring collections and deliveries

Planned

Turn a standing customer agreement into individually controlled shipment drafts without repeatedly entering the same service pattern or committing work too far ahead.

ActorsAccount manager, operations scheduler, dispatcher, customer service
TriggerA customer agrees to predictable work on selected days, dates, or intervals at one or more locations.

Normal path

  1. Define an effective-dated agreement with the customer, timezone, locations, service, collection and delivery windows, parcel forecast, handling needs, recurrence, holidays, cut-off, and end conditions.
  2. Preview upcoming occurrences and generate independent shipment drafts only inside the tenant's planning horizon, using one stable occurrence key to prevent duplicates.
  3. Revalidate the current address, service calendar, rate, handling eligibility, and available capacity for every occurrence before it can be booked and dispatched through the normal workflow.
  4. Pause, end, or version the agreement for ungenerated work. Handle an already generated draft through ordinary amendment or cancellation so released and completed shipment history never changes.
Exceptions and recovery

A closed day, expired agreement, unavailable service, invalid address, missing rate, unusual volume, or capacity conflict leaves that occurrence held for review or explicitly skipped. Generator retries reuse the occurrence key; a missed run cannot create duplicates, silently move work to another date, or overwrite a draft someone has already handled.

Resulting records

Effective-dated recurring agreement and version history, shipment template, occurrence key and generation status, independently rated shipment drafts, per-occurrence exception or skip reason, pause or end decision, notifications, and audit history.

Not yet available. RouteHut creates one-off staff and external shipment drafts and accepts idempotent asynchronous JSON imports of up to 500 rows within 5 MiB. Those paths produce dated, independently priced shipments but provide no recurring agreement, calendar or timezone rules, occurrence preview, planning-horizon generator, stable occurrence identity, pause or future-version command, or per-occurrence exception queue. Solid Queue recurrence supports internal jobs only; it is not a customer schedule.

18 / Workforce planning

Plan driver shifts and protected breaks

Configurable

Publish near-term availability and protected breaks so dispatch can test planned work against the roster without presenting a schedule as proof of hours worked.

ActorsOperations scheduler, dispatcher, supervisor, driver
TriggerThe operation prepares its near-term driver roster or needs to confirm capacity for a planned departure.

Normal path

  1. Select an active driver and schedule a bounded start and end time.
  2. Add protected breaks and reject missing, reversed, out-of-shift, or overlapping break periods.
  3. Where a matching shift exists, exclude the driver when the planned departure falls during a break or outside that shift.
  4. Add overlapping break time to the estimated route finish and block release when the planned work exceeds the matched shift.
Exceptions and recovery

Invalid times, malformed breaks, cross-tenant or inactive drivers, and routes extending beyond a matched shift are rejected. Operations changes the departure, route load, schedule, or driver instead of silently overriding the constraint.

Resulting records

Tenant-scoped driver shift, scheduled breaks, dispatch availability decision, route constraint assessment, release rejection where applicable, and audit history.

Individual scheduled shifts and breaks can be created and viewed in a 14-day feed today; the driver directory shows each driver's earliest upcoming shift. Dispatch applies departure, break, and estimated-finish constraints when a matching shift exists, but unscheduled drivers remain eligible. This is planning data, not a clock-in, duty, driving, break, or rest log. Recurring roster templates, shift-overlap detection, editing or cancelling an existing shift, roster-required availability, absence and leave, overtime approval, driver acknowledgement, and jurisdiction-specific hours-compliance reporting remain planned depth.

19 / Operations

Plan and release the delivery day

Configurable

Turn eligible work into auditable, driver-linked route plans while keeping dispatch in control of allocation, stop order, and release readiness.

ActorsDispatcher, operations supervisor, driver
TriggerBooked work is ready to allocate for collection or delivery.

Normal path

  1. Choose a service date and review eligible collection or delivery candidates, excluding conflicting active route stops and assignments.
  2. Build a manual route or preview an all-or-nothing allocation across active drivers using priority, territory, travel time, shift availability, required skills, existing load, and weight capacity.
  3. Sequence geocoded stops with road-network optimization or a deterministic fallback while preserving collection before delivery for paired work.
  4. Review sequencing and constraint results, correct any blocker, then release the unchanged planned route to its driver.
Exceptions and recovery

Inactive drivers, duplicate or ineligible stops, conflicting assignments, missing geocodes or weights, incomplete sequencing, service-window conflicts, collection-after-delivery order, shift overruns, and excess weight block the relevant planning or release action. Route release has no override path today; dispatch must correct the plan and retry.

Resulting records

Driver-linked route plan, ordered route stops, optimization and constraint snapshot, lifecycle status, transactional outbox events, and staff audit history.

Manual route building and automatic allocation of booked collection-and-delivery work are available. Mapbox v1 provides road-duration sequencing for at most 12 waypoints; deterministic sequencing and route metrics are used when that provider is unavailable, while missing stop coordinates block optimization. Current service-window checks compare the service date and planned departure with each window, but do not yet predict arrival and service time at every stop. Capacity is weight-based. Multi-dimensional capacity, per-stop service duration, predicted arrival windows, live traffic re-optimization, route versioning, and supervised release overrides remain planned depth.

Driver handoff / Dispatch

Acknowledge or decline offered work

Planned

Let each courier choose whether employed drivers receive a dispatch instruction directly or whether a driver or subcontractor must accept a time-bounded offer before departure.

ActorsDriver or subcontractor, dispatcher, operations supervisor
TriggerA route or individual job is ready for handoff under an operating policy that requires acknowledgement.

Normal path

  1. Freeze a versioned offer and notify the driver of its expected start, stop count, service area, duration, vehicle, handling constraints, and response deadline.
  2. Let the driver accept that exact version or decline it with a structured operational reason.
  3. On acceptance, claim the work once and continue into inspection, loading, and route-start readiness.
  4. On decline, timeout, or material plan change, invalidate the offer and return the work visibly to dispatch for reassignment without presenting it as started.
Exceptions and recovery

An offline phone, expired or superseded offer, unavailable driver, vehicle mismatch, capacity concern, unsafe condition, or replayed response cannot silently start or reclaim work. The response is retry-safe; dispatch resolves the constraint, issues a new version, or records a supervised override where policy permits.

Resulting records

Operating policy, assignment offer and version, response deadline, driver acceptance or structured decline, response timestamp and device, invalidation or reassignment decision, notification history, and retained audit evidence.

Planned. Staff can assign a booked shipment to one active driver, reject unavailable drivers, and record a reasoned skills or weight-capacity override. Separately, a route plan names a driver and its released or in-progress manifest becomes visible to that driver's linked mobile account. The shipment assignment model reserves an accepted status, but no driver API or app action can enter it; shipment assignments and route ownership do not form one versioned offer, and route start has no acknowledgement gate. Response deadlines, decline reasons, offer invalidation, driver notification, and a dispatcher recovery queue are not available.

20 / Field readiness

Prepare the driver and vehicle for the route

Configurable

Bring the released route, roster constraints, and a recorded pre-trip check together before departure, with a supervisor retaining the safety decision until policy gates are automated.

ActorsDriver, dispatcher, fleet or operations supervisor
TriggerA driver is due to begin a released collection or delivery route.

Normal path

  1. Release only a sequenced route whose active driver, required skills, planned shift, service windows, pickup-before-delivery order, and weight capacity pass the current dispatch checks.
  2. Open the released manifest on the linked driver account and confirm the intended work and vehicle before movement.
  3. Record the vehicle registration, optional odometer, notes, and every v1 pre-trip check; classify the result as safe, defects reported, or unsafe to operate.
  4. After the operation's authorized safety decision, start the route online and enable foreground location sharing where required.
Exceptions and recovery

An incomplete checklist or changed replay is rejected. An offline inspection and later location updates remain queued on the device, but route start itself is not queued and needs connectivity. A reported unsafe result remains visible to the driver and staff; current operating procedure must keep the vehicle stopped because RouteHut does not enforce that decision yet.

Resulting records

Scheduled shift, driver-linked route and stops, append-only inspection with client event ID and calculated status, audit and outbox history, route-start event, device-scoped location updates, and current-location projection.

Available as a manual, configurable readiness process rather than an automated clearance gate. The current v1 inspection covers brakes, lights, tyres, mirrors, fuel, and bodywork and is retry-safe offline; staff can inspect the latest pre- or post-trip result for each driver. RouteHut has no managed vehicle or route-to-vehicle record, does not verify the entered registration against the driver's listed vehicle, and does not require a fresh pre-trip result before showing Start route. Inspection cadence, tenant-specific checklists, structured defect capture in the mobile form, repair and supervisor clearance, and an unsafe-result route-start block remain planned depth.

Field navigation / Route execution

Follow the ordered route and navigate to each stop

Available

Carry the released stop sequence onto the driver's phone, identify the next collection or delivery, and hand its approved coordinates to road navigation.

ActorsDriver, dispatcher
TriggerThe driver starts a released route and needs to travel from the current position to each planned collection or delivery point.

Normal path

  1. Open the synchronized route manifest and review its sequence, handled count, exceptions, and first non-terminal stop highlighted as next.
  2. After route start, select Directions on any planned or arrived stop whose address has approved coordinates.
  3. Launch Google Maps with that latitude and longitude as the destination and explicitly request driving navigation.
  4. Return to RouteHut at the stop, record arrival and the collection, delivery, or exception outcome, then continue through the manifest.
Exceptions and recovery

Pending, low-confidence, failed, or missing coordinates suppress Directions. A stale manifest, incorrect pin, closed road, lost connectivity, or unavailable maps application needs driver and dispatcher review. The cached RouteHut manifest remains readable offline and stop outcomes queue locally, but route calculation, traffic response, and offline map coverage belong to Google Maps.

Resulting records

Released stop sequence, offline manifest snapshot, approved destination coordinates, route and stop progress, retry-safe arrival and outcome events, current driver location where enabled, and the operational result against each stop.

Ordered manifests, advisory next-stop guidance, offline route visibility, reviewed per-stop coordinates, and a Google Maps driving-navigation handoff are available. Directions opens only while the route is in progress and the stop remains actionable. RouteHut does not embed turn-by-turn navigation, download offline maps, supply Google place or entrance identifiers, enforce strict stop order, recalculate the operational sequence from live traffic, or receive navigation telemetry from Google Maps; a driver can still choose a later actionable stop.

Stop readiness / Communication

Contact the stop and follow current access instructions

Planned

Give an assigned driver the minimum contact and instruction context needed to complete the next stop without exposing recipient data beyond the work that requires it.

ActorsDriver, sender or recipient, dispatcher, customer service
TriggerAn upcoming collection or delivery has an access note, contact requirement, identity restriction, or arrival problem that cannot be resolved from the address alone.

Normal path

  1. Attach current stop-specific access instructions separately from a purpose-specific collection or delivery contact, including any channel restriction or validity window.
  2. Synchronize only the details needed by the assigned driver for actionable work, retaining them offline under the same device, tenant, and assignment boundary.
  3. Let the driver call or message through an operator-approved direct or masked channel, follow the instruction, and record arrival or the resulting stop outcome.
  4. Withdraw routine device access when the assignment changes or work becomes terminal while retaining the instruction snapshot and minimum auditable communication outcome required by policy.
Exceptions and recovery

A missing contact, prohibited channel, stale detail, unsafe instruction, changed recipient, unreachable contact, language barrier, or access denial moves the stop to dispatcher review or its failed-attempt path. Work may proceed without recipient details when policy allows; a driver cannot browse unrelated customer contacts or silently replace controlled instructions.

Resulting records

Purpose-specific contact reference, stop-instruction snapshot and version, authorized disclosure window, direct or masked channel, minimum communication attempt and outcome, stop event, escalation or failure reason, and retained audit evidence.

Not yet available as a controlled field workflow. Address records can hold a contact name, phone, and email for staff and external API use, but the current driver manifest exposes only the stop address, approved coordinates, customer name, parcel count and declared weight, plus generic route-stop metadata with no defined instruction contract. It does not provide dedicated sender or recipient contacts, structured stop instructions, one-tap communication, contact masking, communication outcomes, expiry, or assignment-scoped disclosure and removal.

21 / Fleet safety

Resolve a vehicle defect and return it to service

Planned

Turn a failed inspection into owned safety work, protected dispatch decisions, repair evidence, and an authorized return to service.

ActorsDriver, dispatcher, fleet or operations supervisor, maintenance provider
TriggerA pre-trip or post-trip inspection reports a defect, or an incident makes the assigned vehicle unsafe or uncertain.

Normal path

  1. Identify the vehicle and classify the reported defect; place it visibly off road when the defect may affect safe operation and block new release, assignment, or route start.
  2. Open an owned defect case with reporter, accountable assessor, severity, evidence, repair target, and every affected route or assignment.
  3. Reconcile work already in progress and replan it onto a qualified substitute vehicle when needed, preserving the original allocation, custody, and reason for change.
  4. Record assessment and rectification evidence, then require the authorized person to accept the repair or declare it unnecessary before a fresh roadworthy state returns the vehicle to service.
Exceptions and recovery

Delayed offline inspection sync, uncertain vehicle identity, an in-service roadside failure, unavailable replacement capacity, incomplete repair evidence, recurring defects, and unauthorized sign-off keep safety-critical work blocked and escalate to an accountable supervisor. Operational urgency cannot clear an unresolved safety defect.

Resulting records

Immutable inspection or in-service report, vehicle-off-road state and reason, defect case and owner, assessment, affected assignments and custody, work order, repair or no-repair-required certification, substitute allocation, authorized decision and return-to-service timestamp, and audit history.

Not yet available as a defect-resolution workflow. RouteHut currently derives safe, defects-reported, or unsafe-to-operate status from an append-only pre- or post-trip inspection, publishes the result, and shows the latest result and details to staff. Mobile now describes a safe result only as no defects reported, not as operational clearance. RouteHut does not yet maintain an independent vehicle or vehicle-off-road state, accept a separate in-service defect report, block route release, assignment, or start from an unsafe result, manage assessment and repair work, allocate a substitute vehicle, or record authorized return to service.

22 / Live operations

Monitor route progress and act on field exceptions

Available

Review active-route, stop, workload, inspection, and last-known driver-location snapshots while the delivery day is still in progress, then act on explicit exceptions.

ActorsDispatcher, operations supervisor, customer service, driver
TriggerA released route starts, a stop changes state, a driver needs assistance, or an exception requires an operational response.

Normal path

  1. Filter active routes by service date, driver, status, or search term and review each route's completed, outstanding, and exception counts.
  2. Use the loaded snapshot, select Refresh on demand, or return focus to the staff window to fetch current values; then open the route preview and ordered stops to confirm planned movement, current stop states, service windows, and shipment identity.
  3. Cross-check the driver directory for last accepted position and timestamp, active workload, and latest vehicle-inspection outcome without assuming that an open screen is continuously polling.
  4. Apply only a valid in-progress stop outcome or move the work into its delivery-failure, return, redelivery, or customer-enquiry path.
Exceptions and recovery

Route-refresh errors, missing location, invalid state transitions, and contradictory stop outcomes remain explicit. A transient driver-projection refresh failure preserves the last accepted values, including the location occurrence time; operations waits for offline replay or investigates the source event instead of treating an old position as live presence.

Resulting records

Route and stop status projections, completion and exception counts, last accepted driver-location projection with its occurrence time, append-only shipment and tracking transitions, delivery-failure reason where applicable, and audit history for mutations.

Initial, on-demand, and focus-triggered route, workload, inspection, and last-location refresh; route preview; and authorized stop management are available without background polling. This is a request-driven operational snapshot, not continuous GPS tracking. A scalable push-backed command view, unified live dispatch map, explicit location-freshness classification, geofence or delay alerts, continuously recalculated ETAs, and dynamic in-progress reoptimization remain planned depth.

23 / Disruption recovery

Recover a route after a driver or vehicle disruption

Planned

Protect people, goods, and customer promises when a breakdown, incident, illness, or device failure prevents an in-progress route from continuing.

ActorsDriver, dispatcher, operations supervisor, rescue driver, hub operator, customer service
TriggerAn active driver or vehicle cannot safely complete the remaining route and operations must recover outstanding stops and goods.

Normal path

  1. Confirm driver and public safety, record the disruption's time and exact position, secure the vehicle and load, assign an incident owner, and decide whether the route may resume or needs rescue.
  2. Freeze further execution at an explicit cut-off, ingest or account for pending offline commands, and reconcile the last accepted stop outcomes with every parcel or handling unit physically in custody. Completed and failed work stays on the original route.
  3. Choose a safe handover location and a suitable rescue driver and vehicle, then record item-level custody transfer and validate skills, shift, capacity, handling controls, and service-window impact.
  4. Create a linked successor route for only the reconciled remainder, release its exact version to the rescue driver, and communicate revised promises or unresolved exceptions to operations, customers, and recipients.
Exceptions and recovery

Unsafe roadside conditions block a physical transfer. Unclear custody, late offline commands, duplicate or superseded stop events, damaged or missing goods, customer cancellation, and unavailable qualified rescue capacity keep the original route frozen until an accountable person resolves them; a skipped stop is not a custody transfer or rescue assignment.

Resulting records

Owned incident with reason, position, and interruption cut-off; immutable original route and stop history; reconciled remaining-work and custody discrepancy set; item-level handover with actors, time, and location; linked successor route and assignment; constraint assessment or authorized override; revised promises, notifications, and append-only audit history.

Not yet available as a controlled rescue workflow. RouteHut exposes request-driven active progress, last-known driver location, idempotent offline stop outcomes, and pre-start route cancellation today. It cannot pause or deactivate an in-progress route, reconcile an incident cut-off, transfer outstanding custody, split or reassign remaining stops, link a successor route, or resume the original route. Active route stops also prevent duplicate replacement planning; marking a stop skipped closes that route exception but does not transfer goods or create recovery work.

Goods incident / Custody control

Quarantine and resolve damaged or compromised goods

Planned

Protect goods, people, and chain of custody when damage, leakage, tampering, loss, or a handling-condition breach is discovered before final handover.

ActorsDriver, hub operator, operations supervisor, customer service, customer, claims assessor
TriggerSomeone in custody finds damaged packaging, missing contents, leakage, tampering, contamination, or a temperature or handling excursion.

Normal path

  1. Protect people and the environment first: stop unsafe handling, isolate the vehicle or area when necessary, identify every affected parcel or handling unit, and record the discovery time, place, custodian, and immediate action.
  2. Open an owned incident, snapshot the last accepted custody state, classify the condition and suspected cause, and capture packaging, contents, seal, location, temperature or handling data, and photographic evidence without advancing a shipment milestone.
  3. Place the affected goods and retained packaging under an explicit hold in a controlled location; block loading, manifesting, delivery, or release while the accountable assessor determines inspection, repacking, partial release, return, salvage, disposal, and any safety or regulatory response.
  4. Record an authorized disposition and each physical custody movement, release only explicitly cleared goods, notify the permitted parties, and open a linked commercial claim when loss or liability needs separate resolution.
Exceptions and recovery

Offline capture, unknown parcel identity, unsafe substances, missing evidence, disputed responsibility, a partly affected pallet or container, and unavailable customer instructions keep the goods held. Emergency action may protect people immediately, but later reconciliation must preserve the original custody and condition history; an authorized disposition cannot erase the discovery or prior handling.

Resulting records

Owned goods incident and lifecycle state, affected-item and last-custody snapshot, suspected cause and severity, condition and seal evidence, retained-packaging record, hold scope and controlled location, safety or regulatory escalation, assessment and authorization, disposition movements, permitted notifications, linked claim where needed, and append-only audit history.

Not yet available as an owned incident lifecycle. At a hub, RouteHut can append an idempotent exception scan with a damaged, missing, security-hold, or other reason; this publishes a shipment exception, appears in recent scan history and aggregate analytics, sets the parcel projection to exception, and leaves its last custody projection unchanged. RouteHut does not capture incident evidence, open or assign a case, distinguish an operational hold from a claim, quarantine an item or location, block its next scan or route action, manage assessment and authorized disposition, or reconcile related communication and claims. POD photos and notes belong to delivery proof today, not to a goods incident.

24 / Field execution

Complete a planned collection stop

Available

Guide the assigned driver to a collection stop, record arrival and basic completion, and reconcile the shipment transition after temporary network loss.

ActorsDriver, sender, dispatcher
TriggerA released route reaches its collection stop.

Normal path

  1. Synchronize the assigned released route, start it while connected, and use the approved collection address for navigation.
  2. At the sender, select Mark arrived; the mobile app saves that update locally and shows only the assigned shipment and stop details for confirmation.
  3. After physically taking the expected goods, select Complete collection. The app records a distinct client event and immediately reflects the pending completion on the device.
  4. Replay queued arrival and completion commands in order. The server verifies the assigned driver and in-progress route, then atomically completes the stop, marks the shipment collected, publishes its tracking event, and returns the reconciled manifest.
Exceptions and recovery

Temporary connection failures leave each update pending for automatic or explicit retry. Authentication, ownership, route-state, and conflicting-event rejections require attention instead of retrying forever. If goods are unavailable, unsafe, damaged, incorrectly identified, or different in quantity, the driver must leave the collection unresolved because failed collection and acceptance-discrepancy actions are not yet available.

Resulting records

Arrived and completed route-stop states, idempotent route-stop execution events, collected shipment status, shipment tracking event, route-stop and route outbox events where applicable, mutation audit history, and a refreshed driver manifest after synchronization.

Basic assigned-route collection completion and idempotent offline replay are available. Route start still requires connectivity, and mobile requires arrival before showing Complete collection. Completion stores client time and source metadata, not event-specific GPS; separately shared driver location is not collection evidence. The server changes existing parcel projections to scanned in, but the driver does not scan or reconcile individual parcels and no parcel-custody record, sender acknowledgement, signature, photo, receipt, shortage, damage, or failed-collection outcome is created. Those controls remain planned chain-of-custody depth.

25 / Collection evidence

Verify collection and issue proof to the sender

Planned

Establish exactly what entered courier custody, in what condition, and with whose acknowledgement before the driver leaves the sender.

ActorsDriver, sender, dispatcher, customer service
TriggerA collection requires parcel-level acceptance, condition evidence, sender acknowledgement, or a customer collection receipt.

Normal path

  1. Load the versioned collection requirements for this customer, service, goods profile, and stop before work begins, including the expected items and evidence that policy requires.
  2. Scan each parcel or handling unit and reconcile the actual identity, count, weight, packaging, and condition against the booking before accepting it into custody.
  3. Let both parties review the accepted and rejected goods, then capture the sender or authorized agent plus any required signature, photo, notes, trusted timestamp, and event-specific location.
  4. Atomically complete the collection, create first-class proof of collection and custody acceptance, retain queued evidence through idempotent offline replay, and issue an immutable collection receipt through the authorized channel.
Exceptions and recovery

Missing or unreadable labels, count or weight differences, damaged or unsafe goods, refused items, denied permissions, an unavailable or unauthorized sender, and interrupted evidence uploads remain explicit. Rejected or unreconciled goods cannot be marked accepted; an evidence failure leaves completion pending or follows a policy-authorized exception rather than silently bypassing proof.

Resulting records

Evaluated policy version, collection attempt, accepted and rejected item reconciliation, condition and discrepancy outcomes, sender acknowledgement, protected evidence, event location and capture metadata, first-class proof of collection, custody transition, collection receipt and delivery status, tracking event, and audit history.

Not yet available. The current mobile collection command creates the completed route stop and shipment.collected transition with client time, source metadata, and a retry-safe client event ID. It does not capture event-specific location, scan or reconcile individual items, create parcel-custody records, identify the sender, enforce a collection-proof policy, retain signature, photo, or notes, issue a receipt, or record an acceptance discrepancy. The existing one-per-shipment ProofOfDelivery requires a recipient and is created only by the delivered transition, so it neither represents proof of collection nor supports both collection and delivery evidence as currently modelled.

26 / Exception recovery

Record a missed collection and arrange the next attempt

Planned

Explain why custody was not established, notify the right people, and reschedule the work without presenting unavailable goods as collected.

ActorsDriver, sender, dispatcher, customer service
TriggerThe goods are unavailable, the sender is closed, access is blocked, or collection cannot safely proceed.

Normal path

  1. After reaching the collection, select a tenant-configured failure reason that applies to that stop and complete any reason-specific contact attempt, notes, photo, timestamp, or location requirement.
  2. Submit one idempotent failed-attempt event. RouteHut closes only that collection stop, leaves the shipment awaiting collection, and does not create parcel acceptance or a custody transfer.
  3. Route the exception to an accountable dispatcher, who reviews the evidence and reason-specific playbook before correcting the address, time window, goods readiness, parcel details, or commercial disposition.
  4. Cancel the booking or create a linked collection attempt with its own service window, assignment, and route history; notify consented contacts and retain the original attempt.
Exceptions and recovery

The failed-attempt command queues offline and replays once; conflicting or unauthorized commands require attention. Unsafe goods or sites follow the safety escalation, disputed failures remain reviewable, and missing required evidence cannot be bypassed as a successful collection. A retry never rewrites or reopens the original stop.

Resulting records

Failed collection attempt, policy and reason version, actor, event time and location, contact attempts, notes or protected evidence, unchanged parcel custody, exception owner and SLA, linked retry or cancellation, customer notifications and delivery outcomes, any approved attempt fee, tracking event, and append-only audit history.

Not yet available. The driver app exposes Report delivery issue only for delivery stops. Although route stops can store a generic failed status, the transition service rejects every failed collection with 422 before changing the planned stop or booked shipment and before creating a route-stop execution event or outbox event. RouteHut has no collection-specific reason catalogue, evidence rules, exception owner, retry-attempt link, rescheduling command, failed-pickup notification, or attempt-fee decision; the existing delivery-failure reasons and shipment.failed transition are delivery-specific and must not be reused as collection custody history.

27 / Network operations

Move parcel custody through the hub network

Available

Record where each identified parcel was received, staged, dispatched, and received again without replacing its append-only movement history.

ActorsHub operator, linehaul supervisor, dispatcher
TriggerA parcel arrives, changes bay, loads onto a manifest, transfers, or presents an exception.

Normal path

  1. At receipt, scan the parcel number or barcode into the selected hub and optionally its active bay; for an inter-hub arrival, select the closed inbound transfer manifest.
  2. RouteHut validates the shipment state, hub, bay, manifest direction, manifest membership, and prior custody, then appends the scan with its occurrence time and unique client event ID.
  3. Add at-hub parcels to a draft manifest, review its frozen membership when closed, and scan each expected parcel out at the origin to place it in transit against that manifest.
  4. At the destination, scan each parcel in against the same closed transfer manifest, review rejected outcomes and discrepancies, and stage accepted parcels in the destination hub.
Exceptions and recovery

An exact client-event replay is idempotent and a changed replay conflicts. An unknown identifier is rejected without inventing custody; a known parcel with an invalid hub, bay, manifest, shipment state, or prior movement creates an open discrepancy while its accepted custody stays unchanged. A reasoned exception scan changes the parcel projection to exception but does not move custody, and resolving a discrepancy does not silently perform the corrective scan.

Resulting records

Append-only parcel scans, per-item batch outcomes, current hub, bay, or in-transit manifest projection, parcel status, frozen manifest membership, hub and shipment tracking events, transactional outbox events, open or resolved scan discrepancies, and actor audit history. A collected shipment becomes in transit only after all of its parcels have scanned out.

Parcel-level scan in, return receipt, bay assignment, reasoned exception, closed-manifest scan out, destination receipt, idempotent replay, current-custody lookup, and discrepancy review are available in the staff application and API. Mutations are limited to owners, administrators, and dispatchers; there is no dedicated hub-operator role yet. RouteHut does not yet model a linehaul vehicle or journey, dock loading and unloading, seal control, manifest departure and arrival states, handling-unit aggregation, whole-load expected-versus-actual closeout, offline scanner buffering, or scanner hardware integration.

28 / Hub throughput

Record and reconcile a bounded parcel batch

Available

Submit up to 100 parcel identifiers under one hub movement context and keep accepted, replayed, and rejected outcomes separate.

ActorsHub operator, sort supervisor, dispatcher
TriggerAn inbound, return, outbound, bay-assignment, or exception movement contains too many parcels for one-at-a-time entry.

Normal path

  1. Select scan in, return receipt, scan out, bay assignment, or exception and provide the bay, closed manifest, or reason required by that movement.
  2. Enter or paste one barcode or parcel number per line. The staff screen trims blanks, removes repeated identifiers, and accepts between 1 and 100 unique values.
  3. Submit one shared occurrence time with a newly generated client event ID for every identifier; RouteHut validates and commits each parcel independently rather than rolling back the accepted remainder.
  4. Review recorded, already-recorded, and rejected counts, investigate the rejected identifiers, and reconcile any open custody discrepancies before the next movement.
Exceptions and recovery

An empty or oversized request, missing values, or duplicate event IDs invalidates the whole API batch. Unknown parcels, conflicting event IDs, invalid custody transitions, and stale manifest or bay context reject only the affected item. An exact API replay with the original event ID is idempotent; a changed replay conflicts, and a known contradictory movement opens a discrepancy without changing custody.

Resulting records

Independent append-only parcel scans and client event IDs, current-custody projections, per-item response outcomes and aggregate response counts, rejected-item reasons, discrepancy records for known conflicts, tracking and outbox events, and actor audit history. The request itself is not retained as a durable batch aggregate.

The staff scan station and API support bounded lists of up to 100 identifiers across the five hub scan types. The browser shows aggregate counts and details for at most the first five rejected items. It creates fresh event IDs and one submission timestamp each time, so a manual browser retry is not a preserved idempotent replay or a record of each physical scan time. Continuous trigger capture, durable scan sessions, offline buffering, device attribution, audible, haptic, or LED feedback, handheld integration, exception export, and cage, bag, pallet, or wave-level aggregation remain planned throughput controls.

29 / Hub sortation

Sort parcels into controlled hub bays

Configurable

Move received parcels into a named working bay while keeping their physical location visible and every reassignment auditable.

ActorsHub operator, sorter, shift supervisor, dispatcher
TriggerA parcel has been received at the hub and must be staged for an outbound manifest, local route, return process, exception area, or another controlled activity.

Normal path

  1. Configure the hub's active working bays for the operation's current sort and staging process.
  2. Select the intended bay and scan one parcel or submit a bounded list of parcel identifiers.
  3. Validate that each parcel is currently held at the selected hub, then append the bay-assignment scan without changing its shipment milestone.
  4. Review current custody by bay, correct rejected items separately, and use the staged population to prepare the next manifest or movement.
Exceptions and recovery

A parcel at another hub, an inactive or foreign bay, an unknown identifier, or a conflicting replay is rejected without moving custody. The operator investigates the current record, chooses a valid bay, or resolves the related discrepancy before scanning again.

Resulting records

Bay configuration, append-only bay-assignment scan and client event ID, updated current-custody projection, per-item batch outcome, assignment outbox event, and actor audit history.

Manual, tenant-configured bay assignment is available for individual parcels and bounded batches, with active-bay and current-hub validation. RouteHut does not yet recommend a destination bay from postcode, service, route, manifest, cut-off, capacity, or handling rules, nor does it manage conveyor or sortation hardware, chute capacity, or a wave closeout.

30 / Hub exception control

Investigate and resolve a contradictory parcel scan

Available

Stop an invalid physical movement from corrupting current custody, investigate the parcel's recorded location, and close the exception without rewriting scan history.

ActorsHub operator, dispatcher, operations supervisor, viewer
TriggerA known parcel is scanned in a way that conflicts with its shipment state, current hub, bay, or closed transfer manifest.

Normal path

  1. Attempt the scan with a unique device event ID; RouteHut validates the parcel, eligible shipment state, hub, bay, manifest, and current custody.
  2. Reject a contradictory movement, preserve the existing custody projection, and raise an open discrepancy for the known parcel and attempted scan.
  3. Review open discrepancies alongside parcel identity, shipment, scan reason, recent scan activity, manifest membership, and current custody.
  4. Perform any valid corrective scan separately, then have an owner, administrator, or dispatcher close the discrepancy with a required resolution note.
Exceptions and recovery

An unknown parcel is rejected without inventing a discrepancy. A replay with the same event identity is idempotent only when its request matches; a changed replay is rejected. A resolved discrepancy cannot be resolved again, and resolution alone never moves the parcel.

Resulting records

Rejected scan response, open discrepancy linked to parcel and hub, unchanged custody, corrective append-only scan where needed, required resolution note and timestamp, resolution outbox event, and actor audit history.

Known-parcel custody conflict detection, per-item batch outcomes, open and resolved filtering, role-controlled resolution, append-only scan history, required notes, audit records, and resolution events are available. Assigned exception ownership, SLA aging, structured resolution codes, evidence attachments, notifications, and scan-again guidance remain planned depth.

31 / Inventory control

Sweep the hub and reconcile stranded parcels

Planned

Compare what the system says is in each bay with what operators can physically find, then give every missing, unexpected, or aging parcel an owned outcome.

ActorsHub operator, shift supervisor, loss-prevention or customer-service investigator
TriggerA scheduled shift-end sweep, a bay handover, a dwell-time breach, or an enquiry suggests that physical stock and recorded custody may differ.

Normal path

  1. Open a time-bound sweep for the hub or selected bays using the recorded custody population as the expected inventory.
  2. Scan each parcel physically present, preserving already-counted responses without creating false movement events.
  3. Close the count and compare expected, found, unexpected, missing, misplaced, and over-dwell parcels.
  4. Correct a known location with an append-only bay scan, assign unresolved variances for investigation, and close the sweep only when every variance has an accountable disposition.
Exceptions and recovery

An offline or interrupted count resumes without losing accepted scans. Parcels moved during the sweep, unreadable labels, duplicate scans, late manifest activity, and items found in the wrong bay remain explicit rather than being silently counted away.

Resulting records

Sweep scope and expected snapshot, physical count events, variance categories, dwell-time breach, investigation owner and notes, corrective custody scans, resolution outcome, timestamps, and supervisor audit history.

Not yet available as a counted reconciliation workflow. RouteHut currently provides a page-bounded current-custody list by hub, optional bay filtering, parcel, barcode, or shipment search, and the last custody event. It does not yet snapshot expected inventory, capture non-movement count scans, calculate dwell thresholds, manage sweep progress, classify variances, assign investigations, or require closeout approval.

Hub containerization / Bagging

Build, seal, move, and break a parcel container

Planned

Group parcels into a scannable bag, cage, tote, or roll container so the network can move one controlled handling unit while preserving every child's identity and custody.

ActorsHub sorter, loader, linehaul operator or driver, destination receiver, shift supervisor
TriggerSorted parcels share a destination, service, departure, or handling rule and should travel as one protected operational unit.

Normal path

  1. Create a uniquely barcoded container with its type, origin, destination, capacity, and intended movement.
  2. Scan eligible parcels into the open container, rejecting custody, route, handling, duplicate-membership, or capacity conflicts independently.
  3. Reconcile the contents, close the immutable membership snapshot, apply and record the seal, then add the container to the outbound manifest.
  4. Scan the closed container through departure and receipt, project accountable custody to its children, then break it at the authorized destination and reconcile every expected parcel before reuse or retirement.
Exceptions and recovery

A wrong-destination parcel, duplicate or cyclic nesting, over-capacity container, unreadable label, damaged container, seal mismatch, missing child, unexpected child, or parcel moved separately remains explicit. An authorized break or correction appends membership, seal, and custody history rather than silently rewriting the closed load.

Resulting records

Container identity and type, barcode, parent-child membership history, immutable close snapshot, capacity result, seal and break events, manifest allocation, container and projected parcel custody, receipt reconciliation, discrepancies, lifecycle state, and audit history.

Not yet available. RouteHut currently models parcel identities, per-parcel custody, hub bays, bounded parcel scan batches, and manifests whose items are individual parcels. It has no reusable container aggregate, parent-child or nested handling-unit membership, container barcode and capacity, seal lifecycle, container-level manifest item, projected child custody, or break-and-reconcile workflow.

32 / Load control

Build, reconcile, and close a parcel manifest

Available

Turn a working list of eligible parcels into an immutable expected load for outbound or inter-hub scanning.

ActorsHub operator, loader, dispatcher, linehaul supervisor
TriggerA hub needs a controlled parcel list for an outbound movement or a transfer to another hub.

Normal path

  1. Create a uniquely numbered outbound or transfer manifest from the origin hub, naming a destination hub for a transfer.
  2. Add eligible parcels individually or in a bounded batch of up to 100 identifiers, and review each added, already-present, or rejected outcome.
  3. Remove mistakes while the manifest remains draft and reconcile its visible item list before release.
  4. Close the non-empty manifest to freeze membership, then use that expected load when parcels are scanned out and, for a transfer, received at the named destination.
Exceptions and recovery

Unknown or ineligible parcels, duplicate membership on another open manifest, an empty close attempt, or edits after closure are rejected. A draft that will not depart can be cancelled so its parcels may join a replacement manifest; closed history remains immutable.

Resulting records

Draft, closed, or cancelled manifest; immutable closed item membership; per-item batch outcomes; creation, item, closure, and cancellation events; close timestamp; and actor audit history.

Outbound and transfer manifests, individual and bounded batch membership, draft correction and cancellation, non-empty closure, immutable closed contents, and subsequent manifest-validated scan-out are available. Manifests are not yet assigned to a scheduled linehaul leg, local route, vehicle, driver, carrier, departure slot, seal, or printable transport document, and they do not yet provide whole-load expected-versus-actual closeout.

33 / Network movement

Plan and reconcile an inter-hub transfer

Configurable

Move a controlled load between depots while preserving exactly what was expected, what departed, what arrived, and who owns every discrepancy.

ActorsOrigin hub operator, linehaul planner, driver or carrier, destination hub operator, operations supervisor
TriggerParcels must move from one hub to another to reach the next branch, sort, route, or delivery region.

Normal path

  1. Select the origin and destination hubs and create the transfer manifest for the intended departure.
  2. Add eligible parcels, resolve membership conflicts, and close an immutable expected-load snapshot.
  3. Assign the linehaul movement, scan each parcel out against the closed manifest, and record departure custody.
  4. Scan the load into the named destination, reconcile missing or unexpected goods, then release received parcels into destination sorting and separately planned local delivery rounds.
Exceptions and recovery

Unknown or duplicate parcels, custody at another hub, late additions, short loading, seal mismatch, vehicle disruption, missed departure, partial arrival, and destination mismatch stay visible. Corrections append scans or discrepancy resolutions without rewriting the closed manifest.

Resulting records

Transfer manifest and immutable item list, linehaul leg, driver or carrier and vehicle assignment, departure and arrival scans, in-transit custody, seal and timestamps, discrepancies and resolutions, ETA history, and audit trail.

Transfer manifests with tenant-safe origin and destination hubs, immutable contents after closure, validated scan-out and destination scan-in, current custody, idempotent bounded batches, and discrepancy records are available. RouteHut does not yet maintain a scheduled linehaul leg, carrier or vehicle assignment, seal control, departure and arrival status, transfer ETA, or whole-load closeout.

34 / Partner capacity

Tender work to a partner carrier and reconcile execution

Planned

Extend capacity or coverage through an approved transport partner while retaining a controlled offer, custody chain, service outcome, evidence, and payable amount.

ActorsTransport planner, dispatcher, approved partner carrier, hub operator, customer service, finance administrator
TriggerCommitted shipment, route, or linehaul work needs external capacity, specialist capability, or geographic coverage.

Normal path

  1. Select eligible work and an approved carrier service with the required coverage, capacity, compliance, and agreed rate.
  2. Issue a versioned tender containing the operational requirements and acceptance deadline; record the carrier's acceptance before allocating the work.
  3. Release only the necessary shipment and stop data, transfer custody at handover, and ingest milestones, exceptions, and proof through controlled partner access or staff operations.
  4. Reconcile every allocated item as delivered, failed, returned, or unresolved, then compare the accepted rate and adjustments with the carrier charge before customer billing closes.
Exceptions and recovery

A decline, timeout, late rejection, changed load, provider outage, duplicate callback, missing proof, service failure, charge variance, or unauthorized subcontract remains explicit. Operations can withdraw or re-tender unresolved work without rewriting prior offers, acceptance, custody, or evidence.

Resulting records

Carrier profile and qualification, service and rate agreement, tender versions and decisions, allocation and custody handover, shared-data audit, partner milestones and POD, exception ownership, payable reconciliation, adjustments, and performance history.

Not yet available. RouteHut currently assigns released routes and shipment work to tenant-owned driver identities and supports external API credentials, webhooks, manifests, custody events, POD, and billing records. It does not yet maintain a carrier master, qualification and compliance, service or rate agreements, tender and acceptance lifecycle, scoped subcontractor workspace, carrier custody handover, payable reconciliation, or partner scorecard.

35 / Departure control

Load the route and reconcile departure

Planned

Prove that the parcels physically leaving the hub match the released route, assigned driver, and vehicle before field execution starts.

ActorsHub loader, dispatcher, driver, operations supervisor
TriggerA released collection or delivery route is ready to load and depart from the hub.

Normal path

  1. Open the released route and its expected outbound load against the assigned driver and vehicle.
  2. Scan each parcel or handling unit into the vehicle and validate identity, route membership, custody, and capacity.
  3. Resolve missing, unexpected, duplicate, damaged, or misrouted items; require an authorized reason for any controlled short load.
  4. Close an immutable load snapshot, record the departure seal or handover where required, transfer custody to the driver, and permit route start.
Exceptions and recovery

Offline scanners, stale route changes, parcel custody at another hub, capacity failure, broken seals, and unresolved discrepancies block clean departure. A supervised override records exactly what left and what remains owned at the hub.

Resulting records

Route-linked load manifest, expected-versus-scanned reconciliation, load scans, discrepancies and resolutions, driver and vehicle handover, departure seal, custody transitions, route-start decision, and audit history.

Not yet available as a route departure workflow. RouteHut currently supports draft and closed outbound or transfer manifests, bounded parcel batches, scan-out against a closed manifest, custody projections, and discrepancy resolution. Manifests are not yet linked to a route, driver, or vehicle, and route start does not enforce a reconciled physical load.

Controlled handover / Recipient verification

Verify the recipient before releasing controlled goods

Planned

Apply an explicit OTP or identity policy when a name, photograph, or signature alone is not sufficient authority to transfer custody.

ActorsCustomer or compliance owner, recipient, driver, dispatcher, customer service
TriggerA shipment's service, value, contents, customer policy, or recipient instruction requires verified handover to an authorized person.

Normal path

  1. Apply the versioned verification policy at booking, including the permitted method, recipient authority, attempt limits, and approved fallback.
  2. Create a shipment- and attempt-bound challenge, store only its protected verifier, and send the one-time code to the authorized recipient through an approved channel.
  3. At the stop, let the driver validate the presented code or record the minimum identity-check result before exposing the completion action.
  4. On successful verification, capture the required POD and transfer custody without retaining the raw code or unnecessary identity-document data.
Exceptions and recovery

A missing, expired, reused, or repeatedly incorrect code, changed recipient, unavailable network, identity mismatch, suspected fraud, or inaccessible verification channel blocks ordinary handover. Operations can resend or rotate the challenge, approve a reasoned alternate method, reschedule, or return the goods without falsely recording delivery.

Resulting records

Verification-policy snapshot, protected challenge and expiry, notification outcome, bounded validation attempts, successful method and timestamp, minimal identity result, override authority and reason, POD, custody transition, and audit history.

Not yet available as recipient authentication. RouteHut's proof contract accepts an otp proof-type label, and staff can record that label on a POD, but the platform does not generate or deliver one-time challenges, store protected verifiers, enforce expiry or attempt limits, validate a code in the driver app, manage identity-check policy, or gate delivery completion on successful verification.

36 / Field execution

Complete a last-mile delivery with durable proof

Available

Execute a local delivery round and complete each stop with recipient details, photo or signature evidence, location, and retry-safe synchronization.

ActorsDriver, recipient, dispatcher, customer service
TriggerA shipment is released onto a local delivery route and the driver reaches its recipient stop.

Normal path

  1. Confirm arrival and select the delivery outcome.
  2. Capture recipient details and required evidence.
  3. Review the photo or signature before submission.
  4. Upload evidence and complete delivery idempotently.
Exceptions and recovery

Offline commands and photos stay on the device until accepted. Replays return the original outcome; rejected commands remain visible for correction.

Resulting records

Proof of delivery, protected media, terminal route stop, delivered shipment, tracking history, and notification events.

37 / Evidence quality

Validate POD quality before the driver leaves

Planned

Catch unreadable, incorrectly framed, privacy-sensitive, or location-inconsistent proof while the handover can still be verified or photographed again.

ActorsDriver, recipient, dispatcher, customer service, operations supervisor
TriggerA delivery requires photo evidence that must remain useful for customer confirmation, enquiry, or dispute resolution.

Normal path

  1. Guide the driver to frame the parcel or handover clearly without capturing unrelated sensitive information.
  2. Check focus, exposure, orientation, file integrity, and policy-required metadata on the device; crop, rotate, or retake before submission where needed.
  3. Compare capture time and location with the stop and flag material inconsistencies for an explicit decision.
  4. Accept usable proof or send a reasoned exception to supervised review or recollection while preserving the original evidence.
Exceptions and recovery

Denied permissions, poor focus, darkness, wrong goods, privacy concerns, location mismatch, and offline checks remain visible. Automated signals advise or enforce tenant policy but never silently alter or replace the original capture.

Resulting records

Original evidence, derived preview and quality signals, capture metadata, acceptance or rejection decision, retake history, supervisor review, and append-only audit history.

Not yet available as a quality workflow. The driver app currently captures or selects a photo, previews its dimensions, supports retake and removal, preserves it for offline retry, records recent location, and enforces a 10 MiB limit. Automated image checks, guided crop or rotation, location-consistency policy, and staff approval or rejection remain to be built.

38 / Multi-piece exception

Deliver part of a shipment and reconcile the remainder

Planned

Record exactly which parcels or handling units the recipient accepted and keep every short, damaged, refused, or missing unit under explicit custody and recovery.

ActorsDriver, recipient, dispatcher, hub operator, customer service, finance administrator
TriggerA multi-piece shipment reaches delivery but only some of its expected goods can be handed over.

Normal path

  1. Scan or confirm every expected parcel or handling unit at the stop.
  2. Record an accepted, short, damaged, refused, or missing outcome and supporting evidence for each item.
  3. Capture recipient proof for the accepted subset and close the attempt as partial rather than fully delivered.
  4. Keep the remainder in custody for redelivery, return, investigation, claim, and any controlled billing adjustment.
Exceptions and recovery

Duplicate or stale submissions replay safely, and contradictory item outcomes are rejected. The shipment cannot present as fully delivered until every expected item has a terminal, reconciled outcome.

Resulting records

Delivery attempt, item-level outcomes, accepted-item POD links, remaining custody, discrepancy or exception, follow-up route or return work, notifications, charge adjustment, and audit history.

Not yet available. RouteHut's current delivery transition marks every parcel delivered and stores one shipment-level POD, so a partially accepted consignment must not be completed through the existing command.

39 / Exception recovery

Record a failed delivery and choose the next action

Configurable

Preserve why the attempt failed and keep the shipment visible for an operational decision instead of presenting it as delivered.

ActorsDriver, dispatcher, customer service, recipient
TriggerThe recipient is unavailable, refuses the goods, the address is inaccessible, or delivery cannot safely complete.

Normal path

  1. Select a structured failure reason and add useful notes.
  2. Capture supporting location or evidence where policy requires it.
  3. Synchronize the failed attempt and alert operations.
  4. Decide whether to reassign, reschedule, return, or resolve the exception.
Exceptions and recovery

Tenant policy determines which failure reasons require evidence and which next action is permitted. The original attempt remains append-only history.

Resulting records

Failed stop, reasoned tracking event, operational exception, evidence where required, and subsequent route or return history.

Failure capture is available. Richer tenant-governed redelivery and return orchestration continues to mature.

40 / Exception recovery

Return undelivered goods and release a new attempt

Configurable

Bring failed goods back under hub custody, reconcile every parcel, and create a fresh delivery attempt without erasing the original failure.

ActorsDriver, hub operator, dispatcher, customer service
TriggerOperations chooses return and redelivery after a failed delivery attempt.

Normal path

  1. Retain the failed stop and its reason as completed history.
  2. Scan every returned parcel into the receiving hub and manifest.
  3. Confirm the shipment is eligible only after custody is reconciled.
  4. Release a new route and complete the renewed delivery attempt.
Exceptions and recovery

Redispatch is blocked while any parcel has not returned. Duplicate scans remain idempotent, and damaged or missing goods stay visible for a separate operational decision.

Resulting records

Original failed attempt, return scans, hub custody, new route stops, renewed out-for-delivery event, final outcome, and audit history.

Failure, hub return, and controlled redelivery are available; the permitted reason codes and recovery choice remain tenant-governed.

41 / Reverse logistics

Collect a customer return and reconcile it to the merchant

Planned

Create a controlled reverse movement from recipient to merchant or return facility, linked to the original order without rewriting its completed delivery.

ActorsCustomer service, recipient, driver, return facility, merchant
TriggerA customer authorizes a return, exchange, repair, recall, or reusable-packaging collection.

Normal path

  1. Create a return request linked to the original shipment or as a standalone movement.
  2. Validate eligibility, collection window, item identity, and return destination.
  3. Collect and scan the returned goods with condition evidence.
  4. Track custody to the merchant or facility and record receipt or disposition.
Exceptions and recovery

Wrong, missing, damaged, or unavailable goods remain explicit outcomes. Rescheduling, rejection, partial acceptance, and disposal decisions append history without changing the original delivery proof.

Resulting records

Return authorization, linked reverse shipment, handling units, condition evidence, collection and custody events, receipt outcome, charges or credits, and audit history.

Not yet available. Current return scanning covers undelivered goods after a failed attempt; customer-requested reverse logistics needs its own authorization, pricing, collection, and receipt lifecycle.

42 / Route closeout

Close the route and reconcile the driver return

Planned

Finish the operating day only after every stop, parcel, exception, returned item, and vehicle concern has an accountable outcome.

ActorsDriver, dispatcher, hub operator, fleet or operations supervisor
TriggerThe final planned stop is handled or the driver returns with incomplete work, goods, equipment, or an unresolved incident.

Normal path

  1. Synchronize all queued stop, POD, location, and inspection updates before accepting the route summary.
  2. Reconcile every planned stop and parcel against delivered, failed, returned, transferred, or explicitly missing custody.
  3. Scan returned goods into the hub, hand over documents or controlled items, and record a post-trip vehicle inspection and odometer.
  4. Assign every discrepancy to a recovery workflow, then let the supervisor accept closeout and release the driver and vehicle.
Exceptions and recovery

Pending offline commands, unresolved custody, missing POD, cash or equipment imbalance, vehicle defects, and contradictory stop states block clean closeout. Each issue remains owned and auditable instead of being hidden by a completed route status.

Resulting records

Route closeout summary, stop and parcel reconciliation, hub-return scans, post-trip inspection, discrepancy ownership, supervisor acceptance, driver or vehicle release, and append-only audit history.

Not yet available as an operational closeout. RouteHut automatically marks a route completed and emits a completion event when all stops become terminal, while route and performance views expose that result. The mobile app currently records only pre-trip inspections; return reconciliation, post-trip inspection, unresolved-custody gating, and supervisor sign-off remain to be built.

43 / Customer service

Trace a shipment and answer a delivery enquiry

Available

Answer “where is this shipment?” from the same operational record used by dispatch, hubs, drivers, tracking, proof, and billing.

ActorsCustomer service, dispatcher, account manager, customer, recipient
TriggerA customer or recipient asks for progress, expected next movement, an exception explanation, or confirmation of delivery.

Normal path

  1. Search by shipment number, customer, status, service area, or active driver and open the matching shipment.
  2. Confirm the latest state, collection and delivery plan, assigned driver, parcel identities, and current operational handoff.
  3. Read the append-only tracking chronology and inspect POD, charge, or public-tracking details relevant to the enquiry.
  4. Share the privacy-safe tracking link or explain the next action; route a real discrepancy into the appropriate exception, redelivery, dispute, or claims workflow.
Exceptions and recovery

No match, ambiguous searches, unauthorized tenant access, missing scans, and conflicting operational signals remain visible. Staff investigate the source workflow instead of manually changing a status to make the timeline appear complete.

Resulting records

Tenant-scoped shipment detail, current assignment, parcel state, tracking history, custody and POD evidence, charges, public-tracking handoff, and any append-only exception or recovery action raised from the enquiry.

Shipment search, detail, tracking, assignment, parcel, charge, POD, and public-link review are available. A formal customer-service case, conversation log, owner, response SLA, and escalation queue are not yet available.

44 / Service resolution

Own and resolve a customer-service case

Planned

Turn a complaint or complex enquiry into accountable work with one owner, a complete conversation, clear response commitments, and an auditable outcome.

ActorsCustomer service, customer, recipient, operations, finance or claims specialist
TriggerAn enquiry cannot be answered immediately, a promised action needs follow-through, or a customer raises a service complaint.

Normal path

  1. Verify the requester and capture the issue from an authorized channel without exposing another customer's shipment.
  2. Link the relevant shipment, POD, invoice, notification, or route evidence; classify priority, category, and response SLA.
  3. Assign an owner, record customer-visible and internal communications, and coordinate operational, claims, or finance actions.
  4. Confirm the resolution, notify the requester, close with a reasoned outcome, and reopen the same case if the complaint recurs.
Exceptions and recovery

Duplicate contacts merge without losing history. Identity uncertainty, cross-tenant references, abusive content, missed SLA, missing evidence, and disputed closure escalate to an accountable queue rather than creating untracked side conversations.

Resulting records

Customer-service case, verified parties, linked operational records, category and priority, owner, SLA timers, messages and attachments, tasks, escalations, resolution, reopen history, and audit trail.

Not yet available. RouteHut currently provides tenant-scoped shipment search, tracking chronology, POD, notification, billing, exception, and audit records needed to investigate an issue, but it has no case aggregate, conversation log, ownership queue, response SLA, escalation, or reopen lifecycle.

45 / Customer experience

Keep the recipient informed without exposing private operations

Available

Share a privacy-safe tracking page and consent-aware notifications derived from the operational record.

ActorsRecipient, customer service, notification provider
TriggerA shipment is booked, changes status, approaches delivery, or completes.

Normal path

  1. Issue an opaque public tracking token.
  2. Send tracking communication only to an opted-in contact.
  3. Project customer-safe milestones from internal events.
  4. Present delivery completion and authorized POD summaries.
Exceptions and recovery

Invalid or expired access is rejected without revealing whether another shipment exists. Provider attempts and delivery events remain auditable.

Resulting records

Public tracking projection, contact consent, notification, provider attempt, and SendGrid event history.

46 / Communication operations

Deliver and recover a recipient tracking email

Available

Follow a consented tracking email from committed shipment milestone through provider acceptance and final delivery outcome, then recover failures without creating duplicate notification records.

ActorsCustomer-service agent, dispatcher, tenant administrator, opted-in customer contact, email provider
TriggerA shipment is booked, collected, sent out for delivery, delivered, or marked as a failed delivery.

Normal path

  1. Confirm that the customer contact has a valid email address and explicit tracking-email consent.
  2. Commit the shipment milestone; RouteHut creates one durable notification for that contact and event, ensures a public tracking token, and queues delivery after the transaction commits.
  3. Track each provider attempt separately from the delivery record, distinguishing provider acceptance from a signed delivered, bounce, or dropped callback.
  4. Filter failed notifications, inspect attempt and provider-event history, correct a transient provider or configuration issue, and queue an authorized retry.
Exceptions and recovery

No consent or email means no notification is created. Provider errors receive bounded job retries; duplicate signed callbacks are ignored. A bad historical recipient remains attached to its failed record, so staff correct or disable the contact for future milestones rather than rewriting that delivery.

Resulting records

Contact consent, public tracking token, one delivery per contact and tracking event, numbered attempts, provider event outcomes, delivery or failure events, error detail, delivery timestamp, and manual-retry audit entry.

Consented milestone email, post-commit queuing, five-attempt provider recovery, SendGrid dynamic templates, signed outcome callbacks, callback deduplication, retained diagnostics, staff filtering, and failed-delivery retry are available. SMS, WhatsApp, recipient preference centres, suppression-list automation, address-correction resend, and campaign communication remain planned depth.

47 / Delivery communication

Keep the recipient's delivery promise current

Planned

Turn route execution into a bounded arrival window and proactive delay update without claiming false precision.

ActorsRecipient, customer, dispatcher, customer service, driver, notification provider
TriggerA route is released or starts, the shipment reaches a communication milestone, or execution materially changes the expected arrival.

Normal path

  1. Derive an initial delivery window from the booked promise, route order, service durations, and provider travel metrics.
  2. Refresh the projected arrival from completed stops and current position, recording when the estimate was calculated and how reliable it is.
  3. Notify an opted-in recipient at tenant-defined milestones such as out for delivery, a bounded approaching window, or a material delay.
  4. Publish a revised promise and reason after a meaningful route change, keeping staff, public tracking, and notification history aligned.
Exceptions and recovery

Stale or missing location, an offline driver, provider failure, route rescue, invalid contact details, withdrawn consent, and notification failure widen or suppress the estimate. RouteHut shows the latest trustworthy status rather than inventing precision.

Resulting records

Projection snapshots, calculation source and freshness, confidence or window, milestone decisions, consent, notification attempts and provider events, revised promises and reasons, and audit history.

Not yet available as a proactive ETA workflow. RouteHut currently stores route-level planned duration, exposes an optional stop arrival estimate, compares estimated and completed stop times in analytics, and sends consent-aware emails for selected tracking events. Continuous recalculation, estimate confidence, delay detection, milestone policy, and ETA-specific communication remain to be built.

48 / Recipient self-service

Request a delivery preference or pre-attempt change

Planned

Let an authorized recipient request a safer time, access instruction, alternate recipient, safe place, or address correction before the delivery attempt.

ActorsRecipient, customer service, dispatcher, driver, customer
TriggerThe recipient opens tracking and realizes the planned delivery cannot be completed as booked.

Normal path

  1. Authenticate the recipient through a shipment-scoped link and any risk-based verification required by policy.
  2. Present only the preference types still allowed for the shipment, service, customer contract, and operational cutoff.
  3. Validate address, price, service window, route capacity, and customer authorization before accepting the request.
  4. Append the approved instruction, replan affected work, and notify operations, the driver, customer, and recipient.
Exceptions and recovery

Late changes, restricted goods, high-risk handovers, invalid addresses, unavailable windows, material price changes, and failed identity checks are rejected or escalated to customer service. The original booking remains visible alongside the approved change.

Resulting records

Recipient verification, preference or change request, policy decision, revised delivery instruction or address version, route impact, charge adjustment where applicable, notifications, and audit history.

Not yet available. Public tracking is read-only today, and staff can orchestrate return and redelivery after a failed attempt; recipient-initiated pre-delivery changes require their own authorization, policy, pricing, and replanning lifecycle.

49 / Delivery evidence

Review and retrieve proof of delivery

Available

Find the completed shipment, inspect its delivery evidence, and share only the level of proof appropriate to staff, integrations, or the public recipient view.

ActorsCustomer service, operations, account manager, customer integration, recipient
TriggerA customer asks who received a shipment, needs the delivery photo, or must reconcile completed work.

Normal path

  1. Search the delivered shipment and open its POD history in the staff workspace.
  2. Review the recipient confirmation, proof method, capture time, location accuracy, notes, and attached evidence.
  3. Load staff evidence through the authenticated same-origin media path, without exposing the private object-store address as the product URL.
  4. For an approved integration, use a pod:read credential to retrieve metadata and request an audited short-lived evidence download.
Exceptions and recovery

Missing proof, absent evidence, expired access, insufficient scope, and cross-tenant requests are rejected without leaking private data. The public tracking page shows only a privacy-safe proof summary and never the recipient identity or evidence image.

Resulting records

Immutable POD metadata and attachment, staff evidence-view audit event, scoped download issuance and expiry, customer reconciliation evidence, and privacy-safe public projection.

Authenticated staff viewing and scoped external retrieval are available. Evidence remains private in object storage; the staff browser receives it through the same RouteHut host, while external downloads are intentionally time-limited and audited.

50 / Delivery resolution

Investigate a delivery dispute without rewriting proof

Planned

Respond when a recipient denies receipt, reports a misdelivery, or challenges the recorded handover while preserving the original delivery event and evidence.

ActorsRecipient, customer service, operations supervisor, driver, customer, finance administrator
TriggerA delivered shipment is reported as not received, handed to the wrong person or place, or supported by unclear or contested proof.

Normal path

  1. Open a dispute linked to the shipment, delivery attempt, POD, claimant, and reported reason.
  2. Preserve and review the route, location, custody scans, recipient confirmation, photo or signature, driver notes, communications, and evidence-access history.
  3. Record a reasoned outcome such as confirmed delivery, misdelivery, insufficient evidence, recovery required, or escalation to a commercial claim.
  4. Communicate the decision and create any retrieval, redelivery, credit, driver follow-up, or claims action without changing the original delivery history.
Exceptions and recovery

Duplicate, late, incomplete, abusive, or privacy-sensitive reports remain controlled case outcomes. New evidence, appeals, and corrected decisions append activity; they never replace the original POD or tracking event.

Resulting records

Delivery dispute, evidence snapshot and access history, investigation activity, reasoned decision, customer and recipient communication, corrective action, financial adjustment where approved, and audit history.

Not yet available. RouteHut retains immutable tracking and POD evidence and supports authenticated retrieval today, but it does not yet manage a delivery-dispute case, investigation ownership, decision, or corrective-action lifecycle.

51 / Customer resolution

Investigate loss or damage and settle a customer claim

Planned

Turn operational evidence into a controlled claim decision with clear ownership, liability, communication, and financial settlement.

ActorsCustomer service, claims assessor, operations, customer, finance administrator
TriggerA customer reports missing, damaged, short, or misdelivered goods, or an operational exception needs formal resolution.

Normal path

  1. Open a claim linked to the shipment, parcel, claimant, and service terms.
  2. Collect photos, POD, custody scans, declared value, correspondence, and supporting documents.
  3. Assess responsibility and approve, partially approve, reject, or request more information.
  4. Record settlement, credit, recovery, and customer communication without rewriting operational history.
Exceptions and recovery

Duplicate, late, unsupported, fraudulent, or incomplete claims remain reasoned decisions. Reopening and escalation append new activity while preserving the original assessment.

Resulting records

Claim case, evidence bundle, assessment and decision, liability allocation, correspondence, credit or payment adjustment, recovery action, and audit history.

Not yet available. RouteHut records damage, missing-parcel, custody, tracking, and POD evidence today, but does not yet manage the commercial claim and settlement lifecycle.

52 / Field settlement

Collect cash on delivery and reconcile driver remittance

Planned

Carry an authorized amount-to-collect through delivery, driver cash custody, depot handover, and customer settlement without treating cash as an ordinary back-office payment.

ActorsCustomer, recipient, driver, depot cashier, finance administrator
TriggerA booked shipment requires payment from the recipient before goods may be handed over.

Normal path

  1. Record the authorized amount, currency, payment methods, and handover rule on the shipment.
  2. Present the amount to the driver and capture payment before completing delivery.
  3. Issue a receipt and place the collected value under driver cash custody.
  4. Remit at the depot and reconcile the driver bag, shipment, customer liability, fees, and payout.
Exceptions and recovery

Underpayment, refusal, no change, duplicate capture, lost cash, reversal, and remittance variance remain explicit exceptions. Offline replay must never collect or settle the same amount twice.

Resulting records

Shipment collection instruction, payment receipt, driver cash ledger, remittance batch, variance, customer settlement, fee lines, payout or adjustment, and audit history.

Not yet available. Staff can record cash against an issued invoice today, but RouteHut does not yet manage recipient collection, driver custody, remittance, or COD customer settlement.

53 / Financial operations

Reconcile completed work and issue invoices

Configurable

Carry immutable booking charges into controlled invoice lines, payment recording, statements, and compensating adjustments.

ActorsFinance administrator, account manager, customer integration
TriggerChargeable work is booked or completed and reaches the tenant's billing boundary.

Normal path

  1. Review shipment charge lines and readiness.
  2. Create and issue an auditable invoice.
  3. Record payment or synchronize invoice status externally.
  4. Use adjustments rather than rewriting posted financial history.
Exceptions and recovery

Unready, duplicate, or immutable financial actions are rejected. Corrections use credits, refunds, or adjustments tied to the original record.

Resulting records

Charge lines, invoice and lines, statement view, payment history, wallet entries, and audit entries.

Billing is available; deeper profitability and automated reconciliation remain planned depth.

54 / Financial resolution

Investigate and correct a billing discrepancy

Configurable

Resolve an incorrect charge, invoice, or payment through reasoned compensating records while preserving the original financial history.

ActorsCustomer, customer-service agent, account manager, finance administrator
TriggerA customer questions a charge, an operator identifies an invoicing error, or a payment was captured against the wrong account or invoice.

Normal path

  1. Verify the customer, invoice, charge lines, quote or pricing snapshot, service outcome, POD, statement, and payment history.
  2. Record the reason and decide whether the source invoice remains valid, needs an adjustment, or has an eligible payment to reverse.
  3. Issue a credit or debit note, void an eligible invoice or adjustment, or reverse the specific payment without editing or deleting posted history.
  4. Review the recalculated balance and statement, communicate the outcome, and retain the decision and actor in the audit trail.
Exceptions and recovery

Paid or voided invoices, multiple settled payments, wallet settlements, duplicate requests, tax-period restrictions, and unsupported amounts require an explicit decision. Invalid state changes are rejected rather than silently rewriting balances.

Resulting records

Reasoned credit or debit note, invoice or adjustment void, payment and wallet reversal, revised balance and statement activity, outbox event, and audit entry.

Reasoned invoice adjustments, voids, individual payment reversals, wallet reversal entries, statements, and audit history are available. A formal customer dispute case with owner, SLA, collection hold, correspondence, approval policy, and resolution lifecycle remains planned depth.

55 / Credit control

Manage overdue balances and protect further credit

Configurable

Turn invoice aging and live account exposure into a controlled payment, hold, and release decision without losing sight of work already booked.

ActorsCredit controller, finance administrator, account manager, customer
TriggerAn invoice passes its due date, available credit runs low, a payment is received, or the account needs a temporary booking hold.

Normal path

  1. Review current and aged receivables by currency, then open the overdue invoice and customer account.
  2. Confirm the invoice, adjustments, settled payments, pending shipment charges, credit limit, payment terms, and resulting available credit.
  3. Record a partial or full payment, or place the credit account on hold when further postpaid bookings should stop.
  4. Recheck the statement and exposure, then release the hold only when the tenant's credit policy has been satisfied.
Exceptions and recovery

Disputed charges follow the billing-discrepancy path. Incorrect payments are reversed, currency mismatches remain blocked, and bookings over the available limit or against a held account are rejected before commitment.

Resulting records

Invoice aging position, payment and reversal history, customer statement activity, credit exposure and availability, account status, rejected booking validation, outbox events, and audit history.

Overdue filtering, aging summaries, partial and full payments, exposure-based available credit, manual hold or release, and booking enforcement are available. Automated dunning sequences, promise-to-pay records, collections ownership, staged hold policies, reminders, escalation, and customer correspondence remain planned depth.

56 / Account reconciliation

Produce and reconcile a customer statement

Configurable

Give finance and the customer a stable period view of invoices, payments, reversals, and adjustments rather than a balance that changes underneath the conversation.

ActorsFinance administrator, credit controller, account manager, customer accounts team
TriggerA billing period closes, a customer requests an account statement, or finance needs to reconcile an opening balance through to the current closing balance.

Normal path

  1. Select the customer, currency, and inclusive statement period.
  2. Generate the immutable statement from invoices, invoice voids, payments, payment reversals, credit or debit notes, and adjustment voids.
  3. Review opening balance, chronological source references, amounts, running balances, and closing balance against the customer's records.
  4. Retain the generated statement in history and route any mismatch through payment reversal, billing correction, or credit-control handling.
Exceptions and recovery

Invalid periods and missing currency are rejected. Repeating the same customer, currency, and period returns the existing snapshot; later corrections appear in a newly selected period rather than mutating an issued statement.

Resulting records

Immutable statement and lines, opening and closing balances, source references, generation actor and timestamp, audit entry, outbox event, and links to the underlying financial records.

On-demand generation, duplicate-period replay, line-level running balances, immutable history, and staff review are available. Branded PDF or spreadsheet export, scheduled generation and delivery, customer-portal retrieval, delivery acknowledgement, reconciliation sign-off, and automated follow-up remain planned depth.

57 / Operational management

Review service, route, driver, and revenue performance

Available

Turn completed shipment, route, tracking, exception, and billing records into a daily operating review and a customer-ready performance view.

ActorsOperations manager, dispatcher, account manager, finance lead
TriggerA daily or weekly operating review, an SLA concern, a route-productivity question, or a customer performance discussion.

Normal path

  1. Select the reporting period and review shipment volume, terminal outcomes, SLA performance, and exception trends.
  2. Compare stored optimized stop ETAs with recorded execution timestamps.
  3. Review route productivity, driver performance, and revenue signals against the underlying operational records.
  4. Export the current tenant-scoped summary to CSV and turn material exceptions into operational follow-up.
Exceptions and recovery

Unestimated stops and work that has not yet executed remain explicit rather than being counted as successful or late. Correct source records through their operational workflows, then refresh the review instead of editing report totals.

Resulting records

Tenant-scoped performance summary, SLA and execution comparisons, route and driver measures, exception and revenue trends, CSV export, and links back to source operational history.

Operational analytics and on-demand CSV export are available. Scheduled report delivery, deeper profitability, and a dedicated analytics warehouse remain planned depth.

58 / Integration access

Issue, monitor, replace, and revoke partner API access

Available

Give each partner or system its own tenant-bound, least-privilege credential without storing recoverable API secrets in RouteHut.

ActorsCourier owner, tenant administrator, integration engineer, partner system
TriggerA trusted system needs API access, its responsibilities change, a credential approaches expiry, or access may be compromised.

Normal path

  1. An owner or administrator names the integration, selects only its required read or write scopes, and optionally sets an expiry date.
  2. Create the credential and copy its opk_ key once into the partner's secret store; RouteHut retains only its digest and identifying prefix.
  3. Use the key as a bearer credential and monitor its status, scopes, creator, expiry, and last-used time in the credential register.
  4. To replace access, issue and validate a separately named credential, update the partner, then revoke the old credential.
Exceptions and recovery

Unsupported or empty scopes are rejected, other tenants' credentials remain inaccessible, and expired or revoked keys cannot authenticate. A lost key cannot be revealed again; issue a replacement and revoke the old credential.

Resulting records

Tenant-bound credential digest and prefix, scopes, optional expiry, creator, last-use timestamp, revocation timestamp, and audited creation or revocation.

Scoped issue, one-time key reveal, digest-only storage, optional expiry, last-use monitoring, tenant isolation, and idempotent revocation are available. Atomic rotation, overlapping-expiry automation, expiry notifications, IP allowlists, and per-credential rate policies remain planned depth.

59 / Connected systems

Connect commerce, warehouse, and customer systems

Available

Move an order from a partner system into RouteHut, follow its commercial and delivery lifecycle, and reconcile the result without rekeying work.

ActorsIntegration engineer, partner platform, tenant administrator
TriggerA partner needs to create work, retrieve changes, read tracking or POD, or receive lifecycle events.

Normal path

  1. Issue a tenant-bound credential with only the customer, address, quote, shipment, tracking, POD, invoice, or webhook scopes the partner requires.
  2. Create or update customer contacts and addresses, request a quote, then create and book one shipment idempotently or submit a bounded asynchronous JSON import with stable row keys.
  3. Read shipment and tracking state, retrieve authorized POD and invoice records, and reconcile asynchronous import rows without exposing staff or tenant identifiers.
  4. Subscribe a public receiver to selected versioned events, verify every signature, acknowledge quickly, and deduplicate by the stable event ID.
Exceptions and recovery

Missing scopes, invalid records, conflicting idempotency keys, rate limits, partial import failures, and unavailable webhook receivers remain explicit. Respect retry guidance, correct only failed source work, and use the normal delivery replay path so a recovery cannot duplicate a shipment or downstream event.

Resulting records

External customer, contact and address references, quote, shipment and pricing snapshot, import and immutable row outcomes, tracking history, POD, invoices, idempotency records, webhook subscription and attempts, outbox events, and audit history.

The released external API covers customers, contacts, addresses, quotes, individual and bulk shipment intake, booking and pre-handoff cancellation, tracking, POD retrieval, invoice reads, event discovery, webhook subscriptions, and delivery recovery. Dispatch planning, driver execution, hub scanning, billing mutations, labels, and shipment changes after operational handoff remain staff-controlled or planned rather than partner API promises.

Webhook setup / Event delivery

Subscribe a partner system to operational events

Available

Configure a tenant-scoped event feed so a commerce, warehouse, finance, or customer system can react to selected RouteHut changes without polling.

ActorsTenant owner or administrator, integration engineer, partner receiver
TriggerAn approved partner system needs signed lifecycle events for tracking, dispatch, notifications, or billing.

Normal path

  1. Review the versioned event catalogue and select only the event names the receiver needs.
  2. Name the subscription, register its public receiver URL, and create it through staff operations or an idempotent webhooks:write API request.
  3. Copy the generated whsec_ signing secret once into the receiver's secret store; later subscription reads do not reveal it.
  4. Activate the subscription, send a signed test through the normal delivery queue, verify the receiver, then monitor attempts and pause, update, or rotate the secret when operations require it.
Exceptions and recovery

Unsupported events and duplicate names are rejected, inactive subscriptions cannot send tests, and an unresolvable or private-network destination is blocked at delivery. A lost secret is replaced through audited rotation, while failed deliveries continue through the separate bounded retry and replay workflow.

Resulting records

Tenant-scoped subscription and external ID, selected versioned events, target and status, encrypted signing secret, signed test and delivery attempts, source outbox events, timestamps, and audited creation, update, test, or rotation.

Event catalogue discovery, staff and external subscription management, least-privilege scopes, idempotent external writes, one-time secret reveal, encrypted secret storage, signed asynchronous tests, pause or reactivation, rotation, delivery history, and tenant isolation are available. Receiver-ownership challenges, overlap-safe dual-secret rotation, and automated secret-expiry policy remain planned depth.

60 / Integration recovery

Diagnose and recover a failed webhook delivery

Available

Recover a partner outage without losing the source event, bypassing endpoint safety, or turning a manual replay into duplicate downstream work.

ActorsTenant administrator, integration engineer, partner support team
TriggerA webhook receives a non-success response, cannot connect, is blocked as unsafe, or exhausts its automatic delivery attempts.

Normal path

  1. Let bounded automatic retries run, including a valid receiver Retry-After delay.
  2. Filter delivery history by subscription or status and inspect the event ID, endpoint, cycle and attempt numbers, HTTP response, bounded response summary, next attempt, and error.
  3. Pause the subscription while investigating if needed, correct the public endpoint, reactivate it, and send a signed test delivery through the normal queue.
  4. Replay only the exhausted delivery; RouteHut opens a new delivery cycle using the current endpoint and signing secret while the receiver deduplicates the unchanged event ID.
Exceptions and recovery

Private or unsafe destinations are blocked, inactive subscriptions do not deliver, and attempts still in automatic recovery cannot be replayed. A partner must acknowledge quickly and process idempotently because network success cannot prove unique business processing.

Resulting records

Immutable source outbox event, signed test attempt, per-cycle delivery attempts, response diagnostics, scheduled retry or exhaustion state, replay lineage, final delivery timestamp, and replay audit entry.

Signed asynchronous delivery, endpoint safety checks, five-attempt bounded retry, receiver-directed delay, pause and reactivation, retained diagnostics, test delivery, exhausted replay, staff controls, and external recovery endpoints are available.

61 / Adjacent capability

Move and reconcile multi-pallet loads

Planned

Extend the shared shipment and route foundation to typed handling units, pallet-aware vehicle capacity, loading, partial delivery, and quantity reconciliation.

ActorsWarehouse team, dispatcher, driver, recipient, finance administrator
TriggerA design partner needs repeatable owned-fleet or dedicated warehouse-to-customer pallet distribution.

Normal path

  1. Create or import typed pallet handling units.
  2. Validate weight, volume, pallet spaces, and special handling.
  3. Load, collect, and scan custody by handling unit.
  4. Deliver full or partial quantities and reconcile short, damaged, or rejected units.
Exceptions and recovery

Capacity overrides, shortages, damage, rejection, and return decisions will preserve the original load and append their own evidence.

Resulting records

Typed handling units, load manifest, capacity assessment, custody events, quantity outcomes, POD, pricing snapshot, and invoice lines.

Not yet available. Carrier procurement, multimodal freight, customs, and advanced load optimization are outside this planned slice.

Your operation

Bring one real delivery journey.

Compare your team's process with the RouteHut workspace, from operational exceptions and evidence to customer visibility and billing.

Explore the workspace