Sequence diagrams¶
Find here all the sequence diagrams for each phase.
Initialize the plan¶
The most simple way to initialize a plan is as follows:
participant Client as C
participant API as A
note over C,A: Select & Config
C --> A: [POST] Create Bucket
A --> C: HTTP Response status code 200
note over C,A: Add vehicles & Shifts
C --> A: [POST] Resources
A --> C: HTTP Response status code 200
C --> A: [POST] Routes
A --> C: HTTP Response status code 200
note over C,A: Bucket initialization
C --> A: Bucket Initialize
A --> C: HTTP Response status code 200: Initializing
A --> A: Update State
It is also possible to already add orders before initializing:
participant Client as C
participant API as A
note over C,A: Select & Config
C --> A: [POST] Create Bucket
A --> C: HTTP Response status code 200
note over C,A: Add vehicles & Shifts
C --> A: [POST] Resources
A --> C: HTTP Response status code 200
C --> A: [POST] Routes
A --> C: HTTP Response status code 200
C --> A: [POST] Events
A --> C: HTTP Response status code 200
note over C,A: Bucket initialization
C --> A: Bucket Initialize
A --> C: HTTP Response status code 200: Initializing
A --> A: Update State
Open planning¶
Once the planning is initialised it is possible to interact with it as follows:
participant Client as C
participant API as A
note over C,A: Add Orders
C --> A: [POST] Create Events
A --> C: HTTP Response status code 200
note over C,A: Adjust Resources
C --> A: [POST] RESOURCES to change the vehicle used in a route
A --> C: HTTP Response status code 200
note over C,A: Request timeslot suggestions
C --> A: [GET] Suggestions
A --> C: HTTP Response status code 200
note over C,A: Pick a timeslot
C --> A: [POST] Suggestions
A --> C: HTTP Response status code 200
note over C,A: Retrieve tentative planning
C --> A: [GET] Routes tentative=true
A --> C: HTTP Response status code 200
note over C,A: Retrieve the tentative number of drivers
C --> A: [GET] Resources
A --> C: HTTP Response status code 200
Finalize the planning¶
Once all the information is there and you want to get the final plan is time to finalize it.
participant Client as C
participant API as A
note over C,A: Finalize the bucket
C --> A: [POST] Buckets / actions = finalize
A --> C: HTTP Response status code 200
note over C,A: Retrieve plan
C --> A: [GET] Routes
A --> C: HTTP Response status code 200