laydyne.com
Describe your space and workflow to AI. Build layouts, adapt process scenarios, and compare simulations through MCP or the built-in assistant.
First seen 2026-10-05 · Last seen 2026-10-05 · Source: webmcp.com
Answer 27 · Act 33 · Transact 4 · Score: Not yet scored
Tool inspector
put_process_scenario
Create or replace a complete declarative scenario by ID and make it active. Compose the primitives and parameters described by get_process_catalog. repeat writes what each building, floor or till has once and saves a copy per binding (the catalog's repeat). result=brief returns only the saved scenario’s summary (not its complete definition) and the activeId; omitted or result=full returns the whole workspace as before. This free operation validates and saves the definition without running it. Uses the same revision and atomic mutation lock as geometry edits.
Page: /studio
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
expectedRevision |
string | yes | Use revision from the most recent get_space or successful edit. |
scenario |
object | yes | — |
result |
string | no | — |
repeat |
array | no | Items written once and copied for each binding of their variables, then saved as the copies after the scenario's own (a repeat's binding by binding): {"forEach": {"b": ["A", "B", "C", "D"]}, "processes": [{"id": "parcel-{b}", "steps": [{"type": "goto", "to": {"tag": "lobby", "structure": "{b}"}}, …]}], "resources": [{"id": "boxes-{b}", "capacity": 2}]}. {name} in any string value becomes the value ("{level}" alone becomes a number when the value is one); keys stay. Lists: resources, processes, arrivals, equipment, activities, lifts, stores. The scenario may leave processes empty when a repeat gives them. list_process_scenarios shows the copies; resend the repeat to change them all. |
operationId |
string | no | Your own unique name for this change, such as a UUID; optional. Sending the same call again with the same operationId returns the earlier result (replayed: true) instead of applying it twice, and get_operation tells whether it applied. Use a new one for each new change. |
requestGroupId |
string | no | Attach this live edit to an open request group. Requires a fixed operationId and the current owned expectedRevision. Only the advertised five editing tools support groups. |
Raw JSON schema
{
"type": "object",
"properties": {
"expectedRevision": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Use revision from the most recent get_space or successful edit."
},
"scenario": {
"type": "object",
"properties": {
"version": {
"default": 2,
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 6
},
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 8
},
{
"type": "number",
"const": 9
},
{
"type": "number",
"const": 10
}
]
},
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"horizonSeconds": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 604800
},
"warmupSeconds": {
"description": "Seconds before statistics start (less than horizonSeconds): means, maxima, utilisation, rates and distances cover [warmupSeconds, horizonSeconds]; result.observation gives the window, throughput and work in progress.",
"type": "number",
"minimum": 0,
"maximum": 604800
},
"parameters": {
"default": {},
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"additionalProperties": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
}
},
"resources": {
"default": [],
"maxItems": 128,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"capacity": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "Units: a whole number from 1 to 10000, or {\"parameter\": name} or {\"expr\": ...} whose value is one."
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"mode": {
"type": "string",
"enum": [
"occupy",
"transit"
]
},
"role": {
"description": "equipment (machine/station slots), zone (an area held by position) or shared (staff pool, no place); older reading when left out.",
"type": "string",
"enum": [
"equipment",
"zone",
"shared"
]
},
"queue": {
"description": "Where those waiting for it line up in playback: floor-local points (x, z metres) from where the one served stands back along the line, spacing in metres (0.8 by default). Display only: waiting times and order do not change.",
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"points": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
},
"spacing": {
"type": "number",
"minimum": 0.3,
"maximum": 5
}
},
"required": [
"floor",
"points"
],
"additionalProperties": false
},
"queues": {
"description": "More waiting lines at its other entrances (a restroom with two doors, a counter served from both ends), with queue: each one waiting stands on the line nearest to where it is when it starts to wait. Display only.",
"minItems": 1,
"maxItems": 7,
"type": "array",
"items": {
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"points": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
},
"spacing": {
"type": "number",
"minimum": 0.3,
"maximum": 5
}
},
"required": [
"floor",
"points"
],
"additionalProperties": false
}
},
"shifts": {
"description": "Version 6: the capacity from each time on (a shift, a break, a lunch cover, a room closed at night), times increasing; capacity applies before the first. Units in use when it drops are kept until released (those inside a zone stay until they leave); new requests wait.",
"minItems": 1,
"maxItems": 96,
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "Seconds from the start of the run."
},
"capacity": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "Units from then on: 0 closes it (a break)."
}
},
"required": [
"from",
"capacity"
],
"additionalProperties": false
}
},
"failures": {
"description": "Version 6: the resource breaks down now and then (a machine, a lift truck). While it is down it takes no one; a job holding it in a delay step stops working and goes on for the time it had left once it is repaired. Draws come from a stream of the resource's own. Not a zone.",
"type": "object",
"properties": {
"betweenSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
],
"description": "Seconds from the start, or from a repair, to the next failure: {\"random\": \"exponential\", \"mean\": 7200} for failures two hours apart on average."
},
"repairSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
],
"description": "Seconds each repair takes."
}
},
"required": [
"betweenSeconds",
"repairSeconds"
],
"additionalProperties": false
},
"setupSeconds": {
"description": "Version 6: a changeover. A job whose acquire brings another family than the last job's holds the resource this many seconds more before its next step (drawn from a stream of the resource's own); the first job, and one of the same family, none.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"lifecycle": {
"type": "object",
"properties": {
"states": {
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"initial": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"transitions": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "array",
"prefixItems": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
}
},
"required": [
"states",
"initial",
"transitions"
],
"additionalProperties": false
},
"perPart": {
"description": "Version 6, with at by tag: one resource of this capacity (and shifts) at each part with the tag, named <id>@<part id>: twenty machines, forty desks. An acquire of it takes the one at the part the job is at, or with at {\"recall\": name} at a place the job remembered; release gives back the one it holds. Results list each part's resource. Not a zone, a branch option or a state condition.",
"type": "boolean"
}
},
"required": [
"id",
"capacity"
],
"additionalProperties": false
}
},
"processes": {
"minItems": 1,
"maxItems": 256,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"agent": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"steps": {
"minItems": 1,
"maxItems": 128,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "delay"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"durationSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
}
},
"required": [
"type",
"durationSeconds"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "waitUntil"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"time": {
"description": "Seconds from the start of the run; give time or schedule.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"schedule": {
"description": "A schedule id: wait for its next time at or after now; give time or schedule.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "acquire"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"resourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"state": {
"type": "object",
"properties": {
"from": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"to": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"select": {
"type": "string",
"const": "matching_state"
},
"remember": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"units": {
"default": 1,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"at": {
"description": "A resource per part (perPart): take the one at a place the job remembered (goto or arrival remember), instead of the one at the part it is at.",
"type": "object",
"properties": {
"recall": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"recall"
],
"additionalProperties": false
},
"family": {
"description": "On a resource with setupSeconds (version 6): the product family the job brings. Another family than the last job's takes a changeover first.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"priority": {
"description": "Higher is served first among those waiting (0 when left out); equal priorities first come, first served.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"patience": {
"description": "Seconds the job waits at most: then it leaves the line and goes on in otherwise (reneging).",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"balk": {
"description": "With this many or more already waiting, the job does not join the line and goes on in otherwise at once (balking).",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"otherwise": {
"description": "The process a job that gives up (patience) or does not join (balk) goes on in; as a branch, it does not come back.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"type",
"resourceId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "release"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"resourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"units": {
"default": 1,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"nextState": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"returnHome": {
"type": "boolean"
}
},
"required": [
"type",
"resourceId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "state"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"resourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"from": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"to": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"type",
"resourceId",
"from",
"to"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "move"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"from": {
"type": "object",
"properties": {
"x": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"y": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"z": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"to": {
"type": "object",
"properties": {
"x": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"y": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"z": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"speedMetersPerSecond": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"type",
"from",
"to",
"speedMetersPerSecond"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "goto"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"to": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"speed": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"remember": {
"description": "Remember the place this goto chose under the name; a later goto to {\"recall\": name} goes back to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"type",
"to"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "call"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"count": {
"default": 1,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"repeat": {
"type": "object",
"properties": {
"probability": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
],
"description": "Chance (0 to 1) of one more run after each run: drawn from the job's stream each time."
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "At most this many more runs."
}
},
"required": [
"probability",
"max"
],
"additionalProperties": false
}
},
"required": [
"type",
"processId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "take"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"store": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"units": {
"default": 1,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
}
},
"required": [
"type",
"store"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "put"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"store": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"units": {
"default": 1,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
}
},
"required": [
"type",
"store"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "batch"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"size": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
}
},
"required": [
"type",
"size",
"processId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "branch"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"by": {
"description": "weight (default): random by weight (no option with a weight: equally likely). free: an option whose resource is free (counting jobs on their way to it), else the one with the fewest ahead; ties in turn. state (version 6): the first option whose when holds, the last (without when) otherwise.",
"type": "string",
"enum": [
"weight",
"free",
"state"
]
},
"prefer": {
"description": "by \"free\": among equally free options, the one whose resource place (at) is the nearest by route.",
"type": "string",
"enum": [
"nearest"
]
},
"reselect": {
"description": "by free, plain FIFO resources only: while actually queued, switch at most once per branch traversal after same-time FIFO service, only to a reachable open option with a strictly lower behind rank. No change while moving or holding the resource; not continuous optimization or a waiting-time prediction.",
"type": "string",
"const": "once_while_waiting"
},
"open": {
"description": "by \"free\": only the first n options are open (a whole number or a parameter).",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"options": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"weight": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"resourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"when": {
"anyOf": [
{
"type": "object",
"properties": {
"queue": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"atMost": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"atLeast": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"queue"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"free": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"atMost": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"atLeast": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"free"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"level": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"atMost": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"atLeast": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"level"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"time": {
"type": "object",
"properties": {
"from": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"to": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
}
},
"required": [
"time"
],
"additionalProperties": false
}
]
}
},
"required": [
"processId"
],
"additionalProperties": false
}
}
},
"required": [
"type",
"options"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "finish"
},
"id": {
"description": "Stable step name, unique within its process; activities refer to it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"type"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"id",
"steps"
],
"additionalProperties": false
}
},
"arrivals": {
"maxItems": 256,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"startSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"remember": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"mode": {
"type": "string",
"const": "count"
},
"count": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"intervalSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"id",
"processId",
"mode",
"count"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"startSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"remember": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"mode": {
"type": "string",
"const": "interval"
},
"durationSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"intervalSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"id",
"processId",
"mode",
"durationSeconds",
"intervalSeconds"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"startSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"remember": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"mode": {
"type": "string",
"const": "poisson"
},
"ratePerHour": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"durationSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"profile": {
"description": "Instead of ratePerHour and durationSeconds: consecutive segments from startSeconds, each {durationSeconds, ratePerHour} (0 for none).",
"minItems": 1,
"maxItems": 96,
"type": "array",
"items": {
"type": "object",
"properties": {
"durationSeconds": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
},
"ratePerHour": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "uniform-int"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "triangular"
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"mode": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"max": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"min",
"mode",
"max"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"random": {
"type": "string",
"const": "exponential"
},
"mean": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"random",
"mean"
],
"additionalProperties": false
}
]
}
},
"required": [
"durationSeconds",
"ratePerHour"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"processId",
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"startSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"remember": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"mode": {
"type": "string",
"const": "schedule"
},
"schedule": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"count": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"intervalSeconds": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
},
"required": [
"id",
"processId",
"mode",
"schedule",
"count"
],
"additionalProperties": false
}
]
}
},
"schedules": {
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"times": {
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"id",
"times"
],
"additionalProperties": false
}
},
"agents": {
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"oneWayPassages": {
"minItems": 1,
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"object": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"direction": {
"type": "string",
"enum": [
"forward",
"backward"
]
}
},
"required": [
"floor",
"object",
"direction"
],
"additionalProperties": false
},
"description": "Building-graph goto/pool crossings of named wall openings (not straight-distance move or simulate_space): [{floor, object, direction: \"forward\" | \"backward\"}]. Forward follows the opening passageHeading; backward opposes it. Exact IDs, at most 64, no duplicates. Real endpoints on a governed opening plane are invalid; physical clearance still applies."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"appearance": {
"type": "string",
"enum": [
"person",
"amr",
"forklift",
"cleaner",
"truck",
"car",
"item"
]
},
"radius": {
"type": "number",
"minimum": 0.1,
"maximum": 1.5
},
"speed": {
"type": "number",
"minimum": 0.05,
"maximum": 5
},
"height": {
"type": "number",
"minimum": 0.1,
"maximum": 4.5
},
"links": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"passage",
"stairs",
"elevator",
"escalator"
]
}
},
"avoid": {
"description": "Parts this class does not go on or through, though others may: [{\"tag\": \"staff-only\"}] keeps customers out of the counter, [{\"kind\": \"sidewalk\"}] cars off the pavement. By tag, kind or {\"object\", \"floor\"?}. A place on one moves to the nearest point outside it (within 3 m).",
"maxItems": 16,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"tag"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"wall",
"column",
"zone",
"desk",
"table",
"chair",
"sofa",
"cabinet",
"shelf",
"display",
"counter",
"rack",
"pallet",
"machine",
"booth",
"stage",
"bed",
"plant",
"block",
"partition",
"door",
"window",
"stairs",
"elevator",
"escalator",
"round_table",
"bookshelf",
"locker",
"whiteboard",
"wardrobe",
"kitchen",
"fridge",
"rug",
"checkout",
"fridge_case",
"clothes_rack",
"kiosk",
"conveyor",
"workbench",
"roll_cage",
"container",
"tank",
"forklift",
"charger",
"dock_door",
"seating_row",
"podium",
"screen",
"barrier",
"building",
"parking",
"road",
"sidewalk",
"lawn",
"tree",
"car",
"truck",
"fence",
"gate",
"bench",
"pole",
"person",
"toilet",
"washbasin",
"urinal",
"atm",
"pos_terminal",
"coffee_machine",
"oven",
"dishwasher",
"microwave",
"stool",
"parasol",
"showcase",
"menu_board",
"planter",
"sign",
"shopping_cart",
"cart_corral",
"bicycle",
"dock_shelter",
"dock_leveler",
"wheel_stop",
"fire_extinguisher",
"robot_arm",
"mobile_robot",
"pod",
"sorter",
"spiral_conveyor",
"chute",
"carton_erector",
"aircraft",
"jet_bridge",
"baggage_carousel",
"security_scanner",
"metal_detector",
"self_checkout",
"platform_trolley",
"crate_stack",
"toilet_cubicle",
"gable_roof",
"barrel_roof",
"solid"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"object"
],
"additionalProperties": false
}
]
}
},
"passThrough": {
"description": "Blocking parts this class goes through, though others cannot: [{\"kind\": \"wheel_stop\"}, {\"tag\": \"bollard\"}] let people past what stops cars. By tag, kind or {\"object\", \"floor\"?}.",
"maxItems": 16,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"tag"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"wall",
"column",
"zone",
"desk",
"table",
"chair",
"sofa",
"cabinet",
"shelf",
"display",
"counter",
"rack",
"pallet",
"machine",
"booth",
"stage",
"bed",
"plant",
"block",
"partition",
"door",
"window",
"stairs",
"elevator",
"escalator",
"round_table",
"bookshelf",
"locker",
"whiteboard",
"wardrobe",
"kitchen",
"fridge",
"rug",
"checkout",
"fridge_case",
"clothes_rack",
"kiosk",
"conveyor",
"workbench",
"roll_cage",
"container",
"tank",
"forklift",
"charger",
"dock_door",
"seating_row",
"podium",
"screen",
"barrier",
"building",
"parking",
"road",
"sidewalk",
"lawn",
"tree",
"car",
"truck",
"fence",
"gate",
"bench",
"pole",
"person",
"toilet",
"washbasin",
"urinal",
"atm",
"pos_terminal",
"coffee_machine",
"oven",
"dishwasher",
"microwave",
"stool",
"parasol",
"showcase",
"menu_board",
"planter",
"sign",
"shopping_cart",
"cart_corral",
"bicycle",
"dock_shelter",
"dock_leveler",
"wheel_stop",
"fire_extinguisher",
"robot_arm",
"mobile_robot",
"pod",
"sorter",
"spiral_conveyor",
"chute",
"carton_erector",
"aircraft",
"jet_bridge",
"baggage_carousel",
"security_scanner",
"metal_detector",
"self_checkout",
"platform_trolley",
"crate_stack",
"toilet_cubicle",
"gable_roof",
"barrel_roof",
"solid"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"object"
],
"additionalProperties": false
}
]
}
},
"avoidLinks": {
"description": "Connections (by id) this class may not use though its kind allows it: a staff-only door, a goods lift.",
"maxItems": 64,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"linkFactors": {
"description": "How many times longer this class counts a kind of connection when choosing a route (1 to 20): {\"stairs\": 4} makes people take the escalator unless the stairs save a lot. Only the choice changes: the route is walked at its real length and speed.",
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"passage",
"stairs",
"elevator",
"escalator"
]
},
"additionalProperties": {
"type": "number",
"minimum": 1,
"maximum": 20
}
},
"areaFactors": {
"description": "Ground this class keeps off where it can, counted this many times longer when choosing a route (1 to 20): [{\"parts\": {\"tag\": \"lawn\"}, \"factor\": 3}] walks round a lawn unless the way across saves two thirds of the walk; parking bays, a planted bed. The parts stay passable; the route is walked at its real length and speed.",
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"parts": {
"anyOf": [
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"tag"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"wall",
"column",
"zone",
"desk",
"table",
"chair",
"sofa",
"cabinet",
"shelf",
"display",
"counter",
"rack",
"pallet",
"machine",
"booth",
"stage",
"bed",
"plant",
"block",
"partition",
"door",
"window",
"stairs",
"elevator",
"escalator",
"round_table",
"bookshelf",
"locker",
"whiteboard",
"wardrobe",
"kitchen",
"fridge",
"rug",
"checkout",
"fridge_case",
"clothes_rack",
"kiosk",
"conveyor",
"workbench",
"roll_cage",
"container",
"tank",
"forklift",
"charger",
"dock_door",
"seating_row",
"podium",
"screen",
"barrier",
"building",
"parking",
"road",
"sidewalk",
"lawn",
"tree",
"car",
"truck",
"fence",
"gate",
"bench",
"pole",
"person",
"toilet",
"washbasin",
"urinal",
"atm",
"pos_terminal",
"coffee_machine",
"oven",
"dishwasher",
"microwave",
"stool",
"parasol",
"showcase",
"menu_board",
"planter",
"sign",
"shopping_cart",
"cart_corral",
"bicycle",
"dock_shelter",
"dock_leveler",
"wheel_stop",
"fire_extinguisher",
"robot_arm",
"mobile_robot",
"pod",
"sorter",
"spiral_conveyor",
"chute",
"carton_erector",
"aircraft",
"jet_bridge",
"baggage_carousel",
"security_scanner",
"metal_detector",
"self_checkout",
"platform_trolley",
"crate_stack",
"toilet_cubicle",
"gable_roof",
"barrel_roof",
"solid"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"object"
],
"additionalProperties": false
}
]
},
"factor": {
"type": "number",
"minimum": 1,
"maximum": 20
}
},
"required": [
"parts",
"factor"
],
"additionalProperties": false
}
},
"count": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 64
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"home": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"homePerUnit": {
"description": "With a home by tag: each unit its own part of the tag (its charger, its parking bay) in plan order, starting again from the first when there are more units than parts. Units return there with returnHome.",
"type": "boolean"
},
"dispatch": {
"type": "string",
"enum": [
"first_free",
"nearest"
]
},
"parking": {
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"points": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
},
"spacing": {
"type": "number",
"minimum": 0.3,
"maximum": 5
}
},
"required": [
"floor",
"points"
],
"additionalProperties": false
},
"shifts": {
"description": "A pool: units in service from each time on (a shift, a break, fewer vehicles at night), times increasing; count applies before the first and the pool has as many units as the most of them. Free units go off first; a busy unit finishes its job (and its way home with returnHome) before it goes off; units come back in unit order.",
"minItems": 1,
"maxItems": 96,
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "Seconds from the start of the run."
},
"count": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
],
"description": "Units in service from then on: 0 takes them all off (a break)."
}
},
"required": [
"from",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"radius",
"speed"
],
"additionalProperties": false
}
},
"parallelLinks": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"links": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"links"
],
"additionalProperties": false
},
"description": "Scenario version 9: explicit groups of 2–32 ordinary connection IDs sharing the same two floors and exactly the same local endpoints. At the common entrance, choose once by live jobs ahead, then original crossing seconds, then stable connection ID. No queue reselection, predicted delay or global ETA. Lift cars and overlapping groups are refused."
},
"equipment": {
"maxItems": 128,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"part": {
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": [
"floor",
"object"
],
"additionalProperties": false
},
"resourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"processIds": {
"maxItems": 64,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
}
},
"required": [
"id",
"part",
"resourceId"
],
"additionalProperties": false
}
},
"activities": {
"maxItems": 512,
"type": "array",
"items": {
"type": "object",
"properties": {
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"stepId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"kind": {
"type": "string",
"enum": [
"work",
"load",
"unload",
"wait",
"convey"
]
},
"equipmentId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"cargo": {
"type": "string",
"enum": [
"box",
"tote",
"pallet",
"bag",
"pod",
"roll_cage",
"trolley",
"luggage"
]
},
"path": {
"description": "A convey activity: {floor, points: [{x, z}, …]} the product travels along during the delay, first point to last, drawn as an item when nothing carries it (a conveyor, a chute). Display only.",
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"points": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
}
},
"required": [
"floor",
"points"
],
"additionalProperties": false
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"processId",
"stepId",
"kind"
],
"additionalProperties": false
}
},
"lifts": {
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Any elevator connection of the shaft: its cars serve every elevator connection stacked with it."
},
"cars": {
"description": "Cars serving the shaft (1–8).",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"capacity": {
"description": "People one car holds; unlimited when neither this nor the connections say.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"doorSeconds": {
"description": "The doors opening plus closing at a stop, seconds.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"dwellSeconds": {
"description": "The doors held open at a stop, seconds.",
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"queues": {
"description": "Where those waiting for a car stand in playback, one line per floor of the shaft (its first point by the lift doors). Display only.",
"maxItems": 120,
"type": "array",
"items": {
"type": "object",
"properties": {
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"points": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
}
},
"spacing": {
"type": "number",
"minimum": 0.3,
"maximum": 5
}
},
"required": [
"floor",
"points"
],
"additionalProperties": false
}
}
},
"required": [
"link"
],
"additionalProperties": false
}
},
"stores": {
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"initial": {
"default": 0,
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"capacity": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
},
"reorder": {
"type": "object",
"properties": {
"point": {
"anyOf": [
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expr": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Arithmetic over parameters: + - * /, parentheses, min(a, b, …), max(…), round(x), floor(x), ceil(x); names are parameter ids made of letters, digits and _."
}
},
"required": [
"expr"
],
"additionalProperties": false
}
]
},
"processId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"at": {
"type": "object",
"properties": {
"object": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"tag": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,24}$"
},
"point": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 500
},
"z": {
"type": "number",
"minimum": 0,
"maximum": 500
}
},
"required": [
"x",
"z"
],
"additionalProperties": false
},
"link": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"end": {
"type": "string",
"enum": [
"from",
"to"
]
},
"floor": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"structure": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$"
},
"pick": {
"type": "string",
"enum": [
"nearest",
"random",
"least_occupied",
"free"
]
},
"recall": {
"description": "The place this job remembered under the name (goto only): a goto or an arrival with remember stored it.",
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
},
"spot": {
"description": "Stand at one of the spots inside a zone part (0.8 m apart) instead of its centre: random, or free (one nobody else is at or on the way to).",
"type": "string",
"enum": [
"random",
"free"
]
},
"within": {
"description": "With a tag, in a goto: only its parts on the floor area the job is on (floor), on its level of the same building (level: the hall of the storey it is on), or in its building (structure; the ground when it is in none).",
"type": "string",
"enum": [
"floor",
"level",
"structure"
]
},
"side": {
"description": "Stand beside a part that is in the way on this side instead of the nearest free point: north (towards smaller z), south, east or west on the plan; or front (the side it faces: a counter’s customer side, a machine’s working side) or back, for parts with a front (get_part_catalog front: true), turning with the part.",
"type": "string",
"enum": [
"north",
"south",
"east",
"west",
"front",
"back"
]
},
"open": {
"description": "Only the first n parts with the tag (building order: floor, then part id) are candidates: the open tills.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
}
},
"required": [
"point",
"processId"
],
"additionalProperties": false
}
},
"required": [
"id"
],
"additionalProperties": false
}
},
"maxEvents": {
"default": 100000,
"type": "integer",
"minimum": 1,
"maximum": 250000
},
"traceLimit": {
"default": 500,
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"runs": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"id",
"name",
"horizonSeconds",
"processes",
"arrivals"
],
"additionalProperties": false
},
"result": {
"type": "string",
"enum": [
"full",
"brief"
]
},
"repeat": {
"description": "Items written once and copied for each binding of their variables, then saved as the copies after the scenario's own (a repeat's binding by binding): {\"forEach\": {\"b\": [\"A\", \"B\", \"C\", \"D\"]}, \"processes\": [{\"id\": \"parcel-{b}\", \"steps\": [{\"type\": \"goto\", \"to\": {\"tag\": \"lobby\", \"structure\": \"{b}\"}}, …]}], \"resources\": [{\"id\": \"boxes-{b}\", \"capacity\": 2}]}. {name} in any string value becomes the value (\"{level}\" alone becomes a number when the value is one); keys stay. Lists: resources, processes, arrivals, equipment, activities, lifts, stores. The scenario may leave processes empty when a repeat gives them. list_process_scenarios shows the copies; resend the repeat to change them all.",
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"forEach": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,31}$"
},
"additionalProperties": {
"minItems": 1,
"maxItems": 256,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,64}$"
},
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
}
]
}
}
},
{
"minItems": 1,
"maxItems": 256,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,31}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,64}$"
},
{
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
}
]
}
}
}
],
"description": "The bindings: {\"b\": [\"A\", \"B\"], \"level\": [3, 4]} takes every combination (A3, A4, B3, B4); a list of objects ([{\"b\": \"A\", \"level\": 3}, {\"b\": \"B\", \"level\": 5}]) takes exactly those."
},
"resources": {
"description": "Items as in scenario.resources, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"processes": {
"description": "Items as in scenario.processes, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"arrivals": {
"description": "Items as in scenario.arrivals, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"equipment": {
"description": "Items as in scenario.equipment, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"activities": {
"description": "Items as in scenario.activities, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"lifts": {
"description": "Items as in scenario.lifts, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"stores": {
"description": "Items as in scenario.stores, with {name} where a binding's value goes.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"forEach"
],
"additionalProperties": false
}
},
"operationId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,99}$",
"description": "Your own unique name for this change, such as a UUID; optional. Sending the same call again with the same operationId returns the earlier result (replayed: true) instead of applying it twice, and get_operation tells whether it applied. Use a new one for each new change."
},
"requestGroupId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Attach this live edit to an open request group. Requires a fixed operationId and the current owned expectedRevision. Only the advertised five editing tools support groups."
}
},
"required": [
"expectedRevision",
"scenario"
],
"additionalProperties": false
}
Similar websites
eworker.ca
E-Worker is business infrastructure powered by AI, with focused apps and connected business work.
takemeup.cv
Free CV builder: make a polished, ATS-friendly CV in minutes. No watermarks, no sign-up. Import from LinkedIn, tailor to any job, export PDF.
urban-planning-copilot.heisenbug.in
Urban Planning Copilot
vide.zerdalu.com
Vide