Timecards

Dashboard → On-Set → Timecards. Per-day, per-crew/cast actuals. The dot system applies here heavily - the difference between Grace's prefill (blue) and a human override (gold) is the audit trail.

Timecards day 1

On first visit the page runs a short in-app spotlight tour (the same engine that walks you through every screen). You can replay it any time from the gear menu's "Show guide". This written page is the companion reference.

The dot convention

Each time cell on the page carries a dot and text color:

  • Blue dot + blue text - Grace's prefill. Computed at read time from the call time + meal duration.
  • Gold dot + solid ink text - Human override. Whoever filled this in (1st AD, typically) typed it. The value renders in the theme's primary text color (bold monospace is a PDF-only treatment, see below).

The legend at the top of the page states the same thing: "Grace suggested" (blue) versus "Human entered" (gold).

Typing into a blue cell and leaving it stages a human override, which flips the dot gold. Clearing an override reverts the cell to Grace's blue prefill. (Staged edits do not persist until you click the row's SAVE button - see "Saving a row" below.)

Grace stores human overrides only. The suggestions are never written; they're derived at every read. So changing a production's meal duration retroactively updates every Grace-prefilled cell across the production - only the manual overrides stay put.

Grace prefill math

For a crew member with general call 07:00 and a 30-minute meal duration:

  • In = call = 07:00
  • Meal out = call + 6h = 13:00
  • Meal in = meal out + meal duration = 13:30
  • Wrap = call + 10h + meal duration = 17:30

Cast rows share exactly the same four prefills, mapped onto the cast column names:

  • Arrived = call = 07:00
  • Lunch out = call + 6h = 13:00
  • Lunch in = lunch out + meal duration = 13:30
  • Wrap = call + 10h + meal duration = 17:30

The remaining cast columns - Makeup, On Set, and Dismissed - have no Grace suggestion. They render blank until a human types them (blank dot, human-entry only). There is no HMU-based or per-character derivation on the timecard page.

Timecards cast section

The same math drives both the on-screen page and the printed timesheet PDFs - they can never drift.

Hours / OT calculation

  • Total minutes = wrap − in. Handles wrap-past-midnight by adding 24h when end < start.
  • Meal break minutes = meal in − meal out. Same wrap handling.
  • Hours worked = (total − meal) / 60. Decimal to 2 places.
  • OT hours = max(0, hours − 10).

The timecard OT column always uses a 10-hour standard day, regardless of union. Grace does not apply per-union OT thresholds here.

The per-union thresholds that DO vary are meal and turnaround, and they live on the Compliance page, not on the timecard:

  • IATSE: meal at 6h, turnaround 12h
  • DGA: meal at 6h, turnaround 11h
  • SAG-AFTRA: meal at 6h, turnaround 12h
  • Teamsters: meal at 6h, turnaround 10h
  • Non-union: meal at 5h, turnaround 10h

(mixed union productions resolve to the strictest profile, IATSE.)

Time input parsing

The input boxes accept multiple formats:

  • 071007:10
  • 71007:10
  • 7:1007:10
  • 7:10 am07:10
  • 710p19:10
  • 19:1019:10

Empty cells

A blank cell always shows Grace's prefill. There is no way to force a Grace-suggested cell to render literally empty. Clearing a human override just reverts the cell to Grace's blue prefill; typing an unparseable value (a space, a dash) reverts to the shown value on blur.

Cells that have no Grace suggestion in the first place (cast Makeup / On Set / Dismissed) stay blank until a human fills them.

Initials and MPV columns

  • Crew rows end with an Init column. When you fill out a row's overrides, add your initials here. This is the "this row was actually checked by a human" signal.
  • Cast rows do not have an Init column. In its place they expose an MPV field - a manual meal-penalty-violation count for that performer (see "Meal penalties" below).

The crew initials flow through to:

  • The daily timesheet PDFs (initials render next to override times).
  • The DPR (Daily Production Report) summary.

Saving a row

Editing is stage-on-blur, persist-on-SAVE:

  1. Type into a cell and leave it. The edit is staged locally and the dot flips gold.
  2. The row's SAVE button lights up (gold) once the row is dirty.
  3. Click it. The button shows ... while saving, then SAVED (green) for about 1.5 seconds on success.

Nothing persists until you click SAVE. A save failure surfaces as a red error banner across the top of the page (not a per-cell border, and there is no toast on this page).

Daily Crew Timesheet / Daily Cast Timesheet PDFs

Generated from the compliance page per-day per-roster. PDFs mirror the page UI:

  • Bold monospace for human overrides.
  • Italic grey for Grace prefills.
  • Initials column populated where overrides exist.

The same Grace math runs on the PDF side, so the printed timesheet always matches what's on screen.

Meal penalties

There are two, separate meal-penalty surfaces:

  1. Automatic budget cascade. When the meal timer on the Set Dashboard's compliance footer crosses the union threshold (6h on IATSE), Grace automatically:
    • Computes penalty minutes (= minutes past threshold).
    • Counts penalty units (1 per 30 min past threshold).
    • Logs a budget item to the meal-penalty line for that day (auto-creates if missing; headcount from the day's included crew).
    • Updates the budget actuals.
  2. Cast MPV field. Each cast timecard row has a manual MPV count column where you can record meal-penalty violations for that performer directly on the timecard.

So the automatic penalty is a budget cascade (not typed onto the crew timecard), while cast rows additionally carry the manual MPV count. The Daily Crew Timesheet PDF includes a footer note when penalties were accrued for that day.

Forced calls + turnaround

When a call sheet is approved with a turnaround violation against the previous day's wrap, Grace automatically generates a Forced Call memo PDF and attaches it as a document. The crew affected (anyone scheduled both days) is listed.

The forced call memo doesn't replace the timecard - it's a separate document for compliance audit. The timecard still records the actual hours worked.

Who can see / edit timecards

The 1st AD (and anyone else with Call Sheets write access) can fill in timecards. Anyone with Call Sheets read access can view them.

T3 crew/cast don't see the timecards page at all - that section is hidden for them by default.