Download OpenAPI specification:
Production system of ACME analog Inc. (formerly ACMEprod). System of record for products, bills of materials (BOM) and production planning. Core capabilities:
holds the BOM per product (raw materials from ACMEsupply + labor and energy units/kWh),
forecasts the material demand (supply projection) from the open production contracts (ACMEcrm) and the available capacity (workers/shifts, from ACMEhr),
answers via the feasibility API whether a contract (products, quantities, delivery date) can be fulfilled — and if not, which resource is scarce (worker or material).
Roles (ACMEbase): WATCH reads, WORK writes operationally, ADMIN maintains master data (products/BOM). The role required per operation is given under x-required-role.
| productId required | string |
| laborUnits required | number Labor units per piece. |
| energyUnits required | number Energy per piece (kWh). |
required | Array of objects (BomLine) |
[- {
- "productId": "string",
- "laborUnits": 0,
- "energyUnits": 0,
- "lines": [
- {
- "materialId": "string",
- "quantity": 0
}
]
}
]| id required | string Product ID. |
| productId required | string |
| laborUnits required | number Labor units per piece. |
| energyUnits required | number Energy per piece (kWh). |
required | Array of objects (BomLine) |
{- "productId": "string",
- "laborUnits": 0,
- "energyUnits": 0,
- "lines": [
- {
- "materialId": "string",
- "quantity": 0
}
]
}| id required | string Product ID. |
| laborUnits required | number |
| energyUnits required | number |
required | Array of objects (BomLine) |
| productId required | string |
| laborUnits required | number Labor units per piece. |
| energyUnits required | number Energy per piece (kWh). |
required | Array of objects (BomLine) |
{- "laborUnits": 0,
- "energyUnits": 0,
- "lines": [
- {
- "materialId": "string",
- "quantity": 0
}
]
}{- "productId": "string",
- "laborUnits": 0,
- "energyUnits": 0,
- "lines": [
- {
- "materialId": "string",
- "quantity": 0
}
]
}Planned daily capacity from factory/port workers (availability from ACMEhr) and the labor/port units per worker and day.
| factoryWorkers required | integer Available factory workers (from ACMEhr). |
| laborUnitsPerWorkerDay required | number Labor units per worker and day. |
| factoryLaborUnitsPerDay required | number Total labor capacity/day (workers × units). |
| harborWorkers required | integer Available port workers (shipping). |
| harborUnitsPerWorkerDay required | integer Shipping units per port worker and day. |
| harborUnitsPerDay required | integer Total shipping capacity/day. |
{- "factoryWorkers": 0,
- "laborUnitsPerWorkerDay": 0,
- "factoryLaborUnitsPerDay": 0,
- "harborWorkers": 0,
- "harborUnitsPerWorkerDay": 0,
- "harborUnitsPerDay": 0
}Aggregated material demand over the horizon, derived from the open production contracts (ACMEcrm) and the BOMs. Basis for procurement in ACMEsupply.
| horizonDays | integer >= 1 Default: 30 Planning horizon in days. |
| horizonDays required | integer |
required | Array of objects (SupplyProjectionItem) |
{- "horizonDays": 0,
- "materials": [
- {
- "materialId": "string",
- "requiredQuantity": 0
}
]
}Checks a contract specification (products, quantities, delivery date) against capacity and material availability. Non-mutating. Returns feasible and — if not — the scarce resources (worker or material) with the shortfall.
required | Array of objects (FeasibilityItem) non-empty |
| dueDate | string <date> Desired delivery date (leave open = earliest possible). |
| feasible required | boolean |
| earliestDate | string <date> Earliest possible delivery date at current capacity (if computable). |
| requiredLaborUnits required | number Total labor units required for the specification. |
required | Array of objects (MaterialRequirement) |
required | Array of objects (ScarceResource) Scarce resources; empty when feasible=true. |
{- "items": [
- {
- "productId": "string",
- "quantity": 1
}
], - "dueDate": "2019-08-24"
}{- "feasible": true,
- "earliestDate": "2019-08-24",
- "requiredLaborUnits": 0,
- "requiredMaterials": [
- {
- "materialId": "string",
- "requiredQuantity": 0,
- "availableQuantity": 0
}
], - "scarce": [
- {
- "resource": "WORKER",
- "reference": "string",
- "shortfall": 0
}
]
}