app.requisitions
TableRow level security on
Staffing requisitions (Section 7.4 People, playbook Staffing Requisition): a request to staff a canon role on a project. Approval runs spend authority for document type Requisition on the estimated spend and is never by the requester. An Approved requisition is what an opportunity publishes (Section 4.2 Opportunities).
Primary key: id
| Column | Type | Nullable | Description |
|---|---|---|---|
| id | uuid | No | Primary key, UUID v7. |
| org_id | uuid | No | Owning org, derived from app.projects on insert; never accepted from the caller and never changed.References app.organizations.id |
| project_id | uuid | No | Project to staff.References app.projects.id |
| scope_node_id | uuid | Yes | Scope node of the project the people work, when narrower than the project.References app.scope_nodes.id |
| budget_line_id | uuid | Yes | Budget line the labor spends against; its cost center scopes spend authority and its currency equals the requisition's.References app.budget_lines.id |
| role_type | app.external_role_type | Yes | External role type an opportunity published from the requisition seeks; NULL when it is filled internally. |
| role_code | text | No | Canon role to staff (Roles Library, decision D12); the same code engagements and opportunities carry. Its class decides the GL account.References xpms.rate_card.role_code |
| worker_classification | text | Yes | Canon worker classification sought, when decided (decision D16).References xpms.rate_card.worker_classification |
| pay_basis | text | Yes | Canon pay basis the rate is per; with the classification, role and arrangement a canon rate card combination.References xpms.pay_basis.label |
| arrangement | text | Yes | Canon arrangement; NULL exactly when the pay basis is NULL.References xpms.arrangement.label |
| headcount | integer | No | Number of people to staff. |
| units_per_head | numeric | Yes | Pay basis units each person works, for example hours or days; NULL while unknown, which leaves the estimate unpriced. |
| rate_minor | bigint | Yes | Budgeted rate per pay basis unit in minor units; NULL is unpriced and is never approved. |
| currency_code | character(3) | No | ISO 4217 currency of the rate.References private.currencies.currency_code |
| starts_on | date | Yes | First day of the work. |
| ends_on | date | Yes | Last day of the work. |
| justification | text | No | Why the staff are needed. |
| requested_by | uuid | Yes | Person who requested, set from the session; they cannot approve it (sod_approval_requester).References app.people.id |
| requisition_state | app.requisition_state | No | Requisition state. Changes only through the requisition RPCs. |
| deleted_at | timestamp with time zone | Yes | Soft delete time. A row with deleted_at set is ignored by every access helper. |
| created_at | timestamp with time zone | No | When the row was inserted. Set by the database. |
| created_by | uuid | Yes | Person who inserted the row, or null for a platform process. Set by the database.References app.people.id |
| updated_at | timestamp with time zone | No | When the row last changed. Set by the database. |
| updated_by | uuid | Yes | Person who last changed the row, or null for a platform process. Set by the database.References app.people.id |