...
Titel | Auftrag (Kündigung LE) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen API-Interaktionen zwischen Auftraggeber und Leistungserbringer im Anwendungsfall "Kündigung durch Leistungserbringer". Dieser Anwendungsfall behandelt die Kündigung eines Produktes durch den Leistungserbringer. Die Kündigung muss sich auf ein im Bestand des jeweiligen Auftraggebers befindliches Produkt beziehen. Eine Kündigung ist nur dann möglich, wenn keine weiteren offenen Aufträge zum Bestand des Auftraggebers vorliegen. Dies gilt sowohl für Aufträge des bestandsführenden Auftraggebers als auch von anderen Auftraggebern (z.B. beim Geschäftsfall Providerwechsel). Voraussetzung für den Geschäftsfall Kündigung durch Auftraggeber ist ein bestehender Rahmenvertrag zwischen dem Auftraggeber und dem Leistungserbringer sowie die Angabe aller ausführungsrelevanten Daten. Entsprechung: KUE/DT in WITA, KUE/LE in SPRI |
Vorbedingung | Rahmenvertrag ist vorhanden Das zu kündigende Produkt befindet sich im Bestand des Auftraggebers Es liegen keine offenen Aufträge zum Produkt vor. Der Auftraggeber hat sich beim Leistungserbringer mindestens für die Category "KUE-LE" registriert. Dadurch wird er über ProductOrderCreateEvent von jedem neuen Kündigungsauftrag informiert. |
Auslöser | Der Leistungserbringer legt sich selber einen Kündigungsauftrag an. |
Ergebnis | Das Produkt wurde gekündigt |
...
Img | ||
---|---|---|
|
Codeblock | ||||
---|---|---|---|---|
| ||||
@startuml
autonumber
participant tauf as "LE"
participant tab as "AG"
tauf -> tauf: POST ProductOrder(productOrderItemDelete, category=KUE-LE)
note right: Die externe Auftragsnummer wird vom LE vergeben.
tauf -> tab: ProductOrderCreatedEvent(PO)
tab <- tauf: StatusChangeEvent(PO, Acknowleged)
alt optional
tauf -> tab: StatusChangeEvent(PO, Pending)
tauf -> tab: ProductOrderInformationRequiredEvent(PO, fieldPath=productOrder.TNBabApproval)
note right: AKM-PV
tauf <- tab: RespondProviderChange(PO, result)
note right: RUEM-PV
end
tauf -> tab: StatusChangeEvent(PO, Completed)
tauf -> tab: StatusChangeEvent(PO, Closed) |
...