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. |
Vorbedingung | 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 zu diesem Produkt im Bestand des Auftraggebers vorliegen. Voraussetzung für den Geschäftsfall "Kündigung durch Leistungserbringer" ist ein bestehender Rahmenvertrag zwischen dem Auftraggeber und dem Leistungserbringer. Mindestens alle Pflichtfelder für eine Product Order im Anwendungsfall "Auftrag (Kündigung durch LE) anlegen" sind laut Auftragsmedestruktur gefüllt. |
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
Beispieldaten
POST ProductOrder (1)
fachliche Felder | Daten | API Felder |
---|---|---|
technische Daten | ||
fachliches Bestelldatum des AG | 2022-05-11T10:30:00+02:00 | productOrder.orderPostedDate |
Kategorie = Kündigung LE | terminationByProvider | productOrder.category |
Produktdaten | ||
Geschäftsfall | delete | productOrderItem.action |
Produkt-ID | 922ebf01-e930-47a0-842e-059d1f188a15 | ProductOrderItem/product.id |
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" wird nicht gefüllt, da der Kündigungsauftrag vom LE eingestellt wird |
ProductOrderStateChangeEvent: Accepted (4)
fachliche Felder | Daten | API Felder |
Orderstatus | accepted | state |
OrderstatusChangeDate | 2022-05-11T10:31:00+01:00 | stateChangeDate |
technisches EventDatum | 2022-05-11T10:32:00+01:00 | eventTime |
Grund der Änderung | 0000 "Keine Änderung zum Auftrag" | stateChangeReason.code stateChangeReason.description |
ProductOrderAttributeValueChange (setzen von Auftragsmanagment & VLT, (5))
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 |
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 relatedParty/contactMedium/characteristic.contactType = fixed relatedParty/contactMedium/characteristic.phoneNumber |
Mobilfunknummer | 0178/78787878 | relatedParty/contactMedium.mediumType = phone relatedParty/contactMedium/characteristic.contactType = mobile relatedParty/contactMedium/characteristic.phoneNumber |
Email-adresse | l.bach@example.net | relatedParty/contactMedium.mediumType = email relatedParty/contactMedium/characteristic.contactType = email relatedParty/contactMedium/characteristic.emailAddress |
ProductOrderStateChangeEvent: inProgress (6)
fachliche Felder | Daten | API Felder |
Orderstatus | inProgress | state |
fachliches Änderungsdatum | 2022-05-20T10:40:00+01:00 | stateChangeDate |
technisches EventDatum | 2022-05-20T10:40:00+01:00 | eventTime |
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 (7)
fachliche Felder | Daten | API Felder |
Orderstatus | completed | state |
fachliches Änderungsdatum | 2022-12-16T10:45:00+01:00 | stateChangeDate |
technisches EventDatum | 2022-12-16T10:45:00+01:00 | eventTime |
Grund der Änderung | 0010 "Auftrag ausgeführt." | stateChangeReason.code stateChangeReason.description |
Historisierung inProgress fachliches Änderungsdatum Grund der Änderung | 2022-05-20T10:40:00+01:00 0000 "Keine Änderung zum Auftrag" | stateChangeHistory.@type = StateChange stateChangeHistory.changeDate stateChangeHistory.changeReason.code stateChangeHistory.changeReason.description |
ProductOrderAttributeValueChange (setzen von terminationDate (8))
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)
fachliche Felder | Daten | API Felder |
Orderstatus | closed | state |
fachliches Änderungsdatum | 2022-12-16T10:46:00+01:00 | stateChangeDate |
technisches EventDatum | 2022-12-16T10:46:00+01:00 | eventTime |
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 |