Raw schema
{
"type": "object",
"properties": {
"demands": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"fixed-flow"
]
},
"flowLpm": {
"type": "number",
"exclusiveMinimum": 0
},
"pressureBar": {
"type": "number",
"exclusiveMinimum": 0
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"dutyFactor": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1
}
},
"required": [
"flowLpm",
"pressureBar"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"per-action"
]
},
"litersPerAction": {
"type": "number",
"exclusiveMinimum": 0
},
"actionsPerMinute": {
"type": "number",
"exclusiveMinimum": 0
},
"pressureBar": {
"type": "number",
"exclusiveMinimum": 0
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"model",
"litersPerAction",
"actionsPerMinute",
"pressureBar"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"inflation"
]
},
"volumeLiters": {
"type": "number",
"exclusiveMinimum": 0
},
"initialPressureBar": {
"type": "number",
"minimum": 0
},
"targetPressureBar": {
"type": "number",
"exclusiveMinimum": 0
},
"targetMinutes": {
"type": "number",
"exclusiveMinimum": 0
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"model",
"volumeLiters",
"initialPressureBar",
"targetPressureBar",
"targetMinutes"
],
"additionalProperties": false
}
]
}
},
"mode": {
"type": "string",
"enum": [
"simultaneous",
"successive"
]
},
"safetyMargin": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"measuredLeakLpm": {
"type": "number",
"minimum": 0,
"maximum": 10000
},
"measuredPressureDropBar": {
"type": "number",
"minimum": 0,
"maximum": 50
}
},
"required": [
"demands"
],
"additionalProperties": false
}