resource-control/schemas/procurement-terms.schema.json
tegwick f8d1c542d5 feat: operational resource procurement facility
Implement RESOURCE-WP-0005: entity register, V0.1 terms parameters,
entity association on inventory and planning records, transfer-price
and credit-state arithmetic, monthly settlement, and entity views on
the portfolio report. Live close emits nothing until delivered cost
is known. Handoffs are FIN-WP-0006 and RAILIANCE-WP-0017.
2026-08-14 13:15:02 +02:00

37 lines
1.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://coulomb.social/resource-control/procurement-terms.schema.json",
"title": "Terms of Resource Procurement parameters",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"terms_version",
"currency",
"markup_rate",
"railiance_self_markup_rate",
"settlement_period",
"payment_term_days",
"interest_rate_per_year",
"interest_convention",
"default_credit_limit_eur",
"restricted_monthly_consumption_eur",
"procuring_entity_id",
"labor_rate_eur_per_hour"
],
"properties": {
"schema_version": {"const": "0.1"},
"terms_version": {"type": "string", "minLength": 1},
"currency": {"const": "EUR"},
"markup_rate": {"type": "string", "pattern": "^0\\.[0-9]{2}$"},
"railiance_self_markup_rate": {"type": "string", "pattern": "^0\\.[0-9]{2}$"},
"settlement_period": {"const": "calendar_month"},
"payment_term_days": {"type": "integer", "minimum": 1},
"interest_rate_per_year": {"type": "string", "pattern": "^0\\.[0-9]{2}$"},
"interest_convention": {"const": "simple_monthly"},
"default_credit_limit_eur": {"type": "string", "pattern": "^(0|[1-9][0-9]*)\\.[0-9]{2}$"},
"restricted_monthly_consumption_eur": {"type": "string", "pattern": "^(0|[1-9][0-9]*)\\.[0-9]{2}$"},
"procuring_entity_id": {"type": "string", "pattern": "^entity:[a-z0-9]+$"},
"labor_rate_eur_per_hour": {"type": "string", "pattern": "^(0|[1-9][0-9]*)\\.[0-9]{2}$"}
}
}