Policies
How OneTake models your insurance policies and assigns gear to them.
OneTake's multi-policy model lets you record more than one insurance policy against your studio and declare a value for each piece of gear under each policy. This is the foundation for per-item coverage tracking when your gear is spread across several policies — for example, a studio property policy and an equipment floater.
The multi-policy model (EPIC-15) is rolling out. Some steps described here may not yet be visible in your studio.
The Policies tab
The Policies tab at /insurance/policies opens with an Insurance
policies section header. The header carries a description and, for owners and
admins, action buttons.
Below the section header, the tab lists your studio's active policies. Each row shows:
| Column | Notes |
|---|---|
| Company | The carrier name, or the policy name when no carrier is recorded. Long names are truncated with an ellipsis — hover to see the full name. |
| Type / Rider | The policy type in plain English — see Policy types below. |
| Policy # | The policy number, or — when not recorded. |
| Dates | The effective window, formatted as "Mon YYYY – Mon YYYY". An open-ended policy shows "ongoing". |
| Limit | The overall policy limit, or — when not set. |
| Deductible | The policy deductible, or — when not set. |
Policies are listed in the order they were added — oldest first, newest at the bottom.
Empty state
When your studio has no policies at all, the Policies tab shows the Insurance policies section header (with the Enter manually button for owners and admins) followed by an empty-state prompt to add your insurance policies.
The empty state is only shown when there are no policies and no documents waiting to be reviewed. When documents are in the review queue, the review section is shown in place of the empty state.
No active policies
When your studio has policies but all of them are archived, the active-policies section shows "No active policies." in place of the table. You can still reveal the archived policies using the toggle described below.
Policy documents
When you upload a policy document, OneTake tries to read the carrier, limits, deductible, dates, and covered perils automatically. While that auto-detection is running, a Policy documents section appears at the top of the Policies tab — above the active policy table. It lists every document currently in the intake pipeline, including those still being processed and those ready for your review.
This section is only visible to owners and admins. Members do not see it.
Each document appears as a row. There are four states a document row can be in:
| State | What you see | Action available |
|---|---|---|
Detecting (uploaded or extracting) | A spinner and "Detecting policy details…" | None — wait for detection to finish |
Ready to review (review) | A file icon and "Details detected — review and confirm." | Review button |
Possible duplicate (review, policy number matches an existing active policy) | A warning icon and "Looks like a policy you already have." | Review anyway button; Discard button (owners only) |
Failed (failed) | A file icon and "We couldn't read this one — add the details manually." | Add manually button |
Duplicate detection
When a document in the review queue has a policy number that matches an existing active (non-archived) policy in your studio, OneTake flags it as a possible duplicate — for example, the same document uploaded twice.
The matching is case-insensitive and trims whitespace from both sides of the policy number before comparing. A document with no detected policy number is never flagged.
A flagged document shows two actions:
- Review anyway — opens the same policy editor dialog as a normal review. Use this when the match was a false positive (two different policies that happen to share a number) or when you want to edit the detected details and confirm.
- Discard — permanently removes the document from the queue. Available to owners only. See Discard a document below.
Discard a document
Selecting Discard on a flagged document removes it from the review queue immediately after a brief loading state. A notice confirms: "Document discarded."
Only owners can discard documents. The database enforces this — a discard attempted by a non-owner is rejected, and the row shows an error notice instead.
Discarding is permanent — the document cannot be recovered. If you discard by mistake, re-upload the document to start the intake process again.
Duplicate detection at confirmation
Even when a document is not flagged in the UI, the server re-checks for a duplicate policy number when you select Review (or Review anyway) and then confirm. If another active policy with the same number was added between when you opened the dialog and when you submitted, the confirmation is blocked and an error appears inside the dialog.
Review-ready notification
When auto-detection finishes successfully for a document you uploaded, OneTake sends you an in-app notification — a bell alert — to let you know it's ready to review. You don't need to keep the Policies tab open while detection runs.
The notification is titled "Policy ready for review". Its body describes whether any fields need a closer look:
- When all fields were detected with high confidence: "[filename] was auto-detected and is ready to confirm."
- When one or more fields need double-checking: "[filename] was auto-detected — N field(s) to double-check."
Selecting the notification takes you to /insurance/policies, where the
document row is waiting with a Review button.
Only the person who uploaded the document receives the notification. If detection fails for a document, no notification is sent for that document.
You can manage this notification type — including turning it off — from Settings → Notifications.
Live progress
While at least one document is still being auto-detected, the page polls automatically every few seconds so the row advances from Detecting… to Ready to review without you needing to reload. Once no documents are still in progress, polling stops.
If auto-detection takes unusually long, polling stops after about two minutes. After that, reload the page to get the latest status.
Review a detected policy
Selecting Review on a ready-to-review document opens the policy editor dialog pre-filled with the extracted details. The dialog title is "Review detected policy" and a banner at the top reads:
"We pulled these details from your document. Check the highlighted fields, then confirm to add the policy."
Fields the system extracted with low confidence (below 0.8, or where the value could not be read at all) show a "Detected with low confidence — please double-check." hint beneath them.
All fields are editable. You can correct any pre-filled value before confirming. The submit button is labeled "Confirm & apply".
After you select Confirm & apply, OneTake creates the policy record and removes the document card from the review queue. A confirmation notice appears: "Policy added from [filename]."
Add a failed document manually
When extraction failed for a document, selecting Add manually opens the standard policy creation dialog (blank form). The same Enter manually fields apply. When you save, the policy is linked to the original document and the document card is removed from the queue.
Documents already applied
Each document can only be used to create one policy. If you somehow trigger the review dialog twice for the same document, the second confirmation is rejected with an error — no duplicate policy is created.
Add and edit policies
Owners and admins can add and edit any policy. Members can also edit policies they personally created — see Policy ownership below. Members see the policy list but otherwise have no add or edit controls.
Policy ownership
When a member creates a policy, that policy is stamped with their user ID as the owner. This ownership is recorded at the time of creation and does not change if the member's role later changes.
Ownership has two effects:
- The policy's creator can always edit it, even if they are a plain member rather than an owner or admin. This applies to editing the policy's fields.
- The policy's creator can assign gear to it, even as a plain member.
A member cannot edit policies created by others — the edit is silently rejected by the database if they attempt it.
Ownership only affects edit and assignment permissions. Policies created by members are visible to the whole studio, just like policies created by owners and admins.
Duplicate policy number check
When you add a policy manually, OneTake checks whether another active policy in your studio already has the same policy number. If it does, the save is blocked and an error message names the existing policy.
When you edit a policy, the duplicate check only runs if you are changing the policy number. Editing other fields — adding a note, adjusting the dates, changing the carrier name — is never blocked by another policy that happens to share this policy's number.
If the duplicate check does trigger (because you changed the number to one already in use), the save is blocked and an error message names the conflicting policy. Edit or archive the conflicting policy first, then save.
The same check applies when confirming a detected policy from a document.
Enter a policy manually
The Enter manually button lives in the Insurance policies section header at the top of the tab. It is visible to owners and admins regardless of whether any policies exist yet. Selecting it opens the policy editor dialog in create mode.
Edit a policy
Each active policy row has an edit icon button on the right. Selecting it opens the policy editor dialog pre-filled with that policy's current values.
Policy editor
The policy editor opens as a dialog. It has these fields:
| Field | Required | Notes |
|---|---|---|
| Policy name | Yes | e.g. "Studio property — Hartford" |
| Insurance company | No | The carrier name, e.g. "Hartford Fire" |
| Policy number | No | Your policy's reference number |
| Policy type | Yes | Chosen from the fixed list — see Policy types |
| Effective start | Yes | When coverage begins |
| Effective end | No | When coverage ends. Leave blank if the policy is ongoing. |
| Coverage limit | No | The overall policy limit. Must be 0 or more. |
| Deductible | No | Must be 0 or more. |
| Covered perils | No | Comma-separated — e.g. "Fire, theft, transit". Stored as a list. |
| Location / use constraints | No | Any geographic or use restrictions on the policy. |
| Notes | No | Free text. |
The submit button is disabled until a policy name and effective start date are both filled in.
Date validation
If you set an effective end date that falls before the effective start date, the end date field shows an error and the submit button stays disabled until the dates are consistent.
Server-side validation
Validation also runs on the server. The same rules apply: name required, effective start required, end date must not precede start, limit and deductible must be 0 or more, and policy type must be one of the recognized values.
If the server rejects the save — for example, because a policy with the same number already exists or due to a permissions issue — an error message appears inside the dialog without closing it. You can correct the details and try again.
After saving
After a successful save, the dialog closes and the policy list refreshes automatically. A snackbar confirms the action: "Policy added." or "Policy updated."
Audit log
Every successful create or edit is recorded in the studio's
audit log as a policy.created or policy.updated
event under the Insurance category. The entry includes the policy ID, name,
and type.
When a policy is created from a reviewed document, the audit entry also includes the source document ID.
The audit write is best-effort. If it fails, the policy is still saved.
Upload policy documents
When the policy document upload feature is enabled for your studio, an Upload button appears alongside Enter manually in the section header. Upload is the primary action; Enter manually is secondary. Selecting Upload opens the Upload policies dialog.
Policy document upload is rolling out incrementally and may not yet be visible in your studio.
What the dialog does
The dialog accepts PDF and Word (.docx)