For Modal Staff

From email to OnTime360 order

A single transport request, told as a story. About 90 seconds in best case, a couple hours in worst case.

Minute zero: the email arrives

A vendor at Alpha Air Cargo emails shipments@modalglobalusa.com:

Hey — need a pickup tomorrow at our JFK Building 23 dock. AWB 123-12345678, 4 pieces, 280 lbs, ambient temp. Drop at LaGuardia counter T6 by 5pm. POC John Smith 555-1212.

Minute zero, plus a few seconds

The email lands at our mail provider (Postmark), which forwards a copy of the message to our system via a webhook. The system saves the original (plus any attachments) and writes a record into the database with status parsing.

Minute zero, plus 30 seconds

The parser reads the email and tries to pull out the structured pieces:

  • Pickup: JFK Building 23 dock; tomorrow (TBD specific time); contact missing — hmm
  • Delivery: LaGuardia counter T6, by 5pm tomorrow
  • Cargo: 4 pieces, 280 lbs, ambient
  • Reference: AWB 123-12345678
  • Contact: John Smith, 555-1212 (probably the pickup POC, parser flags as "ambiguous which leg")

The parser works in tiers — fast/cheap "Haiku" first, then a more careful "Sonnet" if Haiku isn't sure, and the heavy-duty "Opus" if Sonnet still isn't sure. About 80% of emails finish on Haiku for cents per parse; the rest escalate when needed.

Minute one

The parser is done. The system marks the email Needs review because:

  • It's clear this is a real shipment request (not spam, not marketing)
  • But the pickup time wasn't specific ("tomorrow" — when?)
  • And the contact is ambiguous (probably for pickup but not stated)

The email shows up in Troy's inbox with a yellow "Needs your eyes" pill.

Minute fifteen (when Troy gets to it)

Troy opens it. He reads the email body in one column and the parsed details in another. Two things he might do:

  1. Looks fine, just needs a time. Troy clicks Edit fields, types "8am–10am" in the pickup window, and hits Approve.
  2. He'd rather call. He calls Alpha Air, gets the time, and hangs up. Back in the dashboard he edits + approves.

Either way, the order is now structured and ready.

A few seconds after Approve

The system pushes the order to OnTime360 via the OT360 API:

  • Creates a new pickup order with the structured fields
  • Attaches the AWB document if provided
  • Sets the customer to Alpha Air Cargo (looked up from their email domain)
  • Returns an OT360 tracking number

The system records the OT360 number on our side and updates the email's status to Sent to OnTime360.

Right after that

The system sends a confirmation reply to Alpha Air Cargo:

Hi John, Confirming receipt of your transport request — order MEP-2026-05-04-001234. Pickup: tomorrow 8am–10am at JFK Bldg 23 dock Delivery: LaGuardia counter T6 by 5pm Reply to this email for any changes. — Modal Global / JPT Dispatch

Alpha Air gets the reply within a few minutes of Troy's approval.

Auto-confirmation case

If Alpha Air had been a regular vendor with a clean request and explicit times, steps 4–6 above could have been skipped. The system would have auto-confirmed within ~90 seconds of the email arriving — no Troy click needed. (Auto-confirmation is per-vendor and only kicks in for vetted regulars.)

What ends up in OT360

A pickup order looking like any other — same fields, same statuses, same reporting. Dispatch ops downstream is unchanged.

What gets logged

Everything. The original email, the parsed extraction, who approved (Troy), edits made, the OT360 tracking number, the confirmation reply, and any bounce or follow-up reply. Searchable for years.

The unhappy paths

  • Parser fails ("Couldn't read") — Troy sees the email anyway, reads it himself, fills in what's needed, approves. The system isn't a single point of failure.
  • OT360 push fails — order stays in sync_failed state; admin retries from the dashboard once the OT360 issue (usually a customer GUID mismatch) is fixed.
  • Vendor sent garbage — Troy hits Reject; email moves to history but stays searchable.

Tell me about specific terms in this story

  • AWB, BOL, IAC, "needs review" — see the Glossary
← Back to Help Center