STATvault Request a demoDemo

Recurring Orders

Recurring Orders: how it works in StatVault.

What this page is for

Recurring Orders is where standing orders live: the same pickup, the same drop-off, on a schedule. Dispatchers and up open it from Recurring in the left rail.
Every template is posted by one of two things:Whichever one posts it, every template gets the same calendar, one row per date: planned, posted, skipped, moved, un-posted or failed. Once the day is done, it also shows whether anything was actually picked up.

The top of the page

- Today: how many standing orders posted today, how many CXT posted, and when the first one landed.
- Tomorrow: how many are planned, and any blackout.
- Dry runs · last 30 days: the share of posted standing orders that were NOPU (the driver found nothing, entered 0 pieces) or cancelled. Click it to list the ones that were dry on half or more of their days.
- Needs a look: how many standing orders are mostly run by someone other than their standing driver. Click it to list them.Times follow your clock setting: 24-hour or 12-hour, set on your Account page.

Standing orders tab

The list is grouped by customer (each group shows its count and average dry-run rate). Columns: CXT #, Origin Name, Origin Address, Destination Name, Destination Address, schedule ("Mon–Fri", "Tue, Thu", "Every 2 weeks: Mon", "3 dates"), pickup window, driver, 2 weeks, Dry 30d and who posts it.Click a row to open the popout:

Calendar tab

A grid of templates × 14 days: · planned, ✓ posted, – skipped, → moved, ✕ un-posted, ! failed. A dashed box means a dry run. Blackout days are shaded. Click a template name or cell to open it, and click a day header to add a blackout, post that day now, or un-post it.

Runs tab

Every posting run: on schedule, Post now, retries, and un-posts. Open a run to see each order it made or refused, and why. Retry failed re-posts only the failures.
Refusal reasons you may see: blackout (a closure that day), cxt_still_live (a taken-over template whose CXT schedule hasn't ended yet), cxt_already_posted (CXT already posted it that day), already_posted, template_inactive, and cxt_transport_unverified (the organization is on CXT and posting into CXT isn't switched on in Settings).

Blackouts tab

Holidays and closures, either for everyone or for one customer. A blackout is one of three kinds:Adding one updates every affected planned date right away. If orders were already posted that day, the page offers to un-post them. Removing a blackout puts the skipped dates back to planned.
Add the big six holidays… adds the next 13 months of the holidays a medical courier closes for: New Year's Day, Thanksgiving and Christmas as Closed, and Memorial Day, July 4th and Labor Day as a Holiday schedule. A Saturday holiday is observed the Friday before, a Sunday one the Monday after. Dates that already have a blackout are left alone, and each one can be removed or replaced afterwards. MLK Day, Presidents Day, Good Friday, Juneteenth, Columbus Day, Veterans Day, the day after Thanksgiving, Christmas Eve and New Year's Eve are normal days: that is what four years of CXT posting history show. Add one by hand if a year differs.
CXT keeps its own holiday table for the pre-schedules it posts. The calendar shows those dates as skipped when the blackout matches, and switches them to posted if CXT posts anyway.

Storms and closures (un-post)

Un-post a day… takes a date, a scope (everything, one customer, or a pickup site by name or address), and a reason. Check what this does lists exactly what will happen before anything changes:Every un-post is recorded as a run, with the reason and who did it.

Taking a CXT pre-schedule over

On a CXT template, admins see Post from StatVault…. Pick a start date (and optionally a standing driver). StatVault then:
  1. ends the CXT schedule the day before the start date (a write to CXT), and reads it back to check it took;
  2. posts the template itself from the start date.
If CXT can't be updated, the template shows ⚠ end in CXT. End the schedule in CXT by hand. StatVault won't post it until the nightly copy shows the CXT schedule ended, so the same order is never posted twice. Give back to CXT… reverses a take-over: re-enable the schedule in CXT first, then give it back.

When a standing order posts

StatVault checks every minute and posts each standing order on its own, at the earlier of two moments:So the morning batch is the latest anything posts, never the earliest. With a 2-hour notice and a 6:00am posting time, a 3:30pm pickup posts at 6:00am with everything else, a 7:30am pickup posts at 5:30am, and a long run given 12 hours' notice posts the evening before (a 6:45am pickup posts at 6:45pm). A standing order with a standing driver is assigned to that driver as it posts, and the driver gets the notification then, which is the point of the notice: nobody learns about a three-hour drive half an hour before it starts.
Notice set to 0 means the posting time alone. If one day's pickup time was changed (Change on the calendar), the notice counts from that day's time. An order posted the evening before belongs to the day it is picked up: the driver sees it on that day's manifest, not on tonight's.

Settings tab (admins change it)

When StatVault posts, each driver gets one notification per run ("14 standing orders for today") rather than one per order.

Things that confuse people

Related