@startuml hide footbox skinparam backgroundColor #EEEBDC skinparam handwritten false skinparam sequenceArrowThickness 1 skinparam sequence { ArrowColor DeepSkyBlue ArrowFontName Verdana ArrowFontSize 13 NoteFontName Verdana NoteFontSize 14 ActorBorderColor DeepSkyBlue LifeLineBorderColor blue LifeLineBackgroundColor #A9DCDF ParticipantBorderColor #LightBlue ParticipantBackgroundColor DodgerBlue ParticipantFontName Verdana ParticipantFontSize 15 ParticipantFontColor #A9DCDF ActorBackgroundColor DeepSkyBlue ' ActorFontColor DeepSkyBlue ActorFontSize 15 ActorFontName Verdana EntityFontSize 16 EntityFontName Verdana BoxFontSize 20 BoxFontName Verdana } participant "**Client**" as C box "AIP" participant "**API Processes**" as P entity "ProductOrder\n job" as J end box box "LTA" participant "**ProductOrder**\n **Process**" as O participant "**Download**\n **API**" as D end box C -> P: Execute ProductOrder P -> J: Create job activate J P --> C: Job status J -> O: start Order O --> J: Order finished deactivate J alt Callback URL provided in process input alt Job successful P -> C: Post Job result else Job failed P -> C: Post Job status end end alt No callback provided loop until job finished C -> P: Get Job status P --> C: Job status end alt Job successful C -> P: Get Job result P --> C: Job result end end alt If Job successful C -> D: Product Download request D --> C: Product file end @enduml