Agency book

A React block (a whole screen) in Beamline's Government & legal app.

An insurance agency's book in two places. Estimated commission: the report named an estimate (not received or earned), as of a time; each source system with when it last synced, a stale one said with its figures kept as the last confirmed ones, Refresh per source and a failed refresh said without touching the figures; an agent filter, grouping by carrier or agent with subtotals, the policy pinned while figures scroll on a phone; a policy without an estimate says No estimate and is left out of sums with the count said, never shown as zero; a policy's detail with estimate, rate, premium, term, source system, source policy ID, revision and last sync, a field the source can't supply said as not supported; Back returns to the same filter and row. Renewal follow-up: the trigger in words, filters for active clients, lines, carriers and agents; follow-ups in order (email, text or a task) each with days from renewal, a time and whose time zone it goes in (the client's or the agency's), moved up and down; who it would reach tested against the book now with each left-out policy's reason, nothing sent; a version made live, an edit to the live one becoming a draft of the next, paused (queued follow-ups held) and resumed; runs per renewal event and version with each step queued, delivered, failed with the reason or held, and the same event replayed never running twice. The estimated total leads large with what it covers; each source is one quiet line with a fresh (green) or stale (amber) dot and its own Refresh. On a phone the report keeps the policy and its estimate (client and agent under the policy), nothing cut.

Use it for

  • An agency or brokerage's commission estimate across policies from several source systems.
  • Automated follow-ups when policies renew, filtered by line, carrier and agent, with runs that can be audited.

Not for

Anatomy

  • report: Estimated commission, as of, the estimate note, agent and group by; source systems with sync time, stale and failed notes and Refresh; coverage; the table (policy pinned, client, agent or carrier, premium, estimate, source) with group subtotals and the total
  • policy: Back, the policy and client, the estimate note, facts with provenance
  • renewals: the workflow's version and live or draft, Pause or Resume, Make live; the trigger and filters; follow-ups with channel, days, time and zone, moves; who it would reach; runs with each step's outcome, Replay

States

  • report: loaded, one agent, grouped, a missing estimate, a stale source, refreshing, refresh failed, policy open
  • renewals: not live, live, draft of the next version, enabling, enable failed, paused with held follow-ups, no runs yet, a duplicate event, a failed delivery, an ineligible policy

Keyboard

  • Policy numbers are buttons; Back puts focus on the row it came from
  • Each follow-up has labelled fields and Move up, Move down and Remove buttons naming the step

Motion

Only the parts' own motion. Nothing runs at rest.

Props

PropTypeDefaultDescription
agency (required)string—The agency's name in the heading.
policies (required)Policy[]—
sources (required)SourceSystem[]—
onRefreshSource((sourceId: string) => Promise<string>)—Syncs one source again; resolve with when it synced, reject to keep the last figures.
now (required)string—"Now" for the report's as-of and staleness (ISO).
workflow (required)RenewalWorkflow—
runsRun[]—
agencyZone (required)string—The agency's IANA zone, for follow-ups sent in agency time.
onEnable((w: RenewalWorkflow) => Promise<unknown>)—
onPause((paused: boolean) => Promise<unknown>)—
onReplay(() => Promise<Run>)—
defaultViewAgencyBookView—
defaultAgentstring—
defaultPolicystring | null—
currencystring—
localestring—
classNamestring—Classes on the documented visual root; no override by default.
styleCSSProperties—Inline styles on the documented visual root; no overrides by default.
refRef<HTMLDivElement>—Receives the documented native target or imperative handle; omitted by default.

Built from

Dependencies

lucide-react

Import

import { AgencyBook } from "@beamline/agency-book";

Get it

Agency book is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent

More in Government & legal

  • Permit application: A permit application filled in over several sittings on a city's portal. Steps with how many answers each still misses; the draft saved as you go and…
  • Permit services: Where a permit starts on a city's permitting portal. The work's address resolved to the city (its permits are here) or the county around it (that office…
  • Permit fees: An applicant's permit fees on a city's portal. What's owed across how many permits and how much of it is overdue; every unpaid invoice with its permit…
  • Permit record: A submitted permit seen by the applicant. The overview leads with what's waiting on them: the corrections to answer before the next version goes in, each…
  • Parcel record: A property's parcel on a permitting portal. The lot drawn to scale as a site plan: the street, the property lines with their lengths, the dashed setback…
  • Document review: A PDF going through review: the document in the viewer with every comment pinned to its place, the reviewers' threads beside it (open or resolved, one…
  • Signing request: A document sent for signature, its signature page drawn in miniature with each side's block in order. Sides sign as numbered stages that move earlier or…
  • Playbook check: A document's changes checked against a versioned playbook (a rulebook of what's acceptable). Each change shows what it was and is now, then two records…
  • Audit room: A compliance audit seen by the company preparing it or by the auditor reviewing it. Evidence keeps the company's readiness (not ready, flagged, ready for…
  • Applicant company: A contractor's company on a permitting portal. Its identity with the licence and insurance it applies under, each said valid, expiring within 60 days…
  • Applicant projects: An applicant's permits on a city's portal in one place. Projects through saved views (theirs, their company's, expiring within 30 days) and a search…
  • Lease renewals: Leases coming up for renewal. The window leads: every tracked lease placed on the days ahead at its end date, coloured by whose step it is (yours, the…
  • Queue display: The screen in a waiting room, read from across the room. It draws only a public projection of the queue (ticket codes and counters, never a name or a…
  • Visitor journey: A visitor's way into a walk-in queue, on their phone. Branches first: each card names its address, whether it's open (until when, closing soon, full, or…

Part of Beamline UI: polished, editable React components and complete screens for custom applications. Build your own style from any look; tokens, fonts, radii, motion; not only colours.