Beschreibung
Titel | Auftrag (Kündigung durch LE) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen |
Interaktionen zwischen Auftraggeber und Leistungserbringer im Anwendungsfall "Auftrag (Kündigung durch |
LE) anlegen". Dieser Anwendungsfall behandelt die Kündigung eines Produktes durch den Leistungserbringer. Dabei werden die für diesen Ablauf erforderlichen Auftrags-Status durchlaufen und die für diesen Ablauf relevanten Informationen übermittelt. | |
Vorbedingung |
|
---|
|
|
|
Entsprechung: KUE/DT in WITA, KUE/LE in SPRI
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 beim Leistungserbringer 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. Der Auftraggeber wird durch Erzeugung eines ProductOrderCreateEvents über den neuen Kündigungsauftrags informiert. |
---|---|
Ergebnis | Das Produkt wurde gekündigt |
Ablauf
Registrierung
Die Registrierung erfolgt einmalig: Der Auftraggeber (AG) registriert sich für alle Product Orders der Cathegory KUE-LE beim Hub des Leistungserbringers (LE).
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
@startuml
autonumber
participant hub as "LE Hub"
box AG
participant tab as "AG"
tab -> hub: POST api/hub(KUE-LE,productOrder.relatedPartyRefOrValue=AG)
note right: Der AG registriert sich für POs vom Typ KUE-LE, \n der sich auf sein Produkt bezieht |
Kündigung
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)
tauf -> tab: StatusChangeEvent(PO, Completed)
tauf -> tab: StatusChangeEvent(PO, Closed) |
Beispieldaten
ProductOrder (Kündigung)
Stashincludebyfilepath | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Bitbucket file macro | ||||
---|---|---|---|---|
|
Beispieldaten
POST ProductOrder (1)
Bitbucket file macro | ||||||
---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder |
---|
technische Daten | ||
fachliches Bestelldatum des AG | 2022-05-11T10:30:00+02:00 | productOrder.orderPostedDate |
Geschäftsfall Name | terminationBySeller | productOrder.category |
Produktdaten |
Annahme = Identifikation des Inventars über Product.id
Aktion | delete | productOrderItem.action |
Identifikation des Inventars
- Produkt Identifier (ODER)
- Einzelvertragsnummer
- (ODER)
- 555001
- Product.id (ODER)
- Product.singleContractId
Produkt-ID | 922ebf01-e930-47a0-842e-059d1f188a15 | ProductOrderItem/product.id |
Vertragsnummer | 3091231119 | ProductOrder/agreement.businessId = "3091231119" ProductOrder/agreement.name="singleContract" |
Auftragsdaten | ||
Kündigungstermin | 2022-12-01T12:00:00+01:00 | ProductOrter.requestedCompletionDate |
Auftraggeberdaten (werden teilweise nicht gefüllt, da der Kündigungsauftrag vom LE eingestellt wird) | ||
Leistungs-Nummer | 500012 | Agreement.businessId (agreementType = |
buyerServiceContract) | ||
Auftraggeber-Nummer | 500011 | Agreement.engagedParty.businessId |
ProductOrderStateChangeEvent: Acknowledged
...
RelatedParty mit role ="orderManagementBuyerContact" und externe Auftragsnummer wird nicht gefüllt, da der Kündigungsauftrag vom LE eingestellt wird |
ProductOrderStateChangeEvent: Accepted (4)
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-05-11T10: |
32:00+ |
02:00 |
eventTime | ||
Orderstatus | accepted | state |
OrderstatusChangeDate | 2022-05-11T10: |
31:00+ |
02:00 |
stateChangeDate | ||
Grund der Änderung | 0000 "Keine Änderung zum Auftrag" | stateChangeReason.code stateChangeReason.description |
ProductOrderAttributeValueChange (setzen von Auftragsmanagment & VLT, (5))
...
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
...
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-05-11T10: |
34:00+02:00 | eventTime |
/relatedParty/
/expectedCompletionTimePeriod/
fieldPath.path
fieldPath.typeOfChange = add
Verbindlicher Kündigungstermin | 2022-12-01T12:00:00+01:00 | ProductOrter.expectedCompletionDate |
Rolle | orderManagementSupplierContact | relatedParty.role |
Anrede | Frau | relatedParty.salutation (Ms) |
Vorname | Lisa | relatedParty.givenName |
Nachname | Bach | relatedParty.familyName |
Telefonnummer | 0221/789456 | relatedParty/contactMedium.mediumType = |
"PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "fixed" relatedParty/contactMedium/characteristic.phoneNumber | ||
Mobilfunknummer | 0178/78787878 | relatedParty/contactMedium.mediumType = |
"PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "mobile" relatedParty/contactMedium/characteristic.phoneNumber |
Email-adresse | relatedParty/contactMedium.mediumType = |
"EmailContactMedium" relatedParty/contactMedium/characteristic.contactType = "email" relatedParty/contactMedium/characteristic.emailAddress |
ProductOrderStateChangeEvent: inProgress
...
(6)
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-05-20T10:40:00+ |
02:00 |
eventTime | ||
Orderstatus | inProgress | state |
fachliches Änderungsdatum | 2022-05-20T10:40:00+ |
02:00 |
stateChangeDate | ||
Grund der Änderung | 0000 "Keine Änderung zum Auftrag" | stateChangeReason.code stateChangeReason.description |
Historisierung acknowledged
fachliches Änderungsdatum
Grund der Änderung
2022-05-11T10:31:00+01:00
0000
"Keine Änderung zum Auftrag"
stateChangeHistory.@type = StateChange
stateChangeHistory.changeDate
stateChangeHistory.changeReason.code
stateChangeHistory.changeReason.description
ProductOrderStateChangeEvent: completed
...
ProductOrderStateChangeEvent: completed (7)
...
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-12-16T10:45:00+01:00 |
eventTime | ||
Orderstatus | completed | state |
fachliches Änderungsdatum | 2022-12-16T10:45:00+01:00 |
stateChangeDate | ||
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason |
Historisierung inProgress
fachliches Änderungsdatum
Grund der Änderung
2022-05-20T10:40:00+01:00
0000
"Keine Änderung zum Auftrag"
stateChangeHistory. |
stateChangeHistory.changeDate
stateChangeHistory.changeReason.code
stateChangeHistory.changeReason.description |
ProductOrderAttributeValueChange
...
(setzen von terminationDate (8))
...
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-12-16T10:45:30+01:00 | eventTime |
fieldPath.path
fieldPath.typeOfChange = add
Nutzungsdatum | 2022-12-16T10:45:00+01:00 | product.terminationDate |
ProductOrderStateChangeEvent:
...
closed
...
(9)
Bitbucket file macro | ||||
---|---|---|---|---|
|
...
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-12-16T10:46:00+01:00 |
eventTime | ||
Orderstatus | closed | state |
fachliches Änderungsdatum | 2022-12-16T10:46:00+01:00 |
stateChangeDate | ||
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason |
Historisierung completed
fachliches Änderungsdatum
Grund der Änderung
2022-05-20T10:45:30+01:00
0000
"Keine Änderung zum Auftrag"
stateChangeHistory.@type = StateChange
stateChangeHistory.changeDate
stateChangeHistory.changeReason.code
stateChangeHistory.changeReason.description |