Service Order v1¶
Source schema: doc/schemas/service-order.v1.schema.json
Machine-readable schema for one buyer-facing purchase intent referencing a standing service offer. In hard MVP this artifact is bridged by the host into the current procurement substrate rather than bypassing it. The buyer computes request/units explicitly; the host must not infer economic meaning by parsing human-readable pricing labels.
Governing Basis¶
doc/project/30-stories/story-006.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/40-proposals/021-service-offers-orders-and-procurement-bridge.mddoc/project/50-requirements/requirements-012.md
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006.mddoc/project/50-requirements/requirements-010.mddoc/project/50-requirements/requirements-011.mddoc/project/50-requirements/requirements-012.md
Stories¶
doc/project/30-stories/story-001.mddoc/project/30-stories/story-004.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/30-stories/story-006.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
Schema version. |
order/id |
yes |
string | Stable identifier of this buyer-side service order. |
created-at |
yes |
string | Timestamp when the order became auditable. |
buyer/node-id |
yes |
string | Node acting as the buyer-side orchestrator for this order. |
buyer/subject-kind |
yes |
enum: participant, org |
Kind of accountable buyer subject that authorizes the order. |
buyer/subject-id |
yes |
string | Identifier of the accountable buyer subject. |
buyer/operator-participant-id |
no |
string | Optional participant subject operating on behalf of the buyer subject, for example the custodian of an organization purchase. |
provider/node-id |
yes |
string | Provider-side serving node expected to fulfill the order. |
provider/participant-id |
yes |
string | Provider-side accountable subject expected to stand behind the later procurement execution. |
offer/id |
yes |
string | Standing service offer selected by the buyer. |
offer/seq |
yes |
integer | Standing-offer sequence observed by the buyer when the order was prepared. Hard MVP host bridge MUST reject stale mismatches against the active catalog. |
service/type |
yes |
string | Service category expected by the buyer. The host validates it against the referenced standing offer. |
request/units |
yes |
integer | Requested number of billable units under the referenced standing offer. The buyer computes this quantity explicitly from its own domain input. |
request/input |
yes |
object | Structured buyer-side request input carried into the host-owned bridge. |
request/output-constraints |
no |
object | Optional buyer-side output expectations narrower than or equal to the referenced standing offer. |
pricing/max-amount |
yes |
integer | Maximum total price in minor units the buyer is willing to accept for this order. When pricing/currency = ORC, the value uses ORC minor units with fixed scale 2. |
pricing/currency |
yes |
string | Settlement unit or currency symbol expected by the buyer. |
delivery/requested-by |
no |
string | Optional stricter delivery expectation imposed by the buyer. The host must reject values that exceed offer bounds or policy. |
workflow/run-id |
no |
string | Optional buyer-side workflow run identifier, for example from Arca. |
workflow/phase-id |
no |
string | Optional buyer-side workflow phase identifier, for example one phase within a recurring orchestration. |
lineage/upstream-refs |
no |
array | Optional refs to upstream artifacts or prior workflow outputs that justify this purchase. |
policy_annotations |
no |
object | Optional buyer-local or federation-local annotations that do not redefine the core purchase semantics. |
signature |
yes |
ref: #/$defs/signature |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
signature |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"buyer/subject-kind": {
"const": "org"
}
},
"required": [
"buyer/subject-kind"
]
}
Then:
{
"required": [
"buyer/operator-participant-id"
]
}
Field Semantics¶
schema/v¶
- Required:
yes - Shape: const:
1
Schema version.
order/id¶
- Required:
yes - Shape: string
Stable identifier of this buyer-side service order.
created-at¶
- Required:
yes - Shape: string
Timestamp when the order became auditable.
buyer/node-id¶
- Required:
yes - Shape: string
Node acting as the buyer-side orchestrator for this order.
buyer/subject-kind¶
- Required:
yes - Shape: enum:
participant,org
Kind of accountable buyer subject that authorizes the order.
buyer/subject-id¶
- Required:
yes - Shape: string
Identifier of the accountable buyer subject.
buyer/operator-participant-id¶
- Required:
no - Shape: string
Optional participant subject operating on behalf of the buyer subject, for example the custodian of an organization purchase.
provider/node-id¶
- Required:
yes - Shape: string
Provider-side serving node expected to fulfill the order.
provider/participant-id¶
- Required:
yes - Shape: string
Provider-side accountable subject expected to stand behind the later procurement execution.
offer/id¶
- Required:
yes - Shape: string
Standing service offer selected by the buyer.
offer/seq¶
- Required:
yes - Shape: integer
Standing-offer sequence observed by the buyer when the order was prepared. Hard MVP host bridge MUST reject stale mismatches against the active catalog.
service/type¶
- Required:
yes - Shape: string
Service category expected by the buyer. The host validates it against the referenced standing offer.
request/units¶
- Required:
yes - Shape: integer
Requested number of billable units under the referenced standing offer. The buyer computes this quantity explicitly from its own domain input.
request/input¶
- Required:
yes - Shape: object
Structured buyer-side request input carried into the host-owned bridge.
request/output-constraints¶
- Required:
no - Shape: object
Optional buyer-side output expectations narrower than or equal to the referenced standing offer.
pricing/max-amount¶
- Required:
yes - Shape: integer
Maximum total price in minor units the buyer is willing to accept for this order. When pricing/currency = ORC, the value uses ORC minor units with fixed scale 2.
pricing/currency¶
- Required:
yes - Shape: string
Settlement unit or currency symbol expected by the buyer.
delivery/requested-by¶
- Required:
no - Shape: string
Optional stricter delivery expectation imposed by the buyer. The host must reject values that exceed offer bounds or policy.
workflow/run-id¶
- Required:
no - Shape: string
Optional buyer-side workflow run identifier, for example from Arca.
workflow/phase-id¶
- Required:
no - Shape: string
Optional buyer-side workflow phase identifier, for example one phase within a recurring orchestration.
lineage/upstream-refs¶
- Required:
no - Shape: array
Optional refs to upstream artifacts or prior workflow outputs that justify this purchase.
policy_annotations¶
- Required:
no - Shape: object
Optional buyer-local or federation-local annotations that do not redefine the core purchase semantics.
signature¶
- Required:
yes - Shape: ref:
#/$defs/signature
Definition Semantics¶
$defs.signature¶
- Shape: object