Beschreibung
Titel | Auftrag (Kündigung durch LE) anlegen | ||
---|---|---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen API- Interaktionen zwischen Auftraggeber und Leistungserbringer im Anwendungsfall "Auftrag (Kündigung durch LeistungserbringerLE) 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 | 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. Der Auftraggeber wird durch Erzeugung eines ProductOrderCreateEvents über den neuen Kündigungsauftrags informiert. | ||
Ergebnis | Das Produkt wurde gekündigt |
Ablauf
Img | src | |
---|---|---|
Bitbucket file macro | ||
|
Codeblock | ||||
---|---|---|---|---|
| ||||
@startuml
autonumber
box Buyer
participant b as "Ordering"
box Seller TMF622
participant po as "ProductOrder"
po -> po : POST ProductOrder(category = TerminationProvider)
po-->po : 201 Created(acknowledged)
note right: TEQ
po -> b: POST ProductOrderCreateEvent()
po -> b: POST ProductOrderStateChangeEvent(accepted)
note right: QEB
po -> b: POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: expectedCompletionDate
po -> b: POST ProductOrderStateChangeEvent(inProgress)
note right: ABM
po -> b: POST ProductOrderStateChangeEvent(completed)
note right: ERLM
po -> b: POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: productOrderItem/product.terminationDate
po -> b: POST ProductOrderStateChangeEvent(closed)
note right: ENTM
@enduml |
Beispieldaten
ProductOrder (Kündigung LE)
Stashincludebyfilepath | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
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 | |||
Kategorie = Kündigung LE | terminationByProviderGeschäftsfall Name | terminationBySeller | productOrder.category | ||
Produktdaten | |||||
GeschäftsfallAktion | delete | productOrderItem.action | |||
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 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | ProductOrter.requestedCompletionDate | Kündigungstermin 01.12.2022 | ProductOrder.requestedCompletionTimePeriod | |
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 | |||
(wird nicht gesendet) | |||||
RelatedParty mit role ="orderManagementBuyerContact" und externe Auftragsnummer wird nicht gefüllt, da der Kündigungsauftrag vom LE eingestellt wird |
ProductOrderStateChangeEvent: Accepted
...
(4)
acknowledged Bitbucket file macro collapsible true url https://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-pv-1-state-change-event- accepted.json
|
fachliche Felder | Daten | API Felder | |||
Orderstatus | accepted | state | |||
OrderstatusChangeDate | technisches EventDatum | 2022-05-11T10:3132:00+0102:00 | stateChangeDate | technisches EventDatum | eventTime |
Orderstatus | accepted | state | |||
OrderstatusChangeDate | 2022-05-11T10:3231:00+0102:00 | eventTimestateChangeDate | |||
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 | eventTime | Pointer auf die gemachte Änderung | /relatedParty/ /expectedCompletionDate/ | fieldPath.path fieldPath.typeOfChange = add+02:00 | eventTime |
Verbindlicher Kündigungstermin | 2022-12-01T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | ProductOrter.expectedCompletionDate | ||||
Verbindlicher Kündigungstermin | 01.12.2022 | ProductOrder.expectedCompletionTimePeriod | ||||
Rolle | orderManagementSupplierContact | relatedParty.role | ||||
Anrede | Frau | relatedParty.salutation (Ms) | ||||
Vorname | Lisa | relatedParty.givenName | ||||
Nachname | Bach | relatedParty.familyName | ||||
Telefonnummer | 0221/789456 | relatedParty/contactMedium.mediumType = phone"PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "fixed" relatedParty/contactMedium/characteristic.phoneNumber | ||||
Mobilfunknummer | 0178/78787878 | relatedParty/contactMedium.mediumType = phone"PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "mobile" relatedParty/contactMedium/characteristic.phoneNumber | ||||
Email-adresse | l.bach@example.net | relatedParty/contactMedium.mediumType = email "EmailContactMedium" relatedParty/contactMedium/characteristic.contactType = "email" relatedParty/contactMedium/characteristic.emailAddress |
ProductOrderStateChangeEvent: inProgress
...
(6)
Bitbucket file macro | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | |||
Orderstatus | inProgress | state | |||
fachliches Änderungsdatum | technisches EventDatum | 2022-05-20T10:40:00+0102:00 | stateChangeDate | technisches EventDatum | eventTime |
Orderstatus | inProgress | state | |||
fachliches Änderungsdatum | 2022-05-20T10:40:00+0102:00 | eventTimestateChangeDate | |||
Grund der Änderung | 0000 "Keine Änderung zum Auftrag" | stateChangeReason.code stateChangeReason.description | Historisierung acknowledged fachliches Änderungsdatum Grund der Änderung | stateChangeHistory.@type = StateChange stateChangeHistory.changeDate stateChangeHistory.changeReason.code stateChangeHistory.changeReason.description |
ProductOrderStateChangeEvent: completed
...
ProductOrderStateChangeEvent: completed (7)
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | ||
Orderstatus | completed | state | ||
fachliches Änderungsdatum technisches EventDatum | 2022-12-16T10:45:00+01:00 | stateChangeDate | technisches EventDatum | eventTime |
Orderstatus | completed | state | ||
fachliches Änderungsdatum | 2022-12-16T10:45:00+01:00 | eventTimestateChangeDate | ||
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason.description | Historisierung inProgress fachliches Änderungsdatum Grund der Änderung | stateChangeHistory.@type = StateChange stateChangeHistory.changeDate stateChangeHistory.changeReason.code stateChangeHistory.changeReason.description |
ProductOrderAttributeValueChange (setzen von terminationDate)
...
ProductOrderAttributeValueChange (setzen von terminationDate (8))
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | |||
technisches EventDatum | 2022-12-16T10:45:30+01:00 | eventTime | Pointer auf die gemachte Änderung | /productOrder/productOrderItem/product/terminationDate/ | 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 | |||
Orderstatus | closed | state | |||
fachliches Änderungsdatum | technisches EventDatum | 2022-12-16T10:46:00+01:00 | stateChangeDate | technisches EventDatum | eventTime |
Orderstatus | closed | state | |||
fachliches Änderungsdatum | 2022-12-16T10:46:00+01:00 | eventTimestateChangeDate | |||
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason.description | Historisierung completed fachliches Änderungsdatum Grund der Änderung | 2022-05-20T10:45:30+01:00 0010 "Auftrag ausgeführt." stateChangeHistory.@type = StateChange stateChangeHistory.changeDate stateChangeHistory.changeReason.code stateChangeHistory.changeReason.description |