figma guide
Designing breach settlement wire cut-off windows and same-day scheduling UI in Figma: CUT-*, WIR-SCHED-*, and holiday-aware treasury
Design breach settlement wire cut-off UI in Figma with CUT-* bank windows, WIR-SCHED-* same-day vs next-day queues, holiday calendars, and claimant-safe payment delay messaging.
- Published
- Updated
- Sep 28, 2026
- Read time
- 5 min
- Level
- Intermediate
Quick answer
Wire cut-off UI tells treasury and claimants when a WIR- submission can still leave today versus slipping to the next Fed or SWIFT window—without hiding behind “processing.”* Design CUT- cut-off definitions* per corridor and processor, WIR-SCHED- scheduling queues* that respect GATE-PAY-* and pre-export validation, and holiday-aware calendars so distribution waves do not promise same-day international wires on bank holidays. Cut-offs bridge wire disbursement (WIR-SUB-) and bank confirmation (WIR-TRACE- timing). Claimants see expected send date and cut-off missed copy—not internal CUT-* ids. Domestic USD, international SWIFT, and foreign claimant corridors need different windows on one scheduling board. Pair with escrow replenishment when cut-off slips would overdraw RES-OP-*. Start from the Figma guides hub and use date pickers, progress indicators, and Dev Mode handoff.
Who this is for
- Product designers on treasury tools where “Submit wire” has no clock and ops learns cut-offs from phone calls.
- Claims administrators explaining wave delays tied to Memorial Day—not vague “bank processing.”
- Engineering implementing WIR-SCHED-* without hard-coding Eastern Time in one cron job.
CUT-* cut-off window model
WireCutoff — CUT-992-801 · corridor: US_DOM · processor: PROC-A
├── Window definitions:
│ ├── same_day_cutoff_local (e.g. 15:00 America/New_York)
│ ├── next_day_rollover_rule (after cutoff → value_date +1 business day)
│ ├── international_variant: SWIFT_CUT-* per currency corridor
│ └── fed_holiday_calendar_id · processor_maintenance_blackouts
├── Computed for each WIR-* row at submit time:
│ ├── value_date · can_same_day_bool · minutes_until_cutoff
│ ├── display_label: “Submits today if approved by 3:00 PM ET”
│ └── warning_tier: ok | urgent (<60m) | missed (schedule next window)
├── Dependencies:
│ ├── [Counsel approval](/designing-breach-settlement-counsel-review-and-payout-approval-ui-in-figma/) must complete before cutoff
│ ├── [SAN-* cleared](/designing-breach-settlement-sanctions-screening-and-ofac-payment-hold-ui-in-figma/)—holds do not pause the clock unless policy says so
│ └── [GATE-PAY-*](/designing-breach-settlement-disbursement-hold-release-and-payment-gate-ui-in-figma/) open
└── Audit:
├── LOG-CUT-* which rule version applied
└── Link WIR-SUB-* submitted_at vs cutoff snapshot
| Corridor | Typical cut-off sensitivity | UI emphasis |
|---|---|---|
| US domestic USD | Fed windows | Countdown timer on approval screen |
| SWIFT international | Multi-hop, timezone | Value date + corridor disclaimer |
| USD to high-risk corridor | Extra compliance | Do not promise same-day |
Verdict: Store cut-offs as config (CUT-*), not copy in mockups—banks change windows; calendars update without redeploying portal strings.
WIR-SCHED-* scheduling queue
WireScheduleQueue — WIR-SCHED-992-055 · business_date: 2026-09-28
├── Buckets ([tables](/figma-tables-and-data-ui-rows-columns-and-handoff/)):
│ ├── ready_before_cutoff · awaiting_approval · blocked_validation
│ ├── scheduled_next_business_day · manual_hold
│ └── submitted_today · failed_submission
├── Row actions:
│ ├── Approve + auto-submit if before cutoff
│ ├── Defer to date picker ([calendar UI](/designing-date-pickers-and-calendar-ui-in-figma/)) with business-day-only constraint
│ ├── Split from [distribution wave](/designing-breach-settlement-distribution-schedule-and-tranche-disbursement-planning-ui-in-figma/) when wave misses cut-off
│ └── Bulk submit with [idempotency](/designing-breach-settlement-payment-idempotency-and-duplicate-submission-prevention-ui-in-figma/) per WIR-SUB-*
├── Integration:
│ ├── [NACHA](/designing-breach-settlement-payment-file-generation-and-nacha-preview-ui-in-figma/) separate—do not mix ACH cut-offs on wire board
│ ├── [Replenishment](/designing-breach-settlement-escrow-replenishment-and-disbursement-reserve-ui-in-figma/) warning if batch sum > available_to_pay
│ └── [Notification timeline](/designing-breach-settlement-hold-release-notifications-and-claimant-payment-timeline-ui-in-figma/) when defer changes EVT-WIR-SUB-*
└── Metrics strip:
├── count_at_risk · amount_usd_at_risk · next_cutoff_datetime
└── Link [SLA dashboard](/designing-sla-dashboard-and-uptime-reporting-ui-in-figma/) if wire SLA is customer-facing
Treasury users need one glance at “what falls off the cliff at 3 PM”—use badges for urgent rows, not only row color.
Holiday calendar and maintenance blackouts
TreasuryCalendar — CAL-992-020 · program_id
├── Sources:
│ ├── US federal holidays · processor-specific JSON feed
│ ├── [Appeal stay](/designing-breach-settlement-appeal-and-mandamus-review-ui-in-figma/)—optional non-bank “program holidays” for disbursement only
│ └── Manual blackout: CAL-BLK-* (migration, audit freeze)
├── Effects:
│ ├── value_date skips non-business days
│ ├── Portal copy: “Payments resume {next_business_date}”
│ └── WIR-SCHED-* auto-defer with LOG-CAL-*
└── Admin UI:
├── Preview month grid · import holiday file
└── Diff view when calendar version changes mid-wave
Do not conflate court-ordered disbursement stays with bank holidays—use separate flags so ops can explain which delay applies in call center scripts.
Claimant messaging when cut-off missed
ClaimantWireExpectation — portal copy keys only
├── before_cutoff: “Transfer scheduled for {value_date}”
├── missed_cutoff: “Your payment will be sent on the next business day ({value_date})”
├── international: “International transfers may take additional banking days”
├── no_promise: Never “same day guaranteed” unless product enforces it
└── Link [where-is-my-payment](/designing-breach-settlement-payment-inquiry-and-where-is-my-payment-ui-in-figma/) category WIR-delay
Use progress steppers with Submitted → Scheduled send date → Sent → Received by beneficiary bank—the second step updates when WIR-SCHED-* defer changes value_date.
Comparison table: scheduling concepts
| Concept | ID | User sees | Blocks submit |
|---|---|---|---|
| Cut-off window | CUT-* | Countdown (admin) | After missed window |
| Value date | WIR-VAL-DATE | Expected send | No—auto rolls |
| Approval pending | COUNSEL-* | Nothing until approved | Yes |
| Sanctions hold | SAN-* | “Under review” | Yes |
| Escrow shortfall | RES-* | Wave delay banner | Yes (batch) |
Best for: Waves with material wire volume after rail switch from ACH—scheduling prevents end-of-day panic submits that fail ACK/NACK.
Handoff checklist (Dev Mode)
- WireCutoff — cut_id (CUT-*), corridor_enum, processor_id, same_day_cutoff_local, timezone, calendar_id, version.
- WireScheduleQueue — sched_id (WIR-SCHED-*), business_date, bucket_enum, wir_ids_json, at_risk_count.
- WireScheduleRow — wir_id, pay_id, value_date, minutes_until_cutoff, approval_state, submit_state_enum.
- TreasuryCalendar — cal_id (CAL-*), holidays_json, blackouts_json, effective_from.
- ClaimantWireExpectation — copy_key_enum, value_date, corridor_enum (no internal ids).
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| Single global cut-off | SWIFT misses | CUT-* per corridor |
| Hide clock from approvers | Missed counsel sign-off | Countdown on approval |
| Promise same-day in FAQ | Trust hit | Value date only |
| Ignore timezone in UI | West coast ops errors | Explicit timezone label |
| Mix ACH timing on wire board | Wrong expectations | Separate queues |
| No defer audit | Disputes | LOG-CAL-* + LOG-CUT-* |
| Skip hold release in schedule | Pays under hold | Gate check on submit |
Recommended workflow
- Inventory processor cut-offs into CUT-* config with timezone.
- Design WIR-SCHED- board* with at-risk strip and approval column.
- Import holiday calendar before first international wave.
- Align portal stepper to value_date changes from defer.
- Load-test bulk submit against idempotency at cut-off boundary.
FAQ
Same as wire fallback post?
Fallback covers rails and BENE capture; this post covers when WIR-SUB- can fire*—cross-link both in specs.
Foreign claimant corridors?
Use SWIFT_CUT- rows*—value date may differ from US domestic even when treasury is US-based.
Cut-off and sanctions screening?
Policy choice: either freeze countdown during SAN-* or show “approval deadline independent of compliance”—document in admin banner.
Relation to distribution schedule?
Waves plan who gets paid; WIR-SCHED- plans when wires leave*—wave can split across two business dates without splitting awards.
Checks instead of wire?
CHK- uses mail schedules, not CUT-**—link check positive pay for print batches, not this board.
Next steps
- Design breach settlement wire and check fallback disbursement UI in Figma — WIR-* submission
- Design breach settlement disbursement hold release and payment gate UI in Figma — GATE-PAY before submit
- Design breach settlement counsel review and payout approval UI in Figma — approval vs cut-off
- Design breach settlement bank confirmation and trace matching UI in Figma — post-submit timing
- Design breach settlement hold release notifications and claimant payment timeline UI in Figma — defer messaging
§ Keep reading