...
Titel | Auftrag (Providerwechsel / Verbundleistung) anlegen |
---|---|
Kurzbeschreibung | Folgender Ablauf beschreibt die typischen Interaktionen zwischen dem aufnehmenden Auftrageber (EKPauf und TNBauf, im zweiten Sequenzdiagramm "Buyer of new line" bezeichnet), dem Leistungserbringer (LE, im zweiten Sequenzdiagramm "Seller of new line" bzw. "Seller of old line" bezeichnet) und dem abgebenden Auftraggeber (EKPab und TNBab, im zweiten Sequenzdiagramm "Buyer of old line" bezeichnet) im Anwendungsfall "Auftrag (Providerwechsel / Verbundleistung) anlegen" von der Anlage des Auftrags bis zu seinem Abschluss. Ein Providerwechsel / Verbundleistung sind 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. Dabei werden die für diesen Ablauf erforderlichen Auftrags-Status durchlaufen und die für diesen Ablauf relevanten Informationen übermittelt. Zu diesen Anwendungsfall sind die zwei folgenden Sequenzen relevant:
|
Vorbedingung |
|
Auslöser | Der aufnehmende Auftraggeber legt einen Auftrag für den Providerwechsel bzw. die Verbundleistung beim Leistungserbringer (ANE) an. |
Ergebnis | Das Produkt wurde erfolgreich bereitgestellt. Voraussetzung für eine erfolgreiche Bereitstellung des Produktes durch den EKPauf ist die Zustimmung des TNBab zum Wechsel des EKP (siehe RespondProviderChange) |
Ablauf
Durchführung der Vorabstimmung
Die Vorabstimmung wird durch die unter Verwendung der WBCI Schnittstelle zwischen EKPauf und EKPabg durchgeführt.
...
- Ermittlung des Wechseldatums durch den EKPabg
- Ermittlung der WITA Vertragsnummer (Telekom) bzw LINE-ID (NGAB), sowie der Technologie der Ressource durch den EKPabg
- Klärung, ob die Ressource übernommen werden soll durch den EKPauf
Img | ||
---|---|---|
Bitbucket file macro | ||
|
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@startuml
autonumber
box WBCI
participant eauf as "EKP auf"
participant eab as "EKP ab"
eauf -> eab: VA-KUE-MRN
eauf <- eab: REUM-VA
eauf -> eab: AK-MTR |
Produktbeauftragung
Die Produtbeauftragung
|
Produktbeauftragung
Die Produktbeauftragung gliedert sich in zwei Abschnitte
- Die Product Order mit der Category "providerChange" bzw. "providerTechnologyChange", welche vom AGauf an den LE gestellt wird.
- Die Product Order mit der Category "terminationProviderChange", welche der LE einstellt.
...
Darüber hinausgehende, technisch denkbare Möglichketen der Einflussnahme durch dem AGab (Stornierung, Terminverschiebung etc.) müssen vom LE abgewiesen werden.
Img | src | |
---|---|---|
Bitbucket file macro | ||
|
Codeblock | ||||
---|---|---|---|---|
| ||||
@startuml
autonumber
box TMF622 Product Order, category=PV
participant eauf as "Buyer of new line: Ordering"
participant tauf as "Seller of new line: Product Order"
box TMF622 Product Order, category=TerminationProvider
participant leab as "Seller of old line: Product Order"
participant tab as "Buyer of old line: Ordering"
eauf -> tauf: POST ProductOrder(productOrderItemCreate, VAId)
eauf <-- tauf: 201 Created(acknowledged)
note right: PV
alt Kaufmännische Validierung schlägt fehl
eauf <- tauf: ProductOrderStatusChangeEvent(PO, Rejected)
note right: ABBM
else Kaufmännische Validierung erfolgreich
eauf <- tauf: ProductOrderStatusChangeEvent(PO, Accepted)
note right: QEB
tauf -> leab: notifyKUE
note over leab, tab: Die Sequenz [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=547957140 Auftrag (Kündigung durch LE, GF PV/VBL) anlegen]] wird hier inkludiert
leab ->tauf:notifyRUEM-PV(approval, reason)
alt negative RUEM-PV
note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/pages/viewpage.action?pageId=587837181 1) Negative RespondProviderChange (RUEM-PV)]]
else positive RUEM-PV
alt Fehlschlag Technische Validierung und Erteilung
eauf <- tauf: ProductOrderStatusChangeEvent(PO, Rejected)
note right: ABBM
tauf -> leab: notifyRejected
leab -> tab: ProductOrderStatusChangeEvent(PO2, Rejected)
note right: ABBM-PV
else Technische Validierung und Erteilung erfolgreich
eauf <- tauf: POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: expectedCompletionDate
eauf <- tauf: ProductOrderStateChangeEvent(PO,InProgress)
note right: ABM
tauf -> leab:notifyInProgress
leab -> tab:POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: expectedCompletionDate
leab -> tab: ProductOrderStatusChangeEvent(PO2, InProgress)
note right: ABM-PV
alt Fehlschlag während der Realisierung
note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/display/tfit/2%29+Fehlschlag+beim+Leistungserbringer 2) Fehlschlag beim Leistungserbringer]]
else Realisierung erfolgreich
alt Fehlschlag am Schalttag
note over eauf, tauf: Siehe [[https://confluence.t-systems-mms.eu/display/tfit/3%29+Fehlschlag+am+Schalttag 3) Fehlschlag am Schalttag]]
else Schaltung erfolgreich
eauf <- tauf: ProductOrderStateChangeEvent(PO,Completed)
note right: ERLM
tauf -> leab:notifyInCompleted
leab -> tab: ProductOrderStatusChangeEvent(PO2, Completed)
note right: ERLM-PV
eauf <- tauf: POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: productOrderItem.product.startDate
eauf <- tauf: ProductOrderStateChangeEvent(PO,Closed)
note right: ENTM
tauf -> leab:notifyInClosed
leab -> tab: POST ProductOrderAttributeValueChangeEvent()
note right: e.g.: productOrderItem.product.terminationDate
leab -> tab: ProductOrderStatusChangeEvent(PO2, Closed)
note right: ENTM-PV
end
end
end
end
end
@enduml |
Beispieldaten (linker Block, TNBauf ↔ ANE)
Post ProductOrder (providerChange)
ProductOrderStateChangeEvent: Accepted
...
|
Beispieldaten (linker Block, TNBauf ↔ ANE) (1)
Post ProductOrder (providerChange)
Bitbucket file macro | ||||||
---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder |
---|---|---|
Auftragsdaten | ||
fachliches Bestelldatum des AG | 2022-05-11T10:30:00+01:00 | productOrder.orderPostedDate |
Geschäftsfall | providerChange | productOrder.category |
Kundendaten | ||
Kundenwunschtermin | 2022-12-01T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | requestedCompletionDate |
LageTAE_ONT | Flur | product.networkTerminationLocation |
HomeID | a12d5a4545 | productOrderItem/product.homeID |
SeriennummerONT | 1515515155115 | additionalOrderInformation.hardwareIdType = "OntSerialNumber" additionalOrderInformation.hardwareIdValue = "1234567890" |
Anschlussadresse | ||
Role | locationA | productOrderIteam/product/place.role |
Straßenname | Biberweg | productOrderIteam/product/place.streetName |
Hausnummer | 2 | productOrderIteam/product/place.streetNr |
Hausnummernzusatz | a | productOrderIteam/product/place.streetNrSuffix |
Gebäudeteil | Einfamilienhaus | productOrderIteam/product/place.geographicSubAddress.buildingName |
Land | DEU | productOrderIteam/product/place.country |
Postleitzahl | 59055 | productOrderIteam/product/place.postcode |
Ortsname | Rheinhausen | productOrderIteam/product/place.city |
zur Anschlussadresse gehörender Name ("Klingelschild") | ||
Role | locationAContact | relatedParty.role |
Anrede | Herr | relatedParty.salutation |
Vorname | Maximilian | relatedParty.givenName |
Nachname | Müller | relatedParty.familyName |
Vorabstimmungsdaten | ||
VA-ID | DEU.1UND1.V012345678 | ProductOrder/agreement.businessId = "DEU.VFD.V012345678" ProductOrder/agreement.agreementType="providerChangeAgreement" ProductOrder/agreement.name ="providerChangeAgreement" |
Installationskontakt | ||
Role | installationContact | relatedParty.role |
Anrede | Herr | relatedParty.salutation |
Vorname | Alexander | relatedParty.givenName |
Nachname | Fischer | relatedParty.familyName |
Telefonnummer | 0221/145155 | relatedParty/contactMedium.mediumType = "PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "fixed" relatedParty/contactMedium/characteristic.phoneNumber |
Mobilfunknummer | 17878878788 | relatedParty/contactMedium.mediumType = "PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "mobile" relatedParty/contactMedium/characteristic.phoneNumber |
Email-Adresse | a.fischer@example.net | relatedParty/contactMedium.mediumType = "EmailContactMedium" relatedParty/contactMedium/characteristic.contactType = email relatedParty/contactMedium/characteristic.emailAddress |
Produktdaten | ||
orderItem 1 (im Rahmen des Providerwechsel bestelltes Produkt) | ||
ID | 1 | productOrderItem.id |
Geschäftsfall | add | productOrderItem.action |
Produktname | FTTH L2 PON 1000 500 | productOrderItem/productOffering.name |
Beziehung | productOrderItem.orderItemRelationship.id = 2 productOrderItem.orderItemRelationship.relationshipType = "migrateFrom" | |
orderItem 2 (wegfallendes Produkt des abgebenden Anbieters) | ||
ID | 2 | productOrderItem.id |
Geschäftsfall | transfer | productOrderItem.action |
Identifikation des Inventars Produkt Identifier | 388a4963-f168-4603-99e8-477200099d91 | Product.id |
Auftraggeberdaten | ||
Auftraggeber | ||
Leistungs-Nummer | 500012 | ProductOrder/agreement.businessId ProductOrder/agreement.agreementType="buyerServiceContract" |
Auftraggeber-Nummer | 500011 | ProductOrder/agreement.engagedParty.businessId |
Besteller | ||
Leistungs-Nummer | 500013 | ProductOrder/agreement.businessId ProductOrder/agreement.agreementType="ordererServiceContract" |
Auftraggeber-Nummer | 500014 | ProductOrder/agreement.engagedParty.businessId |
Extrerne Autftragsnummer |
| |
Externe Auftragsnr. | 1000111 DEU.VFD | ProductOrder/externalIdentifier.id ProductOrder/externalIdentifer.owner (=ITU-Kennung) ProductOrder/externalIdentifer.externalIdentifierType =ProductOrder |
Ansprechpartner / Auftragsmanagement | ||
Role | orderManagementBuyerContact | relatedParty.role |
Anrede | Herr | relatedParty.salutation |
Titel | Captain | relatedParty.title |
Vorname | James T. | relatedParty.givenName |
Nachname | Kirk | relatedParty.familyName |
Telefonnummer | 0221 456789 | relatedParty/contactMedium.mediumType = "PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "fixed" relatedParty/contactMedium/characteristic.phoneNumber |
Mobilfunknummer | 017754545454 | relatedParty/contactMedium.mediumType = "PhoneContactMedium" relatedParty/contactMedium/characteristic.contactType = "mobile" relatedParty/contactMedium/characteristic.phoneNumber |
Email-Adresse | j.kirk@example.net | relatedParty/contactMedium.mediumType = "EmailContactMedium" relatedParty/contactMedium/characteristic.contactType = "email" relatedParty/contactMedium/characteristic.emailAddress |
Response (2)
Bitbucket file macro | ||||||
---|---|---|---|---|---|---|
|
ProductOrderStateChangeEvent: Accepted (4)
Bitbucket file macro | ||||||
---|---|---|---|---|---|---|
|
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 (10)
Bitbucket file macro | ||||||
---|---|---|---|---|---|---|
|
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-05-11T10:33:00+01:00 | eventTime |
Supplier-Daten | ||
Rolle | orderManagementSellerContact | relatedParty.role |
Anrede | Frau | relatedParty.salutation |
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 |
Daten vom abgebenden Provider | ||
Rolle | handingOverProvider | relatedParty.role |
Providername | 1&1 Internet AG | relatedParty.name |
Zustimmung Providerwechsel | TRUE | productOrder/providerChangeInfo.approval |
Antwortcode | 0000 | productOrder/providerChangeInfo.responseReason[0].code |
Antworttext | "keine Anmerkungen" | productOrder/providerChangeInfo.responseReason[0].description |
weitere Daten | ||
Vertragsnummer | 555001 | ProductOrder/agreement.businessId |
verbindlicher Liefertermin (Datum) | 2022-12-16T12:00:00+01:00 (Uhrzeit fachlich nicht relevant, aber technisch erforderlich) | expectedCompletionDate |
Datum+Zeitfenster (wenn erforderlich, z.B. bei Technikertermin beim Endkunden) | 2022-12-16T08:00:00+01:00 2022-12-16T12:00:00+01:00 | productOrderItem.appointment.validFor.startDateTime productOrderItem.appointment.validFor.endDateTime |
Termin beim Endkunden erforderlich | TRUE | ProductOrderItem.endUserAppointmentIsNecessary |
Anschluss (a10nsp) | 4711 | productOrderItem/product.enni |
Anschluss (port) | 4 | productOrderItem/product.port |
Anschluss (s-vlan) | 3120 | productOrderItem/product.svlan |
Anschluss (c-vlan) | 7 | productOrderItem/product.cvlan |
Anschluss (lineId) | DEU.DTAG.FTYLIQ7PFT | productOrderItem/product.accessLineId |
Anschluss (uebergabepunktKunde) | TAE | product.accessTerminationInterface |
ProductOrderStateChangeEvent: inProgress (identisch zu Geschäftsfall Neu)
...
ProductOrderStateChangeEvent: completed (identisch zu Geschäftsfall Neu)
...
(11)
Bitbucket file macro | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
ProductOrderStateChangeEvent: inProgress | ||
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 |
ProductOrderStateChangeEvent: completed (identisch zu Geschäftsfall Neu) (15)
Bitbucket file macro | |||||||
---|---|---|---|---|---|---|---|
|
ProductOrderStateChangeEvent: completed | ||
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 |
ProductOrderAttributeValueChange (identisch zu Geschäftsfall Neu)
...
(18)
Bitbucket file macro | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ProductOrderAttributeValueChange (setzen von startDate) | ||
fachliche Felder | Daten | API Felder |
technisches EventDatum | 2022-12-16T10:45:30+01:00 | eventTime |
Nutzungsdatum | 2022-12-16T10:45:00+01:00 | product.startDate |
ProductOrderStateChangeEvent: closed (identisch zu Geschäftsfall Neu)
...
(19)
Bitbucket file macro | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ProductOrderStateChangeEvent: closed | ||
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 |
...