Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Beschreibung

TitelAuftrag (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
  • 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 für Aufträge des bestandsführenden Auftraggebers.
  • Voraussetzung für den Geschäftsfall "Kündigung durch
Auftraggeber
  • Leistungserbringer" 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.
  • Mindestens alle Pflichtfelder für eine Product Order im Anwendungsfall "Auftrag (Kündigung durch LE) anlegen" sind laut Auftrags-/Meldungsstruktur (download) gefüllt.
  • Liegt ein offener Auftrag eines Auftraggebers zum betroffenen Bestand (z.B. für den Anschluss oder dem Übertragungsweg) vor, wird dieser mit Hinweis auf die Kündigung durch den Leistungserbringer abgebrochen.
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
urlhttps://www.plantuml.com/plantuml/png/ZSvHIiD058NXzwpYqASMMXTGL2nj436GG7K1a-Hq6ipCX9ixgUx6jRWoGr28Wk3ZvNnSVjprQaIZQnCJDVZeIWe-tfEaCw9DrNJ6AzJ44qoFHPOkVY_bDEpkns5Yczk9Rr7anoSK4kfOQIurPTdDZWUbEx2bSetAA6sGjvl7vtIJfIiWyK49QUnPjpWq15-LuebTFAaOsu-XZe9B8pM6u92b62YM9VtLhAFS_YZO2usoJWTwNHRvQfGbhZTVmKSr6llzsNZBRxB6hdhnuTBIibxDF__bzy5rBNNKmBzy6_e9unC0

Codeblock
languagetext
collapsetrue
@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
repoSlugtmf622-product-order
branchIdrefs/heads/main
projectKeyTFIT
filepathsrc/test/examples/ftth-no-opts/product-order-delete-0-create.json
showLineNumberstrue
progLangplain
collapsibletrue
applicationLinkcbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1dbitbucket.org/fit-api/fit-api/src/main/tmf622/assets/UC_KUE-LE.puml
syntaxHighlightingPlantUML

Beispieldaten

POST ProductOrder (1)

Bitbucket file macro
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-pv-0.json
syntaxHighlightingJSON

  • (ODER)
  • 555001
  • Product.id (ODER)
  • Product.singleContractId
Auftraggeberdaten
fachliche FelderDaten API FelderBemerkung
technische Daten
fachliches Bestelldatum des AG2022-05-11T10:30:00+02:00productOrder.orderPostedDate
Geschäftsfall NameterminationBySellerproductOrder.category
Produktdaten
GeschäftsfallAktiondeleteproductOrderItem.action

Identifikation des Inventars

  • Produkt Identifier (ODER)
  • Einzelvertragsnummer

Annahme = Identifikation des Inventars über Product.id

AuftragsdatenKündigungswunschtermin 01.12.2022
ProductOrder.requestedCompletionTimePeriodProdukt-ID922ebf01-e930-47a0-842e-059d1f188a15ProductOrderItem/product.id
Vertragsnummer 

3091231119

ProductOrder/agreement.businessId = "3091231119"
ProductOrder/agreement.agreementType="singleContract"

ProductOrder/agreement.name="singleContract"

Auftragsdaten
Kündigungstermin2022-12-01T12:00:00+01:00
(Uhrzeit fachlich nicht relevant, aber technisch erforderlich)

ProductOrter.requestedCompletionDate

Auftraggeberdaten (werden teilweise nicht gefüllt, da der Kündigungsauftrag vom LE eingestellt wird)
Leistungs-Nummer500012

Agreement.businessId (agreementType = ServiceContractbuyerServiceContract)

Auftraggeber-Nummer
500011

Agreement.engagedParty.businessId

Externe Auftragsnr1000111externalIdenitifier.id 

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
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-
delete
termination-pv-1-state-change-event-
acknowledged
accepted.json
showLineNumberstrueprogLangplaincollapsibletrueapplicationLinkcbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
syntaxHighlightingJSON

fachliche FelderDaten API Felder
Orderstatus acknowledgedstate 
OrderstatusChangeDatetechnisches EventDatum2022-05-11T10:3132:00+0102:00stateChangeDate technisches EventDatumeventTime
Orderstatus acceptedstate 
OrderstatusChangeDate2022-05-11T10:3231:00+0102:00eventTimestateChangeDate 
Grund der Änderung

0000

"Keine Änderung zum Auftrag"

stateChangeReason.code

stateChangeReason.description

ProductOrderAttributeValueChange (setzen von Auftragsmanagment & VLT, (5))

src/test/examples/ftth-no-opts
Stashincludebyfilepath
repoSlugtmf622-product-order
branchIdrefs/heads/main
projectKeyTFIT
filepath
Bitbucket file macro
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-deletepv-2-attribute-value-change-event-supplier-contact.json
showLineNumberssyntaxHighlightingtrue
progLangplain
collapsibletrue
applicationLinkcbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
JSON

ProductOrder.expectedCompletionTimePeriod
fachliche FelderDatenAPI Felder
technisches EventDatum 2022-05-11T10:3234:00+02:00eventTimePointer auf die gemachte Änderung

/relatedParty/

/expectedCompletionTimePeriod/

fieldPath.path

fieldPath.typeOfChange = add
Verbindlicher Liefertermin01.12.2022Kündigungstermin2022-12-01T12:00:00+01:00
(Uhrzeit fachlich nicht relevant, aber technisch erforderlich)

ProductOrter.expectedCompletionDate

Rolle orderManagementSupplierContactrelatedParty.role
AnredeFraurelatedParty.salutation (Ms)
VornameLisarelatedParty.givenName
NachnameBachrelatedParty.familyName
Telefonnummer0221/789456

relatedParty/contactMedium.mediumType = phone"PhoneContactMedium"

relatedParty/contactMedium/characteristic.contactType = "fixed"

relatedParty/contactMedium/characteristic.phoneNumber 

Mobilfunknummer0178/78787878

relatedParty/contactMedium.mediumType = phone"PhoneContactMedium"

relatedParty/contactMedium/characteristic.contactType = "mobile"

relatedParty/contactMedium/characteristic.phoneNumber 

Faxnummer
Email-adressel.bach@example.net

relatedParty/contactMedium.mediumType = email "EmailContactMedium"

relatedParty/contactMedium/characteristic.contactType = "email"

relatedParty/contactMedium/characteristic.emailAddress

ProductOrderStateChangeEvent: inProgress

...

(6)

Bitbucket file macro
cbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-deletetermination-pv-3-state-change-event-in-progress.json
showLineNumberstrue
progLangplain
collapsibletrue
applicationLinksyntaxHighlightingJSON

2022-05-11T10:31:00+01:00

0000

"Keine Änderung zum Auftrag"

fachliche FelderDaten API Felder
Orderstatus inProgressstate 
fachliches Änderungsdatum technisches EventDatum2022-05-20T10:40:00+0102:00stateChangeDate technisches EventDatumeventTime
Orderstatus inProgressstate 
fachliches Änderungsdatum 2022-05-20T10:40:00+0102:00eventTimestateChangeDate 
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
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-pv-4-state-change-event-completed.json
showLineNumberstrue
progLangplain
collapsibletrue
applicationLinkcbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
syntaxHighlightingJSON

fachliche FelderDaten API Felder
Orderstatus completedstate 
fachliches Änderungsdatum technisches EventDatum2022-12-16T10:45:00+01:00stateChangeDate technisches EventDatumeventTime
Orderstatus completedstate 
fachliches Änderungsdatum 2022-12-16T10:45:00+01:00eventTimestateChangeDate 
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))

src/test/examples/ftth-no-opts
Stashincludebyfilepath
repoSlugtmf622-product-order
branchIdrefs/heads/main
projectKeyTFIT
filepath
Bitbucket file macro
cbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-deletepv-5-attribute-value-change-event-termination-date.json
showLineNumberstrue
progLangplain
collapsibletrue
applicationLinksyntaxHighlightingJSON

fachliche FelderDatenAPI Felder
technisches EventDatum 2022-12-16T10:45:30+01:00eventTimePointer auf die gemachte Änderung/terminationDate/fieldPath.path

fieldPath.typeOfChange = add

Nutzungsdatum 2022-12-16T10:45:00+01:00product.terminationDate

ProductOrderStateChangeEvent:

...

closed

...

(9)

Bitbucket file macro
collapsibletrue
urlhttps://bitbucket.org/fit-api/fit-api/src/main/tmf622/examples/product-order-termination-pv-6-state-change-event-closed.json
showLineNumberssyntaxHighlightingtrue
progLangplain
collapsibletrue
applicationLinkcbfa78ef-cb5e-30f5-8b3b-ec5f9d824e1d
JSON

fachliche FelderDaten API Felder
Orderstatus closedstate 
fachliches Änderungsdatum technisches EventDatum2022-12-16T10:46:00+01:00stateChangeDate technisches EventDatumeventTime
Orderstatus closedstate 
fachliches Änderungsdatum 2022-12-16T10:46:00+01:00eventTimestateChangeDate 
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

0000

"Keine Änderung zum Auftrag"

stateChangeHistory.@type = StateChange

stateChangeHistory.changeDate

stateChangeHistory.changeReason.code

stateChangeHistory.changeReason.description