Statuses and stages
The stages and statuses a studio starts with, what each flag means, and the states the app works out for itself.
Every studio starts with the same vocabulary, copied in when the studio is created, and the app is the only thing that writes it. The id is what the app and the MCP tools speak; the label is what a person reads. Each table is in the order the app draws it, and a flag is what the app reads off a status rather than its name.
Project stages
A project sits at one stage. A client sees a project only at a stage marked client visible; a stage that is not open is a finished or stopped project; a stage that requires a reason asks for one when a project is moved into it.
| Id | Label | Client visible | Open | Requires reason |
|---|---|---|---|---|
lead | Lead | No | Yes | No |
scoping | Scoping | No | Yes | No |
project | Production | Yes | Yes | No |
delivery | Delivery | Yes | Yes | No |
ongoing | Ongoing | Yes | Yes | No |
complete | Complete | Yes | No | No |
parked | Parked | No | No | Yes |
Deliverable statuses
A deliverable cycles: delivered means with the client, awaiting a response, and changes requested sends it round again. Only a status marked done closes it.
| Id | Label | Done |
|---|---|---|
pending | Not started | No |
in_progress | In progress | No |
delivered | Delivered | No |
revision_requested | Changes requested | No |
approved | Approved | Yes |
Task statuses
A done task counts as finished work and an open one as live work. A status that is neither is withdrawn: a task in it counts in nobody's progress, so a project with cancelled tasks can still reach 100%.
| Id | Label | Done | Open | Disposition |
|---|---|---|---|---|
todo | Not started | No | Yes | Open |
in_progress | In progress | No | Yes | Open |
in_review | In review | No | Yes | Open |
blocked | Blocked | No | Yes | Open |
done | Done | Yes | No | Done |
cancelled | Cancelled | No | No | Withdrawn |
Proposal statuses
Superseded is what a revision does to the proposal it replaces; declined is the client saying no.
| Id | Label |
|---|---|
draft | Draft |
sent | Sent |
accepted | Signed |
declined | Declined |
expired | Expired |
superseded | Superseded |
withdrawn | Withdrawn |
Agreement statuses
A closed status is finished with, either way, and drops off the default list.
| Id | Label | Closed |
|---|---|---|
draft | Draft | No |
sent | Sent | No |
signed | Signed | Yes |
declined | Declined | Yes |
superseded | Superseded | Yes |
Invoice statuses
Overdue is not a status. A sent invoice whose due date has passed is shown as overdue, worked out on every read, so nothing has to flip it at midnight.
| Id | Label |
|---|---|
draft | Draft |
sent | Sent |
paid | Paid |
rejected | Unpaid |
cancelled | Cancelled |
Booking statuses
Only a status that counts as cost commits the studio's money in cost reporting.
| Id | Label | Counts as cost |
|---|---|---|
provisional | Provisional | No |
confirmed | Confirmed | Yes |
cancelled | Cancelled | No |
Booking fee bases
How a booking is priced: a fixed fee, days at a day rate, hours at an hourly rate, or salaried for a team member, with no money at all.
| Id | Label |
|---|---|
fixed | Fixed |
day | Day |
hourly | Hourly |
salaried | Salaried |
Payment request statuses
A settled request is finished with and leaves the queue. Only a status that settles the booking replaces the booking's committed figure in cost reporting.
| Id | Label | Settled | Settles booking |
|---|---|---|---|
submitted | Submitted | No | No |
approved | To pay | No | No |
paid | Paid | Yes | Yes |
declined | Declined | Yes | No |
withdrawn | Withdrawn | Yes | No |
Review states
Worked out from whether the review was held and what the client has said since about each deliverable on its table. Nothing stores it.
| State | Meaning |
|---|---|
upcoming | Not yet held, and the target date has not passed. |
slipped | Not yet held, and the target date has gone by. |
waiting | Held, and the client still owes an answer on something that was shown. |
answered | Held, and every client-facing deliverable on the table has its answer. |
held | Everything else: a bare date that happened, an internal project's review, or a tabled item that went back into progress. |
Form statuses
Only a live form's links work.
| State | Meaning |
|---|---|
draft | Being built. Nothing can be sent yet. |
live | Taking answers. The only status in which a link can be minted, and the only one in which a link opens. |
closed | Finished with. Every link stops working and the responses are kept. |
Booking link statuses
A booking link, which the MCP tools call a meeting link. A published link is the only copy of its address: pausing or closing it afterwards does not take back a URL somebody already has.
| State | Meaning |
|---|---|
draft | Nobody has a link yet. |
published | Live: anyone holding the address can take a slot. |
paused | The link says not right now. |
closed | Finished with, and kept. |
revoked | The link is destroyed and cannot come back. |
In the app
- /admin/projects: stages, deliverables, tasks and reviews
- /admin/contracts: proposals and agreements
- /admin/invoices
- /bookings: bookings
- /admin/forms and /admin/meetings: forms and booking links