Skip to content

Augmented Operations Management API (1.0.0)

Overview

This API provides backend services for the Augmented Decision Making application, focusing on the efficient scheduling and assignment of tasks Operations to a given Resources.

The system models the following key entities:

  • Locations: Representing physical areas
  • Resources: Specific assignable assets within a location.
  • Tasks: Represent individual events, jobs. Tasks include detailed time information (planned, expected, actual) and model uncertainty using statistical parameters (sigma, skew factor, distribution mean/earliest/latest). Tasks also support versioning to track updates.
  • Operations: Represent a complete operation, linking an inbound task to an outbound task. Operations contain relevant metadata.
  • Assignments: Link an Operation to a specific Resource for a given time period.
  • Tags: Can be used to restrict possible assignments as well as indicate preferences or penalties.
  • Rules: Can be used to specify preferences or penalties in conjunction with the tagging mechanism.

Core Functionality

The API enables users and automated systems to:

  1. Manage Data: Perform CRUD operations on Locations, Resources, Tasks, Operations, and Assignments.
  2. Track Operations Times: Handle various time representations and update task details, including imposing delays. Task updates create new versions, preserving history.
  3. Assignments: Assign or reassign operation to resources.
  4. Detect Conflicts: Identify situations where an assigned conflicting (overlapping) with another based on their expected time windows.
  5. Resolve Conflicts: Offer mechanisms to resolve individual scheduling conflicts through AI.
  6. Optimize Globally: Offer global optimization of the schedule using various solvers to minimize conflicts and reassignments while optimizing for rules.
  7. AI Assistance: Interact with an AI agent (via the /agent/ endpoint) using natural language to query the schedule, identify conflicts, request moves, or trigger conflict resolution processes. The agent utilizes specialized tools to interact with the system's state.
  8. Real-time Updates: Delivers real-time notifications about changes to Assignments and Operations via WebSockets to subscribed clients.
  9. Virtual State Management: Allows temporary modifications to the schedule (virtual assignments) for "what-if" scenarios or agent-driven planning before potentially persisting changes.
Download OpenAPI description
Languages
Servers
Acceptance Environment
https://api.acc.adm.wearetransformers.nl

User management (authentication, current user details).

Operations

Managing locations and viewing their associated resources.

Operations

Managing resources (CRUD, listing).

Operations

Managing operations. Includes CRUD and listing with time/version filters.

Operations

Updating details (time, uncertainty) of individual tasks within operations.

Operations

Managing the assignment of operations to resources (CRUD, bulk operations, deactivation, listing per operation).

Operations

Resolving specific scheduling conflicts using heuristic search methods (streaming and non-streaming).

Operations

Globally optimizing the schedule using one of the solvers to minimize conflicts and reassignments while optimizing for rules.

Operations

Request

Get all tasks for a planning.

Security
tokenAuth
Path
idstring(uuid)required
Query
end_timestampintegerrequired
start_timestampintegerrequired
curl -i -X GET \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimization-task-results/?end_timestamp=0&start_timestamp=0' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Task status and result (if ready)

Bodyapplication/jsonArray [
Any of:
taskNamestring(Taskname)
Default null
taskIdstring(Taskid)required
discardedboolean(Discarded)required
dateStartedstring(date-time)(Datestarted)required
dateDonestring(date-time)(Datedone)required
virtualStateAviationVirtualStateInput (object) or MaritimeBerthVirtualStateInput (object) or VirtualStateInput (object)(Virtualstate)required
Any of:

This is a placeholder for the AviationStandPlanningAdapter's virtual state input.

virtualState.​experimental_tools_enabledboolean(Experimental Tools Enabled)

Whether experimental tools are enabled

Default false
virtualState.​display_window_startinteger(Display Window Start)required
virtualState.​display_window_endinteger(Display Window End)required
virtualState.​selected_timeinteger(Selected Time)required
virtualState.​forward_windowinteger(Forward Window)required
virtualState.​current_timeinteger(Current Time)required
virtualState.​controlsobject(AviationControlPanelState)required
virtualState.​controls.​attach_callbackboolean(Attach Callback)

Whether to attach a callback to the solver for live updates

Default true
virtualState.​controls.​resolution_balancenumber(Resolution Balance)required

0 strives for minimal conflicts whereas 1 strives for minimal overlap

virtualState.​controls.​rule_adherencenumber(Rule Adherence)required

0 strives for the goal of the strategy, while 1 strives for optimal rule value

virtualState.​controls.​max_runtimeinteger(Max Runtime)

Maximum runtime in seconds for the solver, default is 90 seconds

Default 60
virtualState.​controls.​optimality_gapnumber(Optimality Gap)

The acceptable optimality gap for the solver, default is 0

Default 0
virtualState.​controls.​strategystring(AviationSolutionStrategy)required
Enum"default""least_moves""max_resilience"
virtualState.​controls.​ignore_freeze_and_pastboolean(Ignore Freeze And Past)

Ignore freeze window and allow edits in the past

Default false
virtualState.​controls.​lock_left_edgeboolean(Lock Left Edge)

Lock assignments that cross the left edge of the display window

Default true
virtualState.​controls.​lock_right_edgeboolean(Lock Right Edge)

Lock assignments that cross the right edge of the display window

Default true
virtualState.​controls.​restrict_moves_to_same_locationboolean(Restrict Moves To Same Location)

Restrict candidate resources to the same location as the current assignment

Default true
virtualState.​freeze_windowinteger(Freeze Window)

Duration in seconds after the current_time during which no changes are allowed.

Default 0
virtualState.​workspace_idWorkspace Id (string) or Workspace Id (null)(Workspace Id)

Workspace ID for workspace-aware queries. None = mainline only.

Default null
Any of:

Workspace ID for workspace-aware queries. None = mainline only.

string(uuid4)(Workspace Id)
Default null
metricsobject(OptimizationMetrics)
Default null
updatedAtstring(date-time)(Updatedat)required
createdAtstring(date-time)(Createdat)required
statusstring(Status)required
Enum"PENDING""STARTED""EXPIRED""RUNNING"
optimizationResultnull(Optimizationresult)
Default null
optimizationStatusstring(Optimizationstatus)required
Value "UNKNOWN"
]
Response
application/json
[ { "taskName": null, "taskId": "string", "discarded": true, "dateStarted": "2019-08-24T14:15:22Z", "dateDone": "2019-08-24T14:15:22Z", "virtualState": {}, "metrics": {}, "updatedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "status": "PENDING", "optimizationResult": null, "optimizationStatus": "UNKNOWN" } ]

Request

Updates an optimization task. Warning: this cannot be used to change the parameters of already running or starting tasks.

Security
tokenAuth
Path
idstring(uuid)required
task_idstringrequired
Bodyapplication/json
taskNamestring
_statusstring( status)write-only
  • PENDING - Pending
  • STARTED - Started
  • RUNNING - Running
  • SUCCESS - Success
  • FAILURE - Failure
  • RETRY - Retry
  • EXPIRED - Expired
Enum"PENDING""STARTED""RUNNING""SUCCESS""FAILURE""RETRY""EXPIRED"
metricsany
optimizationLogsstring
optimizationStatusstring(OptimizationTaskResultOptimizationStatusEnum)
  • OPTIMAL - Optimal solution found
  • FEASIBLE - Feasible solution found
  • INFEASIBLE - Problem is infeasible
  • MODEL_INVALID - Model is invalid
  • ERROR - Error happened while solving
  • MODEL_BUILD_TIMEOUT - Model building took too long
  • UNKNOWN - Unknown status
Enum"OPTIMAL""FEASIBLE""INFEASIBLE""MODEL_INVALID""ERROR""MODEL_BUILD_TIMEOUT""UNKNOWN"
curl -i -X PATCH \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimization-task-results/{task_id}/' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "taskName": "string",
    "_status": "PENDING",
    "metrics": null,
    "optimizationLogs": "string",
    "optimizationStatus": "OPTIMAL"
  }'

Responses

Task status and result (if ready)

Bodyapplication/json
Any of:
taskNamestring(Taskname)
Default null
taskIdstring(Taskid)required
discardedboolean(Discarded)required
dateStartedstring(date-time)(Datestarted)required
dateDonestring(date-time)(Datedone)required
virtualStateAviationVirtualStateInput (object) or MaritimeBerthVirtualStateInput (object) or VirtualStateInput (object)(Virtualstate)required
Any of:

This is a placeholder for the AviationStandPlanningAdapter's virtual state input.

virtualState.​experimental_tools_enabledboolean(Experimental Tools Enabled)

Whether experimental tools are enabled

Default false
virtualState.​display_window_startinteger(Display Window Start)required
virtualState.​display_window_endinteger(Display Window End)required
virtualState.​selected_timeinteger(Selected Time)required
virtualState.​forward_windowinteger(Forward Window)required
virtualState.​current_timeinteger(Current Time)required
virtualState.​controlsobject(AviationControlPanelState)required
virtualState.​controls.​attach_callbackboolean(Attach Callback)

Whether to attach a callback to the solver for live updates

Default true
virtualState.​controls.​resolution_balancenumber(Resolution Balance)required

0 strives for minimal conflicts whereas 1 strives for minimal overlap

virtualState.​controls.​rule_adherencenumber(Rule Adherence)required

0 strives for the goal of the strategy, while 1 strives for optimal rule value

virtualState.​controls.​max_runtimeinteger(Max Runtime)

Maximum runtime in seconds for the solver, default is 90 seconds

Default 60
virtualState.​controls.​optimality_gapnumber(Optimality Gap)

The acceptable optimality gap for the solver, default is 0

Default 0
virtualState.​controls.​strategystring(AviationSolutionStrategy)required
Enum"default""least_moves""max_resilience"
virtualState.​controls.​ignore_freeze_and_pastboolean(Ignore Freeze And Past)

Ignore freeze window and allow edits in the past

Default false
virtualState.​controls.​lock_left_edgeboolean(Lock Left Edge)

Lock assignments that cross the left edge of the display window

Default true
virtualState.​controls.​lock_right_edgeboolean(Lock Right Edge)

Lock assignments that cross the right edge of the display window

Default true
virtualState.​controls.​restrict_moves_to_same_locationboolean(Restrict Moves To Same Location)

Restrict candidate resources to the same location as the current assignment

Default true
virtualState.​freeze_windowinteger(Freeze Window)

Duration in seconds after the current_time during which no changes are allowed.

Default 0
virtualState.​workspace_idWorkspace Id (string) or Workspace Id (null)(Workspace Id)

Workspace ID for workspace-aware queries. None = mainline only.

Default null
Any of:

Workspace ID for workspace-aware queries. None = mainline only.

string(uuid4)(Workspace Id)
Default null
metricsobject(OptimizationMetrics)
Default null
updatedAtstring(date-time)(Updatedat)required
createdAtstring(date-time)(Createdat)required
statusstring(Status)required
Enum"PENDING""STARTED""EXPIRED""RUNNING"
optimizationResultnull(Optimizationresult)
Default null
optimizationStatusstring(Optimizationstatus)required
Value "UNKNOWN"
Response
application/json
{ "taskName": null, "taskId": "string", "discarded": true, "dateStarted": "2019-08-24T14:15:22Z", "dateDone": "2019-08-24T14:15:22Z", "virtualState": { "experimental_tools_enabled": false, "display_window_start": 0, "display_window_end": 0, "selected_time": 0, "forward_window": 0, "current_time": 0, "controls": {}, "freeze_window": 0, "workspace_id": null }, "metrics": { "phase": null, "wall_time": null, "model_build_time": null, "best_obj": null, "best_bound": null, "gap": null, "num_conflicts": null, "num_branches": null }, "updatedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "status": "PENDING", "optimizationResult": null, "optimizationStatus": "UNKNOWN" }

Delete an optimization task result

Request

Deletes an optimization task result. Warning: this will not kill your running task in the background.

Security
tokenAuth
Path
idstring(uuid)required
task_idstringrequired
curl -i -X DELETE \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimization-task-results/{task_id}/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

No Content

Response
No content

Request

Get the solver data for a task.

Security
tokenAuth
Path
idstring(uuid)required
task_idstringrequired
curl -i -X GET \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimization-task-results/{task_id}/data/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
assignmentsArray of objects(Assignment)required
assignments[].​idstring(uuid)
assignments[].​operationstring(uuid)required
assignments[].​planningstring(uuid)required
assignments[].​partsArray of objects(AssignmentPart)required
assignments[].​parts[].​idstring(uuid)read-onlyrequired
assignments[].​parts[].​startAtstring or null(date-time)
assignments[].​parts[].​endAtstring or null(date-time)
assignments[].​parts[].​resourcestring or null(uuid)
assignments[].​parts[].​isFixedboolean
assignments[].​parts[].​metadataMaritimeBerthAssignmentMetadataSchema (object)
One of:

Input schema for maritime berth assignment metadata.

assignments[].​assignedAtstring or null(date-time)read-onlyrequired
assignments[].​validTostring or null(date-time)read-onlyrequired
assignments[].​assignedBystring or nullread-onlyrequired
assignments[].​workspacestring or null(uuid)read-onlyrequired
assignments[].​tombstonebooleanread-onlyrequired
operationsArray of objects(Operation)required
operations[].​idstring(uuid)
operations[].​externalIdstring or null
operations[].​planningstring(uuid)read-onlyrequired
operations[].​descriptionstring or null
operations[].​metadataAviationStandOperationMetadataSchema (object) or AviationStandDemoOperationMetadataSchema (object) or MaritimeBerthOperationMetadataSchema (object)
One of:
operations[].​isBlockerbooleanrequired
operations[].​tagsDetailsArray of objects(SimpleTag)read-onlyrequired
operations[].​tagsDetails[].​uuidstring(uuid)read-onlyrequired
operations[].​tagsDetails[].​categorystringrequired
operations[].​tagsDetails[].​valuestringrequired
operations[].​tagsDetails[].​requiredboolean
Default false
operations[].​tagsDetails[].​colorstring or null
operations[].​operationNamestringread-onlyrequired
operations[].​groupstring or null(uuid)

Group to which this operation belongs, e.g., a portcall.

operations[].​inboundTaskTaskState (object) or nullread-onlyrequired
One of:
operations[].​inboundTask.​idstring(uuid)read-onlyrequired
operations[].​inboundTask.​versionIdstring(uuid)read-onlyrequired
operations[].​inboundTask.​operationstring(uuid)read-onlyrequired
operations[].​inboundTask.​rolestring(RoleEnum)read-onlyrequired
Enum"inbound""outbound"
operations[].​inboundTask.​taskNamestringrequired
operations[].​inboundTask.​scheduledTimestring(date-time)required
operations[].​inboundTask.​expectedTimestring(date-time)required
operations[].​inboundTask.​expectedTimeP05string(date-time)
operations[].​inboundTask.​expectedTimeP10string(date-time)
operations[].​inboundTask.​expectedTimeP90string(date-time)
operations[].​inboundTask.​expectedTimeP95string(date-time)
operations[].​inboundTask.​expectedTimesSourcestring(ExpectedTimesSourceEnum)required
Enum"schedule""actual""manual""predicted""external"
operations[].​inboundTask.​actualTimestring or null(date-time)
operations[].​inboundTask.​tagsDetailsArray of objects(SimpleTag)read-onlyrequired
operations[].​inboundTask.​tagsDetails[].​uuidstring(uuid)read-onlyrequired
operations[].​inboundTask.​tagsDetails[].​categorystringrequired
operations[].​inboundTask.​tagsDetails[].​valuestringrequired
operations[].​inboundTask.​tagsDetails[].​requiredboolean
Default false
operations[].​inboundTask.​tagsDetails[].​colorstring or null
operations[].​inboundTask.​workspacestring or null(uuid)read-onlyrequired
operations[].​inboundTask.​isMockboolean
Default false
operations[].​inboundTask.​metadataAviationStandTaskMetadataSchema (object) or AviationStandDemoTaskMetadataSchema (object)
One of:

Input schema for flights (task) metadata.

operations[].​inboundTask.​createdAtstring(date-time)read-onlyrequired
operations[].​inboundTask.​validFromstring(date-time)read-onlyrequired
operations[].​inboundTask.​validTostring or null(date-time)read-onlyrequired
operations[].​inboundTask.​planningstring(uuid)read-onlyrequired
operations[].​inboundTask.​persistedbooleanread-onlyrequired
operations[].​outboundTaskTaskState (object) or nullread-onlyrequired
One of:
operations[].​outboundTask.​idstring(uuid)read-onlyrequired
operations[].​outboundTask.​versionIdstring(uuid)read-onlyrequired
operations[].​outboundTask.​operationstring(uuid)read-onlyrequired
operations[].​outboundTask.​rolestring(RoleEnum)read-onlyrequired
Enum"inbound""outbound"
operations[].​outboundTask.​taskNamestringrequired
operations[].​outboundTask.​scheduledTimestring(date-time)required
operations[].​outboundTask.​expectedTimestring(date-time)required
operations[].​outboundTask.​expectedTimeP05string(date-time)
operations[].​outboundTask.​expectedTimeP10string(date-time)
operations[].​outboundTask.​expectedTimeP90string(date-time)
operations[].​outboundTask.​expectedTimeP95string(date-time)
operations[].​outboundTask.​expectedTimesSourcestring(ExpectedTimesSourceEnum)required
Enum"schedule""actual""manual""predicted""external"
operations[].​outboundTask.​actualTimestring or null(date-time)
operations[].​outboundTask.​tagsDetailsArray of objects(SimpleTag)read-onlyrequired
operations[].​outboundTask.​tagsDetails[].​uuidstring(uuid)read-onlyrequired
operations[].​outboundTask.​tagsDetails[].​categorystringrequired
operations[].​outboundTask.​tagsDetails[].​valuestringrequired
operations[].​outboundTask.​tagsDetails[].​requiredboolean
Default false
operations[].​outboundTask.​tagsDetails[].​colorstring or null
operations[].​outboundTask.​workspacestring or null(uuid)read-onlyrequired
operations[].​outboundTask.​isMockboolean
Default false
operations[].​outboundTask.​metadataAviationStandTaskMetadataSchema (object) or AviationStandDemoTaskMetadataSchema (object)
One of:

Input schema for flights (task) metadata.

operations[].​outboundTask.​createdAtstring(date-time)read-onlyrequired
operations[].​outboundTask.​validFromstring(date-time)read-onlyrequired
operations[].​outboundTask.​validTostring or null(date-time)read-onlyrequired
operations[].​outboundTask.​planningstring(uuid)read-onlyrequired
operations[].​outboundTask.​persistedbooleanread-onlyrequired
operations[].​workspacestring or null(uuid)read-onlyrequired
resourcesArray of objects(Resource)required
resources[].​idstring(uuid)read-onlyrequired
resources[].​versionIdstring(uuid)read-onlyrequired
resources[].​workspacestring or null(uuid)read-onlyrequired
resources[].​externalIdstring or null
resources[].​namestringrequired
resources[].​orderingnumber(double)
resources[].​adjacentArray of strings or null(uuid)
resources[].​tagsDetailsArray of objects(SimpleTag)read-onlyrequired
resources[].​tagsDetails[].​uuidstring(uuid)read-onlyrequired
resources[].​tagsDetails[].​categorystringrequired
resources[].​tagsDetails[].​valuestringrequired
resources[].​tagsDetails[].​requiredboolean
Default false
resources[].​tagsDetails[].​colorstring or null
resources[].​locationstring(uuid)required
resources[].​parentstring or null(uuid)
resources[].​metadataAviationStandResourceMetadataSchema (object) or AviationStandDemoResourceMetadataSchema (object) or MaritimeBerthResourceMetadataSchema (object)
One of:

Input schema for stands metadata.

rulesArray of objects(Rule)required
rules[].​uuidstring(uuid)read-onlyrequired
rules[].​versionIdstring(uuid)read-onlyrequired
rules[].​planningstring(uuid)read-onlyrequired
rules[].​namestringrequired
rules[].​descriptionstring
rules[].​lastModifiedDatestring or null(date-time)read-onlyrequired
rules[].​lastModifiedByUser (object) or nullread-onlyrequired
One of:
rules[].​lastModifiedBy.​idintegerread-onlyrequired
rules[].​lastModifiedBy.​usernamestring<= 150 characters^[\w.@+-]+$required

Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.

rules[].​lastModifiedBy.​firstNamestringrequired
rules[].​lastModifiedBy.​lastNamestringrequired
rules[].​lastModifiedBy.​uuidstring(uuid)
rules[].​lastModifiedBy.​groupsArray of strings(GroupsEnum)read-onlyrequired
Items Enum"ADM View Only""ADM Planner""ADM Flight Manager""ADM Resource Configurator""ADM Rules & Tags Configurator"
rules[].​modulestringrequired
rules[].​configPartOperationResourceJinjaRuleConfig (object) or TagRuleConfig (object)required
One of:
rules[].​config.​polaritystring(RulePolarity)required

Defines how a rule affects assignments.

Enum"DENY""ENFORCE""PENALIZE""REWARD"
rules[].​config.​objectiveRuleObjective (string) or null

The way the rule should affect the solver, if it is a soft rule

Default null
Any of:

Defines how this rule affects the solver if it's a soft constraint

string(RuleObjective)
Default null
Enum"STRATEGY""RULES""STABILIZING"
rules[].​config.​valueValue (integer) or Value (null)(Value)

The cost value associated with the rule if it is soft. Ignored for hard rules.

Default null
Any of:

The cost value associated with the rule if it is soft. Ignored for hard rules.

integer(Value)
Default null
rules[].​config.​exprstring(Expr)required
rules[].​workspacestring or null(uuid)read-onlyrequired
virtual_stateobject(VirtualStateInput)read-onlyrequired

Public-facing input model used for validation and schema generation.

Note: virtual_assignments, virtual_operations, virtual_rules have been removed. Draft changes are now persisted to workspace state rows in the database. Use workspace_id to query the effective state (workspace overlay on mainline).

virtual_state.​experimental_tools_enabledboolean(Experimental Tools Enabled)

Whether experimental tools are enabled

Default false
virtual_state.​display_window_startinteger(Display Window Start)required
virtual_state.​display_window_endinteger(Display Window End)required
virtual_state.​selected_timeinteger(Selected Time)required
virtual_state.​forward_windowinteger(Forward Window)required
virtual_state.​current_timeinteger(Current Time)required
virtual_state.​controlsobject(ControlPanelState)required
virtual_state.​controls.​attach_callbackboolean(Attach Callback)

Whether to attach a callback to the solver for live updates

Default true
virtual_state.​controls.​resolution_balancenumber(Resolution Balance)required

0 strives for minimal conflicts whereas 1 strives for minimal overlap

virtual_state.​controls.​rule_adherencenumber(Rule Adherence)required

0 strives for the goal of the strategy, while 1 strives for optimal rule value

virtual_state.​controls.​max_runtimeinteger(Max Runtime)

Maximum runtime in seconds for the solver, default is 90 seconds

Default 60
virtual_state.​controls.​optimality_gapnumber(Optimality Gap)

The acceptable optimality gap for the solver, default is 0

Default 0
virtual_state.​controls.​strategystring(SolutionStrategy)required
Value"standard"
virtual_state.​controls.​ignore_freeze_and_pastboolean(Ignore Freeze And Past)

Ignore freeze window and allow edits in the past

Default false
virtual_state.​controls.​lock_left_edgeboolean(Lock Left Edge)

Lock assignments that cross the left edge of the display window

Default true
virtual_state.​controls.​lock_right_edgeboolean(Lock Right Edge)

Lock assignments that cross the right edge of the display window

Default true
virtual_state.​freeze_windowinteger(Freeze Window)

Duration in seconds after the current_time during which no changes are allowed.

Default 0
virtual_state.​workspace_idWorkspace Id (string) or Workspace Id (null)(Workspace Id)

Workspace ID for workspace-aware queries. None = mainline only.

Default null
Any of:

Workspace ID for workspace-aware queries. None = mainline only.

string(uuid4)(Workspace Id)
Default null
Response
application/json
{ "assignments": [ {} ], "operations": [ {} ], "resources": [ {} ], "rules": [ {} ], "virtual_state": { "experimental_tools_enabled": false, "display_window_start": 0, "display_window_end": 0, "selected_time": 0, "forward_window": 0, "current_time": 0, "controls": {}, "freeze_window": 0, "workspace_id": null } }

Request

Webhook endpoint for the solver to submit the final result payload. Requires Webhook auth. Body should be the raw solver output JSON.

Security
tokenAuth
Path
idstring(uuid)required
task_idstringrequired
curl -i -X POST \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimization-task-results/{task_id}/result/' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
Any of:
taskNamestring(Taskname)
Default null
taskIdstring(Taskid)required
discardedboolean(Discarded)required
dateStartedstring(date-time)(Datestarted)required
dateDonestring(date-time)(Datedone)required
virtualStateAviationVirtualStateInput (object) or MaritimeBerthVirtualStateInput (object) or VirtualStateInput (object)(Virtualstate)required
Any of:

This is a placeholder for the AviationStandPlanningAdapter's virtual state input.

virtualState.​experimental_tools_enabledboolean(Experimental Tools Enabled)

Whether experimental tools are enabled

Default false
virtualState.​display_window_startinteger(Display Window Start)required
virtualState.​display_window_endinteger(Display Window End)required
virtualState.​selected_timeinteger(Selected Time)required
virtualState.​forward_windowinteger(Forward Window)required
virtualState.​current_timeinteger(Current Time)required
virtualState.​controlsobject(AviationControlPanelState)required
virtualState.​controls.​attach_callbackboolean(Attach Callback)

Whether to attach a callback to the solver for live updates

Default true
virtualState.​controls.​resolution_balancenumber(Resolution Balance)required

0 strives for minimal conflicts whereas 1 strives for minimal overlap

virtualState.​controls.​rule_adherencenumber(Rule Adherence)required

0 strives for the goal of the strategy, while 1 strives for optimal rule value

virtualState.​controls.​max_runtimeinteger(Max Runtime)

Maximum runtime in seconds for the solver, default is 90 seconds

Default 60
virtualState.​controls.​optimality_gapnumber(Optimality Gap)

The acceptable optimality gap for the solver, default is 0

Default 0
virtualState.​controls.​strategystring(AviationSolutionStrategy)required
Enum"default""least_moves""max_resilience"
virtualState.​controls.​ignore_freeze_and_pastboolean(Ignore Freeze And Past)

Ignore freeze window and allow edits in the past

Default false
virtualState.​controls.​lock_left_edgeboolean(Lock Left Edge)

Lock assignments that cross the left edge of the display window

Default true
virtualState.​controls.​lock_right_edgeboolean(Lock Right Edge)

Lock assignments that cross the right edge of the display window

Default true
virtualState.​controls.​restrict_moves_to_same_locationboolean(Restrict Moves To Same Location)

Restrict candidate resources to the same location as the current assignment

Default true
virtualState.​freeze_windowinteger(Freeze Window)

Duration in seconds after the current_time during which no changes are allowed.

Default 0
virtualState.​workspace_idWorkspace Id (string) or Workspace Id (null)(Workspace Id)

Workspace ID for workspace-aware queries. None = mainline only.

Default null
Any of:

Workspace ID for workspace-aware queries. None = mainline only.

string(uuid4)(Workspace Id)
Default null
metricsobject(OptimizationMetrics)
Default null
updatedAtstring(date-time)(Updatedat)required
createdAtstring(date-time)(Createdat)required
statusstring(Status)required
Enum"PENDING""STARTED""EXPIRED""RUNNING"
optimizationResultnull(Optimizationresult)
Default null
optimizationStatusstring(Optimizationstatus)required
Value "UNKNOWN"
Response
application/json
{ "taskName": null, "taskId": "string", "discarded": true, "dateStarted": "2019-08-24T14:15:22Z", "dateDone": "2019-08-24T14:15:22Z", "virtualState": { "experimental_tools_enabled": false, "display_window_start": 0, "display_window_end": 0, "selected_time": 0, "forward_window": 0, "current_time": 0, "controls": {}, "freeze_window": 0, "workspace_id": null }, "metrics": { "phase": null, "wall_time": null, "model_build_time": null, "best_obj": null, "best_bound": null, "gap": null, "num_conflicts": null, "num_branches": null }, "updatedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "status": "PENDING", "optimizationResult": null, "optimizationStatus": "UNKNOWN" }

Request

Start a task to optimize all assignments in a planning.

Security
tokenAuth
Path
idstring(uuid)required
Bodyapplication/jsonrequired
experimental_tools_enabledboolean(Experimental Tools Enabled)

Whether experimental tools are enabled

Default false
display_window_startinteger(Display Window Start)required
display_window_endinteger(Display Window End)required
selected_timeinteger(Selected Time)required
forward_windowinteger(Forward Window)required
current_timeinteger(Current Time)required
controlsobject(ControlPanelState)required
controls.​attach_callbackboolean(Attach Callback)

Whether to attach a callback to the solver for live updates

Default true
controls.​resolution_balancenumber(Resolution Balance)required

0 strives for minimal conflicts whereas 1 strives for minimal overlap

controls.​rule_adherencenumber(Rule Adherence)required

0 strives for the goal of the strategy, while 1 strives for optimal rule value

controls.​max_runtimeinteger(Max Runtime)

Maximum runtime in seconds for the solver, default is 90 seconds

Default 60
controls.​optimality_gapnumber(Optimality Gap)

The acceptable optimality gap for the solver, default is 0

Default 0
controls.​strategystring(SolutionStrategy)required
Value"standard"
controls.​ignore_freeze_and_pastboolean(Ignore Freeze And Past)

Ignore freeze window and allow edits in the past

Default false
controls.​lock_left_edgeboolean(Lock Left Edge)

Lock assignments that cross the left edge of the display window

Default true
controls.​lock_right_edgeboolean(Lock Right Edge)

Lock assignments that cross the right edge of the display window

Default true
freeze_windowinteger(Freeze Window)

Duration in seconds after the current_time during which no changes are allowed.

Default 0
workspace_idWorkspace Id (string) or Workspace Id (null)(Workspace Id)

Workspace ID for workspace-aware queries. None = mainline only.

Default null
Any of:

Workspace ID for workspace-aware queries. None = mainline only.

string(uuid4)(Workspace Id)
Default null
curl -i -X POST \
  'https://api.acc.adm.wearetransformers.nl/v1/plannings/{id}/optimize/' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "experimental_tools_enabled": false,
    "display_window_start": 0,
    "display_window_end": 0,
    "selected_time": 0,
    "forward_window": 0,
    "current_time": 0,
    "controls": {
      "attach_callback": true,
      "resolution_balance": 0,
      "rule_adherence": 0,
      "max_runtime": 60,
      "optimality_gap": 0,
      "strategy": "standard",
      "ignore_freeze_and_past": false,
      "lock_left_edge": true,
      "lock_right_edge": true
    },
    "freeze_window": 0,
    "workspace_id": null
  }'

Responses

Returns task ID for polling

Bodyapplication/json
task_idstring(Task Id)required
Response
application/json
{ "task_id": "abc123" }

Managing the plannings and organizations you have access to.

Operations

Interacting with the conversational AI assistant for planning and queries.

Operations

Utility endpoints, such as generating schedule visualizations.

Operations

API authentication token management (e.g., obtaining auth tokens).

Our mechanism for indicating constraints, penalties or preferences.

Operations

Can be used together with Tags to specify preferences or penalties.

Operations
Operations
Operations
Operations
Operations
Operations
Operations