Skip to content

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