# SlotMachine Sequence Diagram: AUs/Controller
```plantuml
@startuml
skinparam componentStyle uml2
skinparam monochrome true
skinparam dpi 300
skinparam arrowThickness 2
skinparam packageTitleAlignment left
skinparam defaultFontSize 12
skinparam rectangleBorderThickness 1
collections AUs
participant Controller
AUs -> Controller: POST register for regulations
note right of AUs
{
"airport":string,
"user":string
}
end note
Controller --> AUs
''' user = airspace user
Controller -> AUs: POST information about regulation/optimization
note left of Controller
{
"airport":string,
"user":string,
"regulation":string,
"optimizationId":string,
"deadline":timestamp
}
end note
AUs --> Controller
AUs -> Controller: GET flight list for optimization
Controller --> AUs
AUs -> Controller: POST submit preferences
note right of AUs
{
"flights":[
{
"flightId":string,
"weightMap":[
{
"timestamp":timestamp,
"weight":number
}, ...
]
}
}
end note
Controller --> AUs
Controller -> AUs: POST propose solutions
note left of Controller
{
"sequences":[
{
"id":string,
"priority":int,
"flights": [
{
"flightId":string,
"estimatedTakeoffTime":timestamp
}, ...
]
}, ...
]
}
end note
AUs --> Controller
AUs -> Controller: POST reject solutions
note right of AUs
{
"rejectedSolutions":{
"solution1",
...
}
}
end note
Controller --> AUs
Controller -> AUs: POST notify of accepted solution
AUs --> Controller
@enduml