...
Titel | Liefertermin verschieben |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen Interaktionen zwischen Auftraggeber und Leistungserbringer im Anwendungsfall "Liefertermin verschieben". Der Auftraggeber stellt den Antrag, den Kundenwunschtermin des Ursprungsauftrags unter Beachtung des vertraglich vereinbarten Zeitrahmens zu ändern. Dabei werden die für diesen Ablauf erforderlichen Auftrags-Status durchlaufen und die für diesen Ablauf relevanten Informationen übermittelt. |
Vorbedingung | Der Auftrag befindet sich mindestens in der technischen Validierung und somit im Status "accepted". |
Auslöser | Der Auftraggeber stellt den Antrag, den Kundenwunschtermin des Ursprungsauftrags, durch Erzeugung einer Task Resource vom Typ RescheduleProductOrder, zu ändern. |
Ergebnis | Der Anwendungsfall hat zwei mögliche Ergebnisse:
|
Ablauf
Stand
Img | ||
---|---|---|
|
Codeblock | ||
---|---|---|
| ||
@startuml
autonumber
box Buyer of new line
participant b as "Ordering"
box Seller TMF622
participant po as "ProductOrder"
participant cpo as "RescheduleProductOrder"
box Buyer of old line
participant bo as "Ordering"
b -> cpo : POST RescheduleProductOrder
cpo-->b : 201 Created (acknowledged)
cpo -> b: POST RescheduleProductOrderStateChangeEvent (inProgress)
note right: if the request for rescheduling is rejected by the seller,\nthis message is optional (see [[TaskStateType TaskStateType]])
alt Request for rescheduling is rejected
cpo -> b: POST RescheduleProductOrderStateChangeEvent (rejected)
else Date will be postponed
po -> b: POST ProductOrderAttributeValueChangeEvent
note right: e.g.: requestedCompletionDate
alt ProductOrder in state inProgress
note over po, bo: Insert sequence [[https://confluence.telekom-mms.com/pages/viewpage.action?pageId=495177173 Send new order confirmation]]
else in all other ProductOrder states
po -> b: POST ProductOrderAttributeValueChangeEvent
note right: e.g.: expectedCompletionDate
po -> b: POST ProductOrderStatusChangeEvent(inProgress)
opt category = PV or category = VBL
po -> bo: POST ProductOrderAttributeValueChangeEvent
note right: e.g.: expectedCompletionDate
po -> bo: POST ProductOrderStatusChangeEvent(inProgress)
end
end
cpo -> b: POST RescheduleProductOrderStateChangeEvent (done)
end
@enduml |
alter Stand
Stashincludebyfilepath | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Beispieldaten
Bitbucket file macro | ||||
---|---|---|---|---|
|
Beispieldaten
POST RescheduleProductOrder (1)
Bitbucket file macro collapsible true url https://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/reschedule-product-order-0-create.json syntaxHighlighting JSON
fachliche Felder | Daten | API-Felder |
---|---|---|
Neuer KWT Datum | 2022-07-20T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | RescheduleProductOrder.requestedCompletionDate |
Wunsch-Datum und -Zeitfenster für Endkundentermin (wenn erforderlich, z.B. bei Technikertermin beim Endkunden) | 2022-12-01T08:00:00+01:00 2022-12-01T12:00:00+01:00 | productOrderItem.requestedTimeSlot.validFor.startDateTime productOrderItem.requestedTimeSlot.validFor.endDateTime |
Beispiele:
Stashincludebyfilepath | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Response (2)
Bitbucket file macro collapsible true url https://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/reschedule-product-order-1.json
...
syntaxHighlighting
...
JSON
POST RescheduleProductOrderStateChangeEvent (inProgress) (2)
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Stashincludebyfilepath | |||||||||||||
|
Terminverschiebung wird abgelehnt
POST RescheduleProductOrderStateChangeEvent (rejected) (4)
Bitbucket file macro | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Stashincludebyfilepath | ||||||||||||||
|
Terminverschiebung wird durchgeführt
POST RescheduleProductOrderStateChangeEvent (done) (8)
Stashincludebyfilepath
Bitbucket file macro | ||
---|---|---|
|
|
|