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 zu ändern.
Ergebnis
Der Anwendungsfall hat zwei mögliche Ergebnisse:
Die Anfrage den Kundenwunschtermin zu ändern wurde zurückgewiesen
Die Anfrage den Kundenwunschtermin zu ändern wurde umgesetzt und der verbindliche Liefertermin wurde angepasst.
Ablauf
Stand
Quelle erweitern
@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
Beispieldaten
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)