Policentransaktionen
Die System-APIs unterstützen die folgenden Policentransaktionen:
- Antrag
- Ausstellung
- Verlängerung
- Stornierung
- Policenänderung
- Wiederinkraftsetzung
- Neuausstellung
- Neuausstellung für ein neues Konto
Transaktionen, die sich nicht in dieser Liste befinden, werden derzeit nicht unterstützt.
Bei Verwendung der System-APIs werden Policentransaktionen über die Policy- und Job-APIs durchgeführt. Die Policy-API bietet Endpunkte für das Initiieren von Policentransaktionen für vorhandene Policen. Die Job-API bietet Endpunkte zum Ändern, Anbieten und Abschließen von Policentransaktionen sowie zum Erstellen neuer Policen (Anträge). Die spartenspezifischen Aspekte von Policentransaktionen sind in der Job-API gekapselt.
Eine Policentransaktion umfasst vier grundlegende Schritte:
- Initiieren Sie die Policentransaktion über einen POST für Geschäftsaktionen.
- In diesem Schritt wird ein neues Jobelement erstellt, auf das nachfolgende Aktionen angewendet werden.
- Der neue Job befindet sich im Entwurfsstatus und kann daher geändert werden.
- Ändern Sie den Job nach Bedarf.
- Je nach Policentransaktionstyp kann eine Reihe von Aufrufen erforderlich sein, um alle erforderlichen Daten auf den Job anzuwenden.
- Erstellen Sie ein Angebot für den Job
- Dieser Schritt ändert den Status des Jobs von „Entwurf“ in „Angebot erstellt“.
- Jobs im Status „Angebot erstellt“ können nicht geändert werden. Um einen angebotenen Job weiter zu ändern, muss er in den Status „Entwurf“ geändert werden. In diesem Fall wird der Prozess dann zu Schritt 2 zurückgesetzt.
- Schließen Sie die Policentransaktion ab, indem Sie den Job fertigstellen.
- Ein angebotener Job kann akzeptiert (verbindlich gemacht) oder abgelehnt werden.
Initiieren der Policentransaktion
Um eine Policentransaktion zu initiieren, sendet ein Aufrufer einen POST für Geschäftsaktionen an einen entsprechenden Endpunkt. In der folgenden Tabelle ist der Policentransaktionstyp mit seinem jeweiligen Endpunkt aufgeführt:
| Policentransaktion | Endpunkt |
|---|---|
| Antrag |
|
| Ausstellung |
|
| Verlängerung |
|
| Stornierung |
|
| Policenänderung |
|
| Wiederinkraftsetzung |
|
| Neuausstellung |
|
| Neuausstellung für ein neues Konto |
|
Alle Policentransaktionen mit Ausnahme von Anträgen werden über einen Policy-API-Aufruf aus einem vorhandenen Policenelement initiiert. Die Policentransaktion für den Antrag wird von der Job-API initiiert. In beiden Fällen gibt der Aufruf Antwort-Nutzdaten zurück, die ein JSON-Objekt für ein neues Jobelement enthalten, auf das über die Job-API zugegriffen werden kann. Nachfolgende Aktionen für die Policentransaktion werden für dieses Jobelement ausgeführt.
Das folgende Beispiel zeigt Teile von Antwort-Nutzdaten, die durch einen Aufruf zum Initiieren einer Antrags-Policentransaktion für eine Sparte für ein Privatfahrzeug zurückgegeben werden:
{
"data": {
"attributes": {
"account": {
"displayName": "0015863842",
"id": "pc:401",
"type": "Account",
"uri": "/account/v1/accounts/pc:401"
},
. . .
"id": "pc:601",
. . .
"jobStatus": {
"code": "Draft",
"name": "Draft"
},
"jobType": {
"code": "Submission",
"name": "Submission"
},
. . .
"product": {
"displayName": "Personal Auto",
"id": "PersonalAuto"
},
. . .
},
. . .
}
}
}
- Die Eigenschaft
identhält die ID des neuen Jobelements, in diesem Fallpc:601. - Die Eigenschaft
account.idist die ID für den Kontoinhaber. Es ist wichtig,account.idnicht mitidzu verwechseln. - Die Eigenschaft
jobStatusgibt an, dass sich der Job im Status „Entwurf“ befindet. - Die Eigenschaft
jobTypezeigt an, dass der Job für eine Policentransaktion des Typs „Antrag“ vorgesehen ist.
Nachfolgende Aktionen für diese Policentransaktion werden für das /job/v1/jobs/pc:601-Element ausgeführt.
Ändern des Jobs
Wie bereits erwähnt, wird beim Initiieren einer Policentransaktion ein Jobelement erzeugt, auf das über die Job-API zugegriffen werden kann (/job/v1/jobs/{jobId}). Alle nachfolgenden Arbeiten, die mit der Verarbeitung einer Policentransaktion verbunden sind, erfolgen für dieses Jobelement.
Je nach Policentransaktionstyp kann es erforderlich sein, den Job durch Übermitteln zusätzlicher Daten zu ändern. Nachdem beispielsweise eine Policentransaktion für einen Antrag für eine Sparte für Privatfahrzeuge initiiert wurde, muss ein Aufrufer den Job ändern, indem er Fahrzeuge und Fahrer hinzufügt und Deckungen anwendet.
Erstellen eines Angebots für den Job
Für jede Policentransaktion muss ein Angebot für den zugehörigen Job erstellt werden, bevor er abgeschlossen werden kann. Um ein Angebot zu erstellen, sendet ein Aufrufer einen POST für Geschäftsaktionen an /job/v1/jobs/{jobId}/quote. Durch diese Aktion ändert sich der Status des Jobs in „Angebot erstellt“. Wenn nachfolgende Änderungen für notwendig erachtet werden, muss der Job in den Entwurfsstatus zurückgesetzt werden, indem ein POST für Geschäftsaktionen an /job/v1/jobs/{jobId}/make-draft gesendet wird. Nachdem die Änderungen angewendet wurden, muss für den Job ein neues Angebot erstellt werden.
Abschließen der Policentransaktion
Um die Policentransaktion abzuschließen, muss der Job akzeptiert (verbindlich gemacht) oder abgelehnt werden.
Bei akzeptierten Policentransaktionen kann die Transaktion in den meisten Fällen abgeschlossen werden, indem ein POST für Geschäftsaktionen an den /job/v1/jobs/{jobId}/bind-and-issue-Endpunkt gesendet wird. Mit dieser Aktion wird die Transaktion an die Police gebunden.
Eine Policentransaktion kann aus verschiedenen Gründen abgelehnt werden. Wenn der Versicherer die Transaktion ablehnt, kann der Job über einen POST für Geschäftsaktionen an den /job/v1/jobs/{jobId}/reject-Endpunkt aufgehoben werden. Wenn die Policentransaktion fehlerhafte Daten enthält, kann sie über einen POST für Geschäftsaktionen an den /job/v1/jobs/{jobId}/withdrawn-Endpunkt verworfen werden.
| Transaktionsergebnis | Bedingung | Jobstatus | Endpunkt |
|---|---|---|---|
| Akzeptiert | Der Kontoinhaber und der Versicherer stimmen dem Angebot zu. Die Police ist verbindlich gemacht und ausgestellt. | Verbindlich gemacht | /job/v1/jobs/{jobId}/bind-and-issue |
| Abgelehnt | Der Versicherer lehnt es ab, dem Kontoinhaber eine Police anzubieten. | Abgelehnt | /job/v1/jobs/{jobId}/decline |
| Abgelehnt | Das Angebot enthält fehlerhafte Daten. | Widerrufen | /job/v1/jobs/{jobId}/withdrawn |
Darüber hinaus können einige Policentransaktionstypen abgeschlossen werden, indem sie in den Status „Ausstehend“ versetzt werden.
Welche Aktionen zum Abschluss einer Policentransaktion verfügbar sind, hängt vom Transaktionstyp ab. Ausführliche Informationen finden Sie in den folgenden Abschnitten für jeden Policentransaktionstyp.
Spartenspezifische Endpunkte
Im Allgemeinen definiert eine Sparte eine Versicherungspolice, die Deckungen (Risikoschutz) für Deckungsobjekte (Risikoteilschäden, z. B. Sachwerte) bereitstellt. Darüber hinaus kann eine Sparte weitere Policenfunktionen wie Modifikatoren, Ausschlüsse oder Präqualifikationsfragen für die Annahme (Underwriting) definieren.
Nach dem Generieren von spartenspezifischen APIs mit Advanced Product Designer (APD) sind die spartenbezogenen Endpunkte in der Job-API enthalten. Bei der Verarbeitung einer Policentransaktion fügt ein Aufrufer Daten hinzu, überarbeitet diese und entfernt sie.
Die folgenden Abschnitte enthalten allgemeine Hinweise zu den Datenstrukturen, die in Spartenendpunkten auftreten können.
Produkte
Jeder Job enthält mindestens ein Produkt. Auf die verfügbaren Produkte kann über die /job/v1/jobs/{jobId}/lines-Sammlung zugegriffen werden. Jedes Produkt ist unter /job/v1/jobs/{jobId}/lines/{productId} zu finden. Hierbei ist productId ein Platzhalter für ein bestimmtes Produkt.
Beispielsweise wird bei einem Job für eine Police für eine Sparte für Privatfahrzeuge über den Endpunkt /job/v1/jobs/{jobId}/lines/PersonalAutoLine auf das Produkt für eine Sparte für Privatfahrzeuge zugegriffen.
Deckungsobjekte
Deckungsobjekte beziehen sich auf alle Risiken, die durch die Sparte oder das Produkt gedeckt werden können. Auf Deckungsobjekte kann in Form von Sammlungen auf Spartenendpunkten zugegriffen werden. Beispielsweise ist eines der Deckungsobjekte für die Sparte PersonalAutoLine das Fahrzeug (vehicle). Jede PersonalAutoLine verfügt in der Regel über eine Sammlung von einem oder mehreren Fahrzeugen. Deckungsobjekte können auch unter anderen Deckungsobjekten verschachtelt sein. Ein anderes Deckungsobjekt für PersonalAutoLine ist zum Beispiel der Fahrer (driver). Für jedes Fahrzeug in einer PersonalAutoLine kann es eine Sammlung von Fahrern für dieses Fahrzeug geben.
Das grundlegende Muster für den Zugriff auf Deckungsobjekte sieht wie folgt aus:
/job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/{coverableType}/{coverableId}
Hierbei ist coverableType ein Platzhalter für eine Sammlung eines Deckungsobjekttyps, und coverableId verweist auf ein bestimmtes Deckungsobjekt.
In einer Sparte für Privatfahrzeuge sind beispielsweise Fahrzeuge und Fahrer Deckungsobjekte. In der Jobs-API kann über die Sammlung /job/v1/jobs/{jobId}/lines/PersonalAutoLine/vehicles auf die Fahrzeuge zugegriffen werden. Auf die mit einem gedeckten Fahrzeug verknüpften Fahrer kann über die Sammlung /job/v1/jobs/{jobId}/lines/PersonalAutoLine/vehicles/{vehicleId}/drivers zugegriffen werden.
Außerdem bietet die Job-API einen Deckungsobjekttyp locations, der direkt mit dem Job verknüpft ist und nicht mit der Sparte. Diese Sammlung kann verwendet werden, um Deckungsobjekte in bestimmten Sparten zu definieren, z. B. für Gewerbesachversicherungen.
Deckungen
Eine Deckung betrifft den Schutz gegen ein spezielles Risiko. Deckungen sind an Deckungsobjekte gebunden. Es gibt zwei grundlegende Arten von Deckungen: Sachdeckung und Haftpflichtdeckung. Eine Sachdeckung ist eine Deckung für ein Sachvermögen des Versicherten, z. B. ein Fahrzeug. Eine Haftpflichtdeckung schützt den Versicherten, z. B. deckt sie einen Fahrer für Schäden an einem anderen Fahrzeug ab.
Auf die verfügbaren Deckungen für ein Produkt kann über die Sammlung /job/v1/jobs/{jobId}/lines/{productId}/coverages zugegriffen werden. Jede Deckung kann unter /job/v1/jobs/{jobId}/lines/{productId}/coverages/{coverageId} gefunden werden. Je nach Sparte können die Deckungen auch verschachtelt sein. Beispielsweise könnte ein Standort (ein Deckungsobjekt) eine Sammlung von Gebäuden (untergeordnete Deckungsobjekte) umfassen, und auf jedes Gebäude würde eine Deckung angewendet. Für Sachdeckungen lautet das Basismuster /job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/coverages. Bei Haftpflichtdeckungen ist die Policensparte selbst ein Deckungsobjekt und stellt die benannten Versicherten dar. Das Muster lautet /job/v1/jobs/{jobId}/lines/{productId}/coverages.
Die Sparte für Privatfahrzeuge umfasst beispielsweise sowohl Sach- (Fahrzeug) als auch Haftpflichtdeckungen (Fahrer). Auf die Fahrzeugdeckungen kann über den Endpunkt /job/v1/jobs/{jobId}/lines/PersonalAutoLine/vehicles/{vehicleId}/coverages zugegriffen werden. Die Fahrerdeckungen decken die Haftpflicht ab und sind daher in der Sparte selbst zu finden: /job/v1/jobs/{jobId}/line/PersonalAutoLine/coverages.
Modifikatoren
Modifikatoren sind Faktoren, die bei einem Bewertungsalgorithmus angewendet werden. Die Sparte für Privatfahrzeuge könnte beispielsweise den Modifikator „Rabatt für Antiblockiersysteme“ für Fahrzeuge enthalten, der einen Rabatt auf die Prämie gewährt, wenn das Fahrzeug über ein Antiblockiersystem verfügt. Modifikatoren können Deckungsobjekten oder der Sparte selbst zugeordnet werden.
/job/v1/jobs/{jobId}/lines/{productId}/modifiers-
/job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/modifiers
Die Sparte für Privatfahrzeuge könnte beispielsweise den Modifikator „Rabatt für Antiblockiersysteme“ für Fahrzeuge enthalten, der einen Rabatt auf die Prämie gewährt, wenn das Fahrzeug über ein Antiblockiersystem verfügt.
Teilschäden, Ausschlüsse oder Bedingungen
Eine Sparte kann zusätzliche Teilschäden, Ausschlüsse oder Bedingungen umfassen. Teilschäden können sich auf Haftpflichtdeckungsobjekte beziehen, z. B. auf einen Fahrer in einer Kfz-Police. Ausschlüsse definieren Schadenursachen, die von der Police explizit nicht gedeckt werden. Auf diese Weise lässt das Versicherungsunternehmen keinen Raum für Schadensfallansprüche in diesen Bereichen. Bedingungen definieren vertragliche Verpflichtungen der Versicherungspolice, die weder als Deckung noch als Ausschluss gelten.
Auf Teilschäden, Ausschlüsse oder Bedingungen kann auf Spartenebene zugegriffen werden.
Beispielsweise kann eine Sparte für Arbeitsunfallversicherung den Zugriff auf Arbeitsplatzausschlüsse über einen /job/v1/jobs/{jobId}/lines/WorkersCompLine/exclude-workplaces-Endpunkt ermöglichen. Abhängig von der Sparte können Ausschlüsse für ein Deckungsobjekt definiert werden. In diesem Fall wäre das Muster /job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/{excludeType}/{excludeId}
Präqualifikationsfragen für die Annahme
In PolicyCenter erfolgt die Präqualifikation durch eine Reihe von Fragen, die während des Antragsvorgangs beantwortet werden und mögliche Annahmeprobleme aufdecken können. Antworten auf Präqualifikationsfragen können verwendet werden, um Annahmeprobleme aufzudecken oder die Verbindlichmachung des Antrags zu blockieren.
Eine Präqualifikation kann das Bereitstellen von Abfragen beinhalten, die allgemein für alle Produkte sowie spezifisch für das Produkt, den Standort oder das Deckungsobjekt sind. Je nach Sparte kann über die folgenden Endpunkte auf Präqualifikationsfragen zugegriffen werden:
/job/v1/jobs/{jobId}/questions/job/v1/jobs/{jobId}/locations/{locationId}/questions/job/v1/jobs/{jobId}/lines/{productId}/questions/job/v1/jobs/{jobId}/lines/{productId}/locations/{locationId}/questions/job/v1/jobs/{jobId}/lines/{productId}/{coverableType}/{coverableId}/questions
Zur Veranschaulichung: In einer Sparte für Privatfahrzeuge kann eine GET-Anforderung an /job/v1/jobs/{jobId}/questions Folgendes zurückgeben:
{
"data": {
"attributes": {
"answers": {
"q1": {
"question": {
"displayName": "Have you been convicted for a moving traffic violation within the past 3 years?",
"id": "q1"
},
"questionType": {
"code": "Boolean",
"name": "Boolean"
}
},
"q2": {
"question": {
"displayName": "Has any policy or coverage been declined, canceled, or non-renewed during the prior 3 years?",
"id": "q2"
},
"questionType": {
"code": "Boolean",
"name": "Boolean"
}
},
"q3": {
"question": {
"displayName": "Has your license ever been canceled, suspended or revoked?",
"id": "q3"
},
"questionType": {
"code": "Choice",
"name": "Choice"
}
},
"q4": {
"question": {
"displayName": "Are you currently insured?",
"id": "q4"
},
"questionType": {
"code": "Boolean",
"name": "Boolean"
}
}
}
},
"checksum": "*",
"links": "*"
}
}