...
Titel | Auftrag (Kündigung durch AG) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt für den Gut-Fall die typischen API- Interaktionen zwischen Auftraggeber Auftrageber und Leistungserbringer im Anwendungsfall "Auftrag (Kündigung durch Auftraggeber/Kunde"AG) anlegen" von der Anlage des Auftrags bis zu seinem Abschluss. Dieser Anwendungsfall behandelt die Kündigung eines Produktes durch den Auftraggeber. 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/KD in WITA, KUE/AG in SPRI Dabei werden die für diesen Ablauf erforderlichen Auftrags-Status durchlaufen und die für diesen Ablauf relevanten Informationen übermittelt. |
Vorbedingung |
|
Auslöser | Der Auftraggeber legt einen Kündigungsauftrag (Geschäftsfall Kündigung) an. |
Ergebnis | Das Produkt wurde gekündigt und deaktiviert. |
Ablauf
Img | src | |
---|---|---|
Bitbucket file macro | ||
|
Codeblock | ||||
---|---|---|---|---|
| ||||
@startuml
autonumber
box Buyer
participant b as "Ordering"
box Seller TMF622
participant po as "ProductOrder"
b -> po : POST ProductOrder(category = Delete)
po-->b : 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)
Stashincludebyfilepath | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Beispieldaten
POST ProductOrder Kündigung AG (1)
Bitbucket file macro | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API FelderBemerkung | |||
---|---|---|---|---|---|
technische Daten | |||||
fachliches Bestelldatum des AG | 2022-05-11T10:30:00+02:00 | orderPostedDate | |||
Geschäftsfall Name | "terminationByBuyer" | category | |||
Produktdaten | |||||
Aktion | Geschäftsfall | delete | productOrderItem.action |
| |
Identifikation des Inventars
(ODER ALTWELT)
|
|
| |||
Auftragsdaten | |||||
Kündigungswunschtermin | 2022-12-01T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | ProductOrder.requestedCompletionDate | Kündigungswunschtermin | 01.12.2022 | ProductOrder.requestedCompletionTimePeriod|
Auftraggeberdaten | |||||
Leistungs-Nummer | 500012 | Agreement.businessId (agreementType = BuyerServiceContract) | |||
Auftraggeber-Nummer | 500011 | Agreement.engagedParty.businessId | |||
Externe Auftragsnr | 1000111 | externalIdenitifier.id |
ProductOrderStateChangeEvent:
...
Accepted (4)
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | |||
Orderstatus | acknowledged | state | |||
technisches EventDatum | 2022-05-11T10: | 3132:00+01:00 | stateChangeDate | technisches EventDatumeventTime | |
Orderstatus | accepted | state | |||
OrderstatusChangeDate | 2022-05-11T10: | 3231:00+01: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:32:00 | eventTimePointer auf die gemachte Änderung | /relatedParty/ /expectedCompletionTimePeriod/ | fieldPath.path fieldPath.typeOfChange = add |
Verbindlicher Kündigungstermin | 2022-12-01T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | ProductOrder.expectedCompletionDate | ||
Verbindlicher Kündigungstermin | 01.12.2022 | ProductOrder.expectedCompletionTimePeriod | ||
Rolle | orderManagementSupplierContactAuftragsmanagment | |||
Rolle | orderManagementSellerContact | 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 | Faxnummer | |
Email-adresseAdresse | l.bach@example.net | relatedParty/contactMedium.mediumType = email"EmailContactMedium" relatedParty/contactMedium/characteristic.contactType = "email" relatedParty/contactMedium/characteristic.emailAddress="l.bach@example.net" |
ProductOrderStateChangeEvent: inProgress
...
(6)
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | ||
Orderstatus | inProgress | state | ||
technisches EventDatum | 2022-05-20T10:40:00+01:00 | stateChangeDate | technisches EventDatumeventTime | |
Orderstatus | inProgress | state | ||
fachliches Änderungsdatum | 2022-05-20T10:40:00+01: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 EventDatumeventTime | |
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)
...
(8)
Bitbucket file macro | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder | ||
technisches EventDatum | 2022-12-16T10:45:30+01:00 | eventTimePointer auf die gemachte Änderung | /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 EventDatumeventTime |
Orderstatus | closed | state | ||
fachliches Änderungsdatum | 2022-12-16T10:46:00+01:00 | eventTimestateChangeDate | ||
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason | .descriptionHistorisierung completed fachliches Änderungsdatum Grund der Änderung | .description |