openapi: 3.0.0
info:
  title: UAE Insurance API
  description: '## UAE Open Finance Insurance API Specification'
  version: v2.1-errata1
tags:
  - name: Insurance Consents
    description: Insurance Consent Operations
  - name: Employment Insurance
    description: Employment Insurance Operations
  - name: Health Insurance
    description: Health Insurance Operations
  - name: Home Insurance
    description: Home Insurance Quotes and Data Sharing Operations
  - name: Life Insurance
    description: Life Insurance Operations
  - name: Motor Insurance
    description: Motor Insurance Operations
  - name: Renters Insurance
    description: Renters Insurance Operations
  - name: Travel Insurance
    description: Travel Insurance Operations
paths:
  /employment-insurance-policies:
    post:
      operationId: EmploymentInsuranceCreatePolicy_signedRequest
      summary: Create an employment insurance policy from a quote
      description: |-
        Create a employment insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: EmploymentInsurancePolicies_list
      summary: Retrieve employment insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /employment-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: EmploymentInsurancePoliciesById_read
      summary: Retrieve an employment insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadEmploymentInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadEmploymentInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadEmploymentInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /employment-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: EmploymentInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve employment insurance policy payment details
      description: |-
        Retrieve payment details for a given employment insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /employment-insurance-quotes:
    post:
      operationId: CreateEmploymentInsuranceQuote_unsignedRequest_CreateEmploymentInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create an employment insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create an employment insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateEmploymentInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateEmploymentInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateEmploymentInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /employment-insurance-quotes/{QuoteId}:
    patch:
      operationId: EmploymentInsuranceQuotePatch
      summary: Accept an employment insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateEmploymentInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: EmploymentInsuranceGetQuoteByQuoteId_read
      summary: Retrieve an employment insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /employment-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Employment Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /health-insurance-policies:
    post:
      operationId: HealthInsuranceCreatePolicy_signedRequest
      summary: Create a health insurance policy from a quote
      description: |-
        Create a health insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: HealthInsurancePolicies_list
      summary: Retrieve health insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /health-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: HealthInsurancePoliciesById_read
      summary: Retrieve a health insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadHealthInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadHealthInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadHealthInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /health-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: HealthInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve health insurance policy payment details
      description: |-
        Retrieve payment details for a given health insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /health-insurance-quotes:
    post:
      operationId: CreateHealthInsuranceQuoteUnsignedOperation_CreateHealthInsuranceQuoteSignedOperation
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a health insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create a health insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateHealthInsuranceQuoteResponseBody'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateHealthInsuranceQuoteResponseBody'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateHealthInsuranceQuoteResponseBody'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateHealthInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateHealthInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateHealthInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /health-insurance-quotes/{QuoteId}:
    patch:
      operationId: HealthInsuranceQuotePatch
      summary: Accept a health insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateHealthInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: HealthInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a health insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /health-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEHealthInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEHealthInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEHealthInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Health Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /home-insurance-policies:
    post:
      operationId: HomeInsuranceCreatePolicy_signedRequest
      summary: Create a home insurance policy from a quote
      description: |-
        Create a home insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: HomeInsurancePolicies_list
      summary: Retrieve home insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /home-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: HomeInsurancePoliciesById_read
      summary: Retrieve a home insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadHomeInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadHomeInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadHomeInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /home-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: HomeInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve home insurance policy payment details
      description: |-
        Retrieve payment details for a given home insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /home-insurance-quotes:
    post:
      operationId: CreateHomeInsuranceQuote_unsignedRequest_CreateHomeInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a home insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create a home insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateHomeInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateHomeInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateHomeInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /home-insurance-quotes/{QuoteId}:
    patch:
      operationId: HomeInsuranceQuotePatch
      summary: Accept a home insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateHomeInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: HomeInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a home insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /home-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Home Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /insurance-consents:
    get:
      operationId: InsuranceConsents_list
      summary: Retrieve consents by BaseConsentId
      description: Retrieve all consents that are linked to a given `BaseConsentId`
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/BaseConsentId'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsents1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsents1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsents1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Insurance Consents
      security:
        - TPPOAuth2Security:
            - insurance
  /insurance-consents/{ConsentId}:
    get:
      operationId: InsuranceConsentsByConsentId_read
      summary: Retrieve a consent
      description: Retrieve a consent for a given `ConsentId`
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/ConsentId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsent1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsent1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadInsuranceConsent1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Insurance Consents
      security:
        - TPPOAuth2Security:
            - insurance
    patch:
      operationId: InsuranceConsentsByConsentId_unsignedRequestBodyUpdate_InsuranceConsentsByConsentId_signedRequestBodyUpdate
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/ConsentId'
      description: Modify a consent for a given `ConsentId`
      summary: Modify a consent
      responses:
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Insurance Consents
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AEUpdateConsent1'
          application/json:
            schema:
              $ref: '#/components/schemas/AEUpdateConsent1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AEUpdateConsent1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /life-insurance-policies:
    post:
      operationId: LifeInsuranceCreatePolicy_signedRequest
      summary: Create a life insurance policy from a quote
      description: |-
        Create a life insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: LifeInsurancePolicies_list
      summary: Retrieve life insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadLifeInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadLifeInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadLifeInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /life-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: LifeInsurancePoliciesById_read
      summary: Retrieve a life insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadLifeInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadLifeInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadLifeInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /life-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: LifeInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve life insurance policy payment details
      description: |-
        Retrieve payment details for a given life insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /life-insurance-quotes:
    post:
      operationId: CreateLifeInsuranceQuote_unsignedRequest_CreateLifeInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a life insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create a life insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateLifeInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateLifeInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateLifeInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /life-insurance-quotes/{QuoteId}:
    patch:
      operationId: LifeInsuranceQuotePatch
      summary: Accept a life insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateLifeInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: LifeInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a life insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /life-insurance-quotes` operation.s
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Life Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /motor-insurance-policies:
    post:
      operationId: MotorInsuranceCreatePolicy_signedRequest
      summary: Create a motor insurance policy from a quote
      description: |-
        Create an employment insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: MotorInsurancePolicies_list
      summary: Retrieve motor insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /motor-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: MotorInsurancePoliciesById_read
      summary: Retrieve a motor insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadMotorInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadMotorInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadMotorInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /motor-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: MotorInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve motor insurance policy payment details
      description: |-
        Retrieve payment details for a given motor insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /motor-insurance-quotes:
    post:
      operationId: CreateMotorInsuranceQuote_unsignedRequest_CreateMotorInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a motor insurance quote. Data can be sourced using data shared by an
        existing LFI using a `Quote` data cluster.
      summary: Create a motor insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateMotorInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateMotorInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateMotorInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /motor-insurance-quotes/{QuoteId}:
    patch:
      operationId: MotorInsuranceQuotePatch
      summary: Accept a motor insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateMotorInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: MotorInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a motor insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /motor-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Motor Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /renters-insurance-policies:
    post:
      operationId: RentersInsuranceCreatePolicy_signedRequest
      summary: Create a renters insurance policy from a quote
      description: |-
        Create a renters insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: RentersInsurancePolicies_list
      summary: Retrieve renters insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /renters-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: RentersInsurancePoliciesById_read
      summary: Retrieve a renters insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadRentersInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadRentersInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadRentersInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /renters-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: RentersInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve renters insurance policy payment details
      description: |-
        Retrieve payment details for a given renters insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /renters-insurance-quotes:
    post:
      operationId: CreateRentersInsuranceQuote_unsignedRequest_CreateRentersInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a renters insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create a renters insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateRentersInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateRentersInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateRentersInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /renters-insurance-quotes/{QuoteId}:
    patch:
      operationId: RentersInsuranceQuotePatch
      summary: Accept a renters insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateRentersInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: RentersInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a renters insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /renters-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Renters Insurance
      security:
        - TPPOAuth2Security:
            - insurance
  /travel-insurance-policies:
    post:
      operationId: TravelInsuranceCreatePolicy_signedRequest
      summary: Create a travel insurance policy from a quote
      description: |-
        Create a travel insurance policy based on a quote previously created by the
        LFI. The TPP will send the `QuoteId` that has been saved by the LFI, together with
        any additional data that is required to create the insurance policy. The
        LFI will then invoke their BAU process to create the insurance policy.

        After the policy initiation request has been sent the User will be redirected to
        the LFI to complete the creation of the insurance policy.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        $ref: '#/components/schemas/AEInsuranceInsurancePolicyResponseData1'
                      Links:
                        $ref: '#/components/schemas/AECreateInsurancePolicyLinks1'
                      Meta:
                        $ref: '#/components/schemas/Meta'
                    required:
                      - Data
                      - Links
                      - Meta
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/AEInsuranceCreatePolicy1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: TravelInsurancePolicies_list
      summary: Retrieve travel insurance policies
      description: Retrieve all insurance policies to which access has been granted by the User
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadInsurancePolicies1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEReadInsurancePolicies1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /travel-insurance-policies/{InsurancePolicyId}:
    get:
      operationId: TravelInsurancePoliciesById_read
      summary: Retrieve a travel insurance policy
      description: |-
        Retrieve an insurance policy for a given insurance policy identifier value, based 
        on data clusters granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadTravelInsurancePolicy1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadTravelInsurancePolicy1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadTravelInsurancePolicy1Signed'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /travel-insurance-policies/{InsurancePolicyId}/payment-details:
    get:
      operationId: TravelInsurancePolicyByIdBankAccountDetails_read
      summary: Retrieve travel insurance policy payment details
      description: |-
        Retrieve payment details for a given travel insurance policy, based on data clusters 
        granted by the User.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsurancePolicyId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadPaymentDetails1Signed'
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      security:
        - UserOAuth2Security:
            - openid
            - insurance
  /travel-insurance-quotes:
    post:
      operationId: CreateTravelInsuranceQuote_unsignedRequest_CreateTravelInsuranceQuote_signedRequest
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      description: |-
        Create a travel insurance quote. Data can be sourced using data shared by an
        existing LFI using the `Quote` data cluster.
      summary: Create a travel insurance quote
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AECreateInsuranceQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204DeclinedToQuote'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateTravelInsuranceQuoteRequestBody1'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateTravelInsuranceQuoteRequestBody1'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AECreateTravelInsuranceQuoteRequestBody1Signed'
      security:
        - TPPOAuth2Security:
            - insurance
  /travel-insurance-quotes/{QuoteId}:
    patch:
      operationId: TravelInsuranceQuotePatch
      summary: Accept a travel insurance quote
      description: |-
        Update the quote status to indicate the User wishes to proceed and to 
        create a new insurance policy. The TPP must update the status of the quote before
        retrieving any additional data through their Data Sharing permissions, to include
        in the new insurance policy request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    type: object
                    properties:
                      Data:
                        type: object
                        properties:
                          PolicyIssuanceAllowed:
                            type: object
                            properties:
                              CustomerVerification:
                                type: boolean
                                description: >-
                                  Broker allowed to complete capture of customer verification information and documents
                                  for this quote.
                              Payment:
                                type: boolean
                                description: Broker allowed to host payment checkout.
                              PolicyDocuments:
                                type: boolean
                                description: Broker allowed to provide policy documents to customer.
                            required:
                              - CustomerVerification
                              - Payment
                              - PolicyDocuments
                            description: Broker requests to handle following steps of policy issuance process.
                            additionalProperties: false
                        minProperties: 1
                        additionalProperties: false
                      Links:
                        type: object
                        properties:
                          Self:
                            $ref: '#/components/schemas/Self'
                          PaymentUrl:
                            type: string
                            format: uri
                            description: >-
                              Hosted payment URL for TPP to present to customer.  Required when the Payment field is
                              true.
                        required:
                          - Self
                        additionalProperties: false
                    required:
                      - Data
                      - Links
                    additionalProperties: false
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '204':
          $ref: '#/components/responses/204Patch'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                message:
                  $ref: '#/components/schemas/UpdateTravelInsuranceQuoteStatusMessageProperties'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
      security:
        - TPPOAuth2Security:
            - insurance
    get:
      operationId: TravelInsuranceGetQuoteByQuoteId_read
      summary: Retrieve a travel insurance quote
      description: |-
        Retrieve the properties of a quote, using the quote identifier returned by the
        `post /travel-insurance-quotes` operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/AEInsuranceParameters.AEInsuranceQuoteId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
                  message:
                    $ref: '#/components/schemas/AEInsuranceQuoteReadResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      tags:
        - Travel Insurance
      security:
        - TPPOAuth2Security:
            - insurance
components:
  parameters:
    AEInsuranceParameters.AEInsurancePolicyId:
      name: InsurancePolicyId
      in: path
      required: true
      description: Unique identifier for a given insurance policy
      schema:
        $ref: '#/components/schemas/uuid'
    AEInsuranceParameters.AEInsuranceQuoteId:
      name: QuoteId
      in: path
      required: true
      description: Unique identifier for a given quote
      schema:
        $ref: '#/components/schemas/uuid'
    Authorization:
      name: authorization
      in: header
      required: true
      description: An Access Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    BaseConsentId:
      name: BaseConsentId
      in: query
      required: true
      description: A base consent identifier that links to other consent resources
      schema:
        $ref: '#/components/schemas/uuid'
      explode: false
    ConsentId:
      name: ConsentId
      in: path
      required: true
      description: Unique identifier for a given consent resource
      schema:
        $ref: '#/components/schemas/uuid'
    x-customer-user-agent:
      name: x-customer-user-agent
      in: header
      required: false
      description: Indicates the user-agent that the User is using.
      schema:
        type: string
    x-fapi-auth-date:
      name: x-fapi-auth-date
      in: header
      required: false
      description: |-
        The time when the User last logged in with the TPP. 
        All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: 
        Sun, 10 Sep 2017 19:43:31 UTC
      schema:
        type: string
        pattern: >-
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      name: x-fapi-customer-ip-address
      in: header
      required: false
      description: The User's IP address if the User is currently logged in with the TPP.
      schema:
        type: string
    x-fapi-interaction-id:
      name: x-fapi-interaction-id
      in: header
      required: false
      description: An RFC4122 UID used as a correlation ID.
      schema:
        type: string
  schemas:
    AEActiveCurrencyAmount:
      type: object
      required:
        - Currency
        - Amount
      properties:
        Currency:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
        Amount:
          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
      description: The Currency and Amount relating to the Payment, Refund or Request to Pay
      additionalProperties: false
    AEActiveOrHistoricAmount:
      type: string
      pattern: ^\d{1,16}\.\d{2}$
      description: >-
        A number of monetary units specified in an active currency where the unit of currency is explicit and compliant
        with ISO 4217.
      example: '100.00'
    AEActiveOrHistoricCurrencyCode:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: >-
        A 3 character alphabetic code allocated to a currency under an international currency identification scheme, as
        described in the latest edition of the international standard ISO 4217 'Codes for the representation of
        currencies and funds'.
      example: AED
    AEConsentPermissionCodes:
      type: string
      enum:
        - ReadInsurancePolicies
        - ReadCustomerBasic
        - ReadCustomerDetail
        - ReadCustomerPaymentDetails
        - ReadInsuranceProduct
        - ReadCustomerClaims
        - ReadInsurancePremium
    AEConsentPermissions:
      type: object
      required:
        - InsuranceType
        - Permissions
      properties:
        InsuranceType:
          type: string
          enum:
            - Employment
            - Health
            - Home
            - Life
            - Motor
            - Renters
            - Travel
          description: The insurance sector to which the permissions relate.
        Permissions:
          type: array
          items:
            $ref: '#/components/schemas/AEConsentPermissionCodes'
          minItems: 1
          description: The data clusters requested by the TPP.
      additionalProperties: false
    AEConsentStatusCode:
      type: string
      enum:
        - Authorized
        - AwaitingAuthorization
        - Rejected
        - Revoked
        - Expired
        - Suspended
    AECreateEmploymentInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEEmploymentInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateEmploymentInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateEmploymentInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateHealthInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEHealthInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateHealthInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateHealthInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateHealthInsuranceQuoteResponseBody:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceCreateQuoteResponseProperties'
          minItems: 1
          description: >-
            One-or-more quotes. If no quotes are provided the LFI should respond with the `204` response code and an
            empty payload
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AECreateHomeInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEHomeInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateHomeInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateHomeInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateInsurancePolicyLinks1:
      type: object
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
        CreateInsurancePolicyRedirectUrl:
          type: string
          format: uri
          description: >-
            A redirect URL provided by the LFI to complete creating the insurance policy. The TPP must redirect the User
            to this URL.

            The URL is optional as the LFI may have all required information through party data to complete account
            creation.
      additionalProperties: false
    AECreateInsuranceQuoteResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceCreateQuoteResponseProperties'
          minItems: 1
          description: >-
            One-or-more quotes. If no quotes are provided the LFI should respond with the `204` response code and an
            empty payload
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AECreateLifeInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AELifeInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateLifeInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateLifeInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateMotorInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEMotorInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateMotorInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateMotorInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateRentersInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AERentersInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateRentersInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateRentersInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECreateTravelInsuranceQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AETravelInsuranceQuoteRequestProperties'
      additionalProperties: false
    AECreateTravelInsuranceQuoteRequestBody1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AECreateTravelInsuranceQuoteRequestBody1'
      additionalProperties: false
    AECustomErrorCode:
      type: string
      pattern: ^[A-Za-z]+\.[A-Za-z0-9]+$
    AECustomerPrimaryLanguage:
      type: string
      enum:
        - English
        - Arabic
        - Other
      description: Primary language spoken by the insurance policy customer
    AEDocumentProperties:
      type: object
      required:
        - Type
        - FileName
        - ContentType
        - Content
        - HashType
        - Hash
      properties:
        Type:
          type: string
          description: The type of document that has been provided.  For example, Policy Booklet, Terms & Conditions
        FileName:
          type: string
          description: >-
            Original file name for operator reference (no paths). Should include  a suitable extension (e.g.,
            policy.pdf, terms.pdf).
        ContentType:
          type: string
          enum:
            - application/pdf
            - image/jpeg
            - image/png
          description: >-
            Content (MIME) type of the document, using IANA-registered media types, and based on types supported in the
            Open Finance Framework.
        Content:
          type: string
          format: base64
          description: >-
            Base64-encoded representation of the document content.  The encoded string must be generated from the raw
            file bytes and decoded by the LFI to restore the original file.
        HashType:
          type: string
          enum:
            - SHA256
          description: Approach used to create checksum or hash of the file. SHA256 is supported.
        Hash:
          type: string
          description: >-
            Checksum of the original file bytes created using the method indicated by `HashType`. Required to enable
            integrity verification by comparing with the hash or checksum calculated on the decoded file.
        AdditionalInformation:
          type: string
          maxLength: 1000
          description: Optional free text notes providing context on the document.
      additionalProperties: false
    AEDurationYearsAndMonths:
      type: string
      pattern: ^P(\d+Y)?(\d+M)?$
      format: duration
      example: P2Y3M
    AEEmploymentInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          type: object
          properties:
            Salutation:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
              description: The salutation of the individual or customer.
            FirstName:
              type: string
              minLength: 1
              maxLength: 70
              description: First Name of the individual.
            MiddleName:
              type: string
              minLength: 1
              maxLength: 70
              description: Middle Name of the individual.
            LastName:
              type: string
              minLength: 1
              maxLength: 70
              description: Last Name (Surname) of the individual.
            Gender:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceGender'
              description: The gender of the customer
            DateOfBirth:
              type: string
              format: date
              description: Date of birth of the individual.
            MaritalStatus:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
              description: The marital status of the individual.
            ResidentialLocation:
              type: string
              description: Residential Location of the individual.
            LandlineNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              pattern: ^\+?[1-9]\d{1,14}$
              description: The landline telephone number of the individual.
            Nationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
            PrimaryLanguage:
              allOf:
                - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
              description: Primary language spoken by the insurance policy customer
            MobileNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              description: The mobile telephone number of the individual.
            EmailAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
              description: Email address of the individual.
            Address:
              type: array
              items:
                type: object
                properties:
                  AddressType:
                    type: string
                    enum:
                      - Billing
                      - Business
                      - Correspondence
                      - DeliveryTo
                      - MailTo
                      - POBox
                      - Postal
                      - Permanent
                      - Residential
                      - Statement
                      - Other
                    description: The type of address.
                  AddressLine:
                    type: array
                    items:
                      $ref: '#/components/schemas/AEInsuranceAddressLine'
                    minItems: 1
                    maxItems: 7
                    description: >-
                      Information that locates and identifies a specific address for a transaction entry, that is
                      presented in free format text.


                      This value should be used where the address is provided or stored as a single string.
                  BuildingNumber:
                    type: string
                    minLength: 1
                    maxLength: 16
                    description: The unit, apartment, or villa number within a building or community
                  BuildingName:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: Name of the building or house.
                  Floor:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Floor or storey within a building.
                  StreetName:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: The name of the street or road where the property is located
                  DistrictName:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: The district, community, or neighbourhood where the property is located
                  PostBox:
                    type: string
                    minLength: 1
                    maxLength: 16
                    description: The P.O. Box number assigned to the recipient for mail delivery
                  TownName:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: Name of a built-up area, such as a town or city
                  CountrySubDivision:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceEmirate'
                    description: >-
                      Country subdivision, such as state or province. This is the Emirate where the address is
                      registered.
                  Country:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceCountryCode'
                    description: The country associated with the address, represented using the ISO 3166-1 alpha-2 country code.
                required:
                  - AddressLine
                  - Country
                additionalProperties: false
              minItems: 1
              description: Customer's address details
            Employment:
              type: object
              properties:
                Profession:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The individuals profession.
                ProfessionDescription:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: A description of the individual's Profession
                JobTitle:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Individual's job title
                Designation:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: An individual's professional qualifications, special licenses and certifications
                NatureOfEmployerBusiness:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: Nature of employer business
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
                EmployerAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceAddressProperties'
                  description: The address details of the individual's employer
                EmploymentStatus:
                  $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
                StartDate:
                  type: string
                  format: date
                  description: Individual's employment start date
                SourceOfIncome:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Source of the individual's income as a free form description
                MonthlyIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Monthly income amount and currency
                AnnualIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Annual income amount and currency
                AdditionalCompensation:
                  type: array
                  items:
                    type: object
                    properties:
                      Description:
                        type: string
                        description: Free form description of the additional compensation
                      CompensationAmount:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: The amount of the additional compensation
                    required:
                      - Description
                      - CompensationAmount
                    additionalProperties: false
                  minItems: 1
                  description: Provided when the individual has additional income.
                SalaryBand:
                  type: string
                  enum:
                    - NoSalary
                    - BelowAED000PM
                    - AED4000ToAED12000PM
                    - AED12001AndAbove
              required:
                - MonthlyIncomeAmount
              minProperties: 1
              description: >-
                Employment information for the policyholder. Requires `ReadCustomerDetail` permission to be granted by
                the User.
              additionalProperties: false
          required:
            - FirstName
            - LastName
            - Gender
            - DateOfBirth
            - Nationality
            - MobileNumber
            - EmailAddress
          description: >-
            Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User, except
            for `Employment` which requires `ReadCustomerDetail`.
          additionalProperties: false
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          type: object
          properties:
            Policy:
              type: object
              properties:
                SchemeCategory:
                  type: string
                  enum:
                    - CategoryA
                    - CategoryB
                  description: |-
                    For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's Salary Category.

                    Categories are defined as follows:

                    * Category A - Salary of AED16,000 or less
                    * Category B - Salary Exceeding AED16,000
                Sector:
                  type: string
                  enum:
                    - Private
                    - FederalGovernment
                  description: For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's employment Sector
                PolicyTerm:
                  type: string
                  pattern: ^P(\d+Y)?(\d+M)?$
                  format: duration
                  description: The insurance policy term in years and months, using ISO 8601 compatible duration format
                  example: P2Y3M
                PremiumFrequency:
                  type: string
                  enum:
                    - Annually
                    - OneTime
                    - Monthly
                    - Quarterly
                    - BiAnnual
                    - Limited
                    - Other
                  description: The payment frequency the calculated Premium has been based on.
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  description: The date on which cover ends.
                PolicyPurchaseChannelType:
                  type: string
                  enum:
                    - Direct
                    - Agent
                    - Broker
                    - Bank
                    - InvFinInst
                    - TPA
                    - OnlineInsideUAE
                    - OnlineOutsideUAE
                    - Aggregation
                    - Outside
                    - Other
                  description: Sales channel of policy.
              required:
                - SchemeCategory
                - Sector
                - PremiumFrequency
                - PolicyPurchaseChannelType
              additionalProperties: false
          required:
            - Policy
          description: Details of the insurance product. Requires `ReadInsuranceProduct` permission to be granted by the User.
          additionalProperties: false
        Claims:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingClaimsWithLossCauseProperties'
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AEEmploymentInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  description: The date on which cover ends.
                SchemeCategory:
                  type: string
                  enum:
                    - CategoryA
                    - CategoryB
                  description: |-
                    For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's Salary Category.

                    Categories are defined as follows:

                    * Category A - Salary of AED16,000 or less
                    * Category B - Salary Exceeding AED16,000
                Sector:
                  type: string
                  enum:
                    - Private
                    - FederalGovernment
                  description: For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's employment Sector
                PolicyTerm:
                  type: string
                  pattern: ^P(\d+Y)?(\d+M)?$
                  format: duration
                  description: The insurance policy term in years and months, using ISO 8601 compatible duration format
                  example: P2Y3M
                PremiumFrequency:
                  type: string
                  enum:
                    - Annually
                    - OneTime
                    - Monthly
                    - Quarterly
                    - BiAnnual
                    - Limited
                    - Other
                  description: The payment frequency the calculated Premium has been based on.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            PolicyHolder:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  description: Address details
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            Identity:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
              minProperties: 1
              description: Revised identity details, verified by the TPP.
            Employment:
              type: object
              properties:
                Profession:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The individuals profession.
                ProfessionDescription:
                  type: string
                  description: A description of the individual's Profession
                JobTitle:
                  type: string
                  description: Individual's job title
                Designation:
                  type: string
                  description: An individual's professional qualifications, special licenses and certifications
                NatureOfEmployerBusiness:
                  type: string
                  description: Nature of employer business
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
                EmployerAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceAddressProperties'
                  description: The address details of the individual's employer
                EmploymentStatus:
                  $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
                StartDate:
                  type: string
                  format: date
                  description: Individual's employment start date
                SourceOfIncome:
                  type: string
                  description: Source of the individual's income as a free form description
                MonthlyIncomeAmount:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                  description: Monthly income amount and currency
                  additionalProperties: false
                AnnualIncomeAmount:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                  description: Annual income amount and currency
                  additionalProperties: false
                AdditionalCompensation:
                  type: array
                  items:
                    type: object
                    properties:
                      Description:
                        type: string
                        description: Free form description of the additional compensation
                      CompensationAmount:
                        type: object
                        properties:
                          Currency:
                            $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                          Amount:
                            $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        description: The amount of the additional compensation
                        additionalProperties: false
                    additionalProperties: false
                  minItems: 1
                  description: Provided when the individual has additional income.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AEEmploymentInsuranceQuoteAdditionalCompensationProperties:
      type: object
      required:
        - Description
        - CompensationAmount
      properties:
        Description:
          type: string
          description: Free form description of the additional compensation
        CompensationAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The amount of the additional compensation
      additionalProperties: false
    AEEmploymentInsuranceQuoteEmploymentProperties:
      type: object
      required:
        - EmployerName
        - EmploymentStatus
        - MonthlyIncomeAmount
      properties:
        Profession:
          type: string
          minLength: 1
          maxLength: 70
          description: The individuals profession.
        ProfessionDescription:
          type: string
          description: A description of the individual's Profession
        JobTitle:
          type: string
          description: Individual's job title
        Designation:
          type: string
          description: An individual's professional qualifications, special licenses and certifications
        NatureOfEmployerBusiness:
          type: string
          description: Nature of employer business
        EmployerName:
          type: string
          minLength: 1
          maxLength: 70
          description: Employer name.
        EmployerAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAddressProperties'
          description: The address details of the individual's employer
        EmploymentStatus:
          $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
        StartDate:
          type: string
          format: date
          description: Individual's employment start date
        SourceOfIncome:
          type: string
          description: Source of the individual's income as a free form description
        MonthlyIncomeAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Monthly income amount and currency
        AnnualIncomeAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Annual income amount and currency
        AdditionalCompensation:
          type: array
          items:
            $ref: '#/components/schemas/AEEmploymentInsuranceQuoteAdditionalCompensationProperties'
          minItems: 1
          description: Provided when the individual has additional income.
      description: Details of the employment to be insured.
      additionalProperties: false
    AEEmploymentInsuranceQuotePolicyHolderProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Gender
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
      additionalProperties: false
    AEEmploymentInsuranceQuotePolicyProperties:
      type: object
      required:
        - PolicyStartDate
        - SchemeCategory
        - Sector
        - PremiumFrequency
      properties:
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          description: The date on which cover ends.
        SchemeCategory:
          type: string
          enum:
            - CategoryA
            - CategoryB
          description: |-
            For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's Salary Category.

            Categories are defined as follows:

            * Category A - Salary of AED16,000 or less
            * Category B - Salary Exceeding AED16,000
        Sector:
          type: string
          enum:
            - Private
            - FederalGovernment
          description: For Involuntary Loss of Employment Insurance (ILOE) confirmation of the customer's employment Sector
        PolicyTerm:
          type: string
          pattern: ^P(\d+Y)?(\d+M)?$
          format: duration
          description: The insurance policy term in years and months, using ISO 8601 compatible duration format
          example: P2Y3M
        PremiumFrequency:
          type: string
          enum:
            - Annually
            - OneTime
            - Monthly
            - Quarterly
            - BiAnnual
            - Limited
            - Other
          description: The payment frequency the calculated Premium has been based on.
      additionalProperties: false
    AEEmploymentInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - Employment
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          $ref: '#/components/schemas/AEEmploymentInsuranceQuotePolicyProperties'
        PolicyHolder:
          $ref: '#/components/schemas/AEEmploymentInsuranceQuotePolicyHolderProperties'
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
        Employment:
          $ref: '#/components/schemas/AEEmploymentInsuranceQuoteEmploymentProperties'
        ExistingInsurance:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceExistingInsuranceProperties'
          minItems: 1
          description: One-or-more existing insurance policies, omitted if none are held.
      additionalProperties: false
    AEEngineProperties:
      anyOf:
        - type: object
          properties:
            EngineType:
              type: string
              enum:
                - Electric
              description: Engine type for fully-electric vehicles.
            BatteryCapacity:
              type: string
              description: The capacity of the battery.
            MotorPower:
              type: string
              description: The power of the vehicle motor.
          required:
            - EngineType
          additionalProperties: false
        - type: object
          properties:
            EngineType:
              type: string
              enum:
                - Hybrid
              description: Engine type for hybrid vehicles.
            BatteryCapacity:
              type: string
              description: The capacity of the battery.
            MotorPower:
              type: string
              description: The power of the vehicle motor.
            EngineCapacity:
              type: string
              description: The engine displacement volume in cubic centimetres (cc).
            CylinderCapacity:
              type: string
              description: The number of cylinders
          required:
            - EngineType
            - EngineCapacity
            - CylinderCapacity
          additionalProperties: false
        - type: object
          properties:
            EngineType:
              type: string
              enum:
                - InternalCombustionEngine
              description: Engine type for vehicles with an internal combustion engine.
            EngineCapacity:
              type: string
              description: The engine displacement volume in cubic centimetres (cc).
            CylinderCapacity:
              type: string
              description: The number of cylinders
          required:
            - EngineType
            - EngineCapacity
            - CylinderCapacity
          additionalProperties: false
      description: Details of the engine type for the vehicle
    AEError400:
      anyOf:
        - $ref: '#/components/schemas/AEError400Codes'
        - $ref: '#/components/schemas/AECustomErrorCode'
    AEError400Codes:
      type: string
      enum:
        - Consent.Invalid
        - Consent.BusinessRuleViolation
        - Consent.FailsControlParameters
        - Consent.InvalidUserIdentifier
        - JWS.InvalidSignature
        - JWS.Malformed
        - JWS.InvalidClaim
        - JWS.InvalidHeader
        - JWS.InvalidPayload
        - JWE.DecryptionError
        - JWE.InvalidHeader
        - GenericRecoverableError
        - GenericError
        - Event.UnexpectedEvent
        - Body.InvalidFormat
        - Resource.InvalidFormat
    AEError400ResponseBody:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: array
          items:
            type: object
            properties:
              Code:
                $ref: '#/components/schemas/AEError400'
              Message:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or
                  'RequestedExecutionDateTime must be in future'

                  UAEOF doesn't standardise this field
              Path:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  Recommended but optional reference to the JSON Path of the field with error, e.g.,
                  $.Data.Initiation.InstructedAmount.Currency
              Url:
                type: string
                description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
            required:
              - Code
              - Message
            additionalProperties: false
          minItems: 1
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      additionalProperties: false
    AEError400ResponseBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEError400ResponseBody'
      additionalProperties: false
    AEError403:
      anyOf:
        - $ref: '#/components/schemas/AEError403Codes'
        - $ref: '#/components/schemas/AECustomErrorCode'
    AEError403Codes:
      type: string
      enum:
        - AccessToken.InvalidScope
        - Consent.TransientAccountAccessFailure
        - Consent.AccountTemporarilyBlocked
        - Consent.PermanentAccountAccessFailure
        - GenericRecoverableError
        - GenericError
    AEError403ResponseBody:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: array
          items:
            type: object
            properties:
              Code:
                $ref: '#/components/schemas/AEError403'
              Message:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or
                  'RequestedExecutionDateTime must be in future'

                  UAEOF doesn't standardise this field
              Path:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  Recommended but optional reference to the JSON Path of the field with error, e.g.,
                  $.Data.Initiation.InstructedAmount.Currency
              Url:
                type: string
                description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
            required:
              - Code
              - Message
            additionalProperties: false
          minItems: 1
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      additionalProperties: false
    AEError403ResponseBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEError403ResponseBody'
      additionalProperties: false
    AEError500:
      anyOf:
        - $ref: '#/components/schemas/AEErrorGenericCodes'
        - $ref: '#/components/schemas/AECustomErrorCode'
    AEError500ResponseBody:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: array
          items:
            type: object
            properties:
              Code:
                $ref: '#/components/schemas/AEError500'
              Message:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or
                  'RequestedExecutionDateTime must be in future'

                  UAEOF doesn't standardise this field
              Path:
                type: string
                minLength: 1
                maxLength: 500
                description: >-
                  Recommended but optional reference to the JSON Path of the field with error, e.g.,
                  $.Data.Initiation.InstructedAmount.Currency
              Url:
                type: string
                description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
            required:
              - Code
              - Message
            additionalProperties: false
          minItems: 1
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      additionalProperties: false
    AEError500ResponseBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEError500ResponseBody'
      additionalProperties: false
    AEErrorGenericCodes:
      type: string
      enum:
        - GenericRecoverableError
        - GenericError
    AEHealthInsuranceCreateQuoteResponseProperties:
      oneOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteResponsePendingProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteResponseAvailableProperties'
      discriminator:
        propertyName: QuoteStatus
        mapping:
          Pending: '#/components/schemas/AEHealthInsuranceQuoteResponsePendingProperties'
          Available: '#/components/schemas/AEHealthInsuranceQuoteResponseAvailableProperties'
    AEHealthInsuranceDataSharingClaimsHistoryStatusCodes:
      type: string
      enum:
        - Open
        - Outstanding
        - Closed
        - Reopened
        - Cancelled
        - Deleted
        - Rejected
        - Other
      description: |-
        Health Insurance status codes are defined as follows:

        * Open: The claim has been submitted.

        * Outstanding: The claim is under processing at the LFI.

        * Closed: The claim is settled and closed.
          
        * Reopened: The claim has been reopened.

        * Cancelled: The claim is cancelled.

        * Deleted: The claim was entered incorrectly and has been deleted.

        * Rejected: The claim was rejected by insurance company.

        * Other: Status at LFI does not matched to standards.
    AEHealthInsuranceDataSharingInsuredParty:
      type: object
      required:
        - RelationshipToPolicyholder
        - FirstName
        - LastName
        - Gender
        - DateOfBirth
        - Nationality
      properties:
        RelationshipToPolicyholder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
          description: The relationship to the policyholder.
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Insured person address details.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Employment:
          type: object
          properties:
            Profession:
              type: string
              minLength: 1
              maxLength: 70
              description: The individuals profession.
            EmployerName:
              type: string
              minLength: 1
              maxLength: 70
              description: Employer name.
            SalaryBand:
              allOf:
                - $ref: '#/components/schemas/AEHealthInsuranceSalaryBandCode'
              description: Monthly salary band of the individual's income
            EmploymentLocation:
              type: string
              description: Location of the individual's employer
          minProperties: 1
          description: Insured person employment details. Omitted if no details are held.
          additionalProperties: false
        PolicyCoverAndBenefits:
          type: array
          items:
            type: object
            properties:
              CoverType:
                type: string
                description: Type of cover as defined in company systems.
              Description:
                type: string
                description: Description of the cover / benefit.
              Required:
                type: boolean
                description: >-
                  To confirm whether the cover or benefit is required as part of the base insurance policy or is
                  optional.
              CoverLimit:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the benefit coverage limit that could be paid if a claim was made.
              CoverInclusionsAndExclusions:
                type: array
                items:
                  type: object
                  properties:
                    InclusionAndExclusionDescription:
                      type: string
                      description: Description of the inclusion or exclusion.
                  required:
                    - InclusionAndExclusionDescription
                  additionalProperties: false
                minItems: 1
                description: included inclusions and exclusions for cover type.
              CoverExcess:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the amount that would be deductible from any claim.
              CareNetwork:
                type: string
                description: Care network for the insured party.
            required:
              - CoverType
              - Description
              - Required
            additionalProperties: false
          minItems: 1
          description: Cover and benefits provided by the policy for insured parties.
      additionalProperties: false
    AEHealthInsuranceMedicalHistoryProperties:
      type: object
      required:
        - InsuredName
        - Height
        - Weight
      properties:
        InsuredName:
          type: string
          minLength: 1
          maxLength: 140
          description: The person who the medical responses relate to
        Height:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceHeightType'
          description: The policyholder or applicant height in centimeters at the time of application.
        Weight:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceWeightType'
          description: The policyholder or applicant weight in kilograms at the time of application.
        HigherRiskFactors:
          type: object
          properties:
            Alcohol:
              type: boolean
              description: >-
                Should the insurer follow up with you about exceeding the medical recommendations on consumption of
                alcohol?
            Tobacco:
              type: boolean
              description: Should the insurer follow up with you about smoking tobacco cigarettes, cigar, pipe, shisha, or chewing?
            Pregnancy:
              type: boolean
              description: >-
                Should the insurer follow up with you about pregnancy including complications, previous or upcoming
                caesarean births, attempts to get pregnant or any fertility treatments?
            Cardiovascular:
              type: boolean
              description: >-
                Should the insurer follow up with you about Rheumatic fever, high blood pressure, murmur, stroke, chest
                pain, heart attack, or any disorder of heart, blood, or blood vessels?
            Cancer:
              type: boolean
              description: Should the insurer follow up with you about cancer, tumor, or cyst?
            Endocrine:
              type: boolean
              description: >-
                Should the insurer follow up with you about diabetes, high blood sugar, thyroid disorder, or any
                endocrine disorder?
            Gastrointestinal:
              type: boolean
              description: >-
                Should the insurer follow up with you about hepatitis or any other liver, pancreas, gallbladder,
                stomach, or intestinal disorder?
            Kidney:
              type: boolean
              description: Should the insurer follow up with you about kidney, urinary, or reproductive disorders?
            Blood:
              type: boolean
              description: Should the insurer follow up with you about blood disorders or diseases?
            NervousSystem:
              type: boolean
              description: Should the insurer follow up with you about epilepsy, paralysis, or any other nervous disorders?
            Lung:
              type: boolean
              description: Should the insurer follow up with you about asthma, tuberculosis, respiratory or lung diseases?
            Mental:
              type: boolean
              description: >-
                Should the insurer follow up with you about mental or psychiatric illness including anxiety or
                depression?
            Musculoskeletal:
              type: boolean
              description: >-
                Should the insurer follow up with you about any disease or disorder of the muscles, spine, joints, and
                limbs including loss of feeling or tremor?
            Senses:
              type: boolean
              description: Should the insurer follow up with you about any disorder of sight, speech, or hearing?
            Hereditary:
              type: boolean
              description: Should the insurer follow up with you about any hereditary or congenital condition?
            Chronic:
              type: boolean
              description: >-
                Should the insurer follow up with you about any chronic condition, infirmity, or injury not mentioned
                above?
            AutoImmune:
              type: boolean
              description: >-
                Should the insurer follow up with you about any auto-immune disease or unexplained fatigue, weight loss,
                diarrhoea or unusual skin lesions?
            Medical:
              type: boolean
              description: >-
                Should the insurer follow up with you about any medical or surgical treatment, or investigative medical
                tests or hospitalizations or any diagnostic tests, hospitalization, surgery which was not completed?
            Hospitalization:
              type: boolean
              description: >-
                Should the insurer follow up with you about any hospitalizations or similar medical facilities in the
                last 5 years?
            Medications:
              type: boolean
              description: >-
                Should the insurer follow up with you about prescribed medications or treatments for more than seven
                days in the last 2 years?
            Future:
              type: boolean
              description: >-
                Should the insurer follow up with you about a future appointment with a medical practitioner or health
                care professional, a requirement for prescribed medication, or a need to be admitted to a hospital or
                medical facility?
          minProperties: 1
          description: Potential higher risk factors that the insurer should follow up with the customer directly.
          additionalProperties: false
      additionalProperties: false
    AEHealthInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          type: object
          properties:
            Salutation:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
              description: The salutation of the individual or customer.
            FirstName:
              type: string
              minLength: 1
              maxLength: 70
              description: First Name of the individual.
            MiddleName:
              type: string
              minLength: 1
              maxLength: 70
              description: Middle Name of the individual.
            LastName:
              type: string
              minLength: 1
              maxLength: 70
              description: Last Name (Surname) of the individual.
            Gender:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceGender'
              description: The gender of the customer
            DateOfBirth:
              type: string
              format: date
              description: Date of birth of the individual.
            MaritalStatus:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
              description: The marital status of the individual.
            ResidentialLocation:
              type: string
              description: Residential Location of the individual.
            LandlineNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              pattern: ^\+?[1-9]\d{1,14}$
              description: The landline telephone number of the individual.
            Nationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
            PrimaryLanguage:
              allOf:
                - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
              description: Primary language spoken by the insurance policy customer
            MobileNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              description: The mobile telephone number of the individual.
            EmailAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
              description: Email address of the individual.
            Address:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceAddress'
              minItems: 1
              description: Customer's address details
            Employment:
              type: object
              properties:
                Profession:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The individuals profession.
                ProfessionDescription:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: A description of the individual's Profession
                JobTitle:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Individual's job title
                Designation:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: An individual's professional qualifications, special licenses and certifications
                NatureOfEmployerBusiness:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: Nature of employer business
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
                EmployerAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceAddressProperties'
                  description: The address details of the individual's employer
                EmploymentStatus:
                  $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
                StartDate:
                  type: string
                  format: date
                  description: Individual's employment start date
                SourceOfIncome:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Source of the individual's income as a free form description
                MonthlyIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Monthly income amount and currency
                AnnualIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Annual income amount and currency
                AdditionalCompensation:
                  type: array
                  items:
                    type: object
                    properties:
                      Description:
                        type: string
                        description: Free form description of the additional compensation
                      CompensationAmount:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: The amount of the additional compensation
                    required:
                      - Description
                      - CompensationAmount
                    additionalProperties: false
                  minItems: 1
                  description: Provided when the individual has additional income.
                SalaryBand:
                  type: string
                  enum:
                    - NoSalary
                    - BelowAED000PM
                    - AED4000ToAED12000PM
                    - AED12001AndAbove
              required:
                - MonthlyIncomeAmount
              minProperties: 1
              description: >-
                Employment information for the policyholder. Requires `ReadCustomerDetail` permission to be granted by
                the User.
              additionalProperties: false
          required:
            - FirstName
            - LastName
            - Gender
            - DateOfBirth
            - Nationality
            - MobileNumber
            - EmailAddress
            - Address
          description: >-
            Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User, except
            for `Employment` which requires `ReadCustomerDetail`.
          additionalProperties: false
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceProductData'
          description: >-
            Details of the insurance policy product. Requires the `ReadInsuranceProduct` permission to be granted by the
            User.
        Claims:
          type: object
          properties:
            Summary:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceDataSharingClaimsSummaryProperties'
              minItems: 1
              description: >-
                Summary of previous claims. `NumberOfPreviousMonths` value must appear only once.


                If no claims have been made then an array element with `NumberOfPreviousMonths` set to zero must be
                provided, and all claim amounts must be set to zero, to provide a positive assertion that no claims have
                been made. Currency must be set to AED for this case.
            ClaimsHistory:
              type: array
              items:
                type: object
                properties:
                  ClaimUniqueID:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: Unique reference that identifies the claim
                  ClaimDate:
                    type: string
                    format: date
                    description: The original date the claim was submitted.
                  TotalGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: >-
                      As per CBUAE scheme, total gross claim amount including Direct + Third party + Coinsurance /
                      deductible + Loss Adjusters + VAT.
                  ClaimPayments:
                    type: array
                    items:
                      type: object
                      properties:
                        Currency:
                          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                        Amount:
                          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        PaymentDate:
                          type: string
                          format: date
                          description: The date on which the claim payment was made.
                      required:
                        - Currency
                        - Amount
                        - PaymentDate
                      additionalProperties: false
                    minItems: 1
                    description: The amounts paid with amount, currency, and date.
                  DeductibleGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Deductible and co-insurance amount paid by customer.
                  PolicyClaimedBenefits:
                    type: array
                    items:
                      type: object
                      properties:
                        ClaimedBenefitType:
                          type: string
                        ClaimedBenefitDescription:
                          type: string
                      required:
                        - ClaimedBenefitType
                        - ClaimedBenefitDescription
                      additionalProperties: false
                    description: All the claimed policy benefits.
                  ClaimApprovalDate:
                    type: string
                    format: date
                    description: The most recent approval date for any portion of the claim.
                  ClaimLastUpdateDate:
                    type: string
                    format: date
                    description: Last update date of the claim.
                  DirectGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of the claim paid directly.
                  ThirdPartyGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of claim to be paid via third party insurance company.
                  ThirdPartyRecoveryCompany:
                    type: string
                    description: Name of recovery third party insurance company.
                  ThirdPartyRecoveryStatus:
                    type: string
                    enum:
                      - Approved
                      - Reopened
                      - RecoveryOpened
                      - Paid
                      - RecoveryReopenedAndClaimClosed
                      - Rejected
                      - InProgress
                    description: Status of recovery.
                  LossAdjusterGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Loss Adjusters fees on above claims.
                  OutstandingPayAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Claim payment amount outstanding.
                  Status:
                    allOf:
                      - $ref: '#/components/schemas/AEHealthInsuranceDataSharingClaimsHistoryStatusCodes'
                    description: The status of the claim
                  FirstEncounterDate:
                    type: string
                    format: date
                    description: First date of the encounter.
                  FirstServiceDate:
                    type: string
                    format: date
                    description: First date of service.
                  LastServiceDate:
                    type: string
                    format: date
                    description: Last date of service.
                required:
                  - ClaimUniqueID
                  - ClaimDate
                  - TotalGrossClaimAmount
                  - PolicyClaimedBenefits
                  - ClaimLastUpdateDate
                  - Status
                  - FirstEncounterDate
                  - FirstServiceDate
                  - LastServiceDate
                additionalProperties: false
              minItems: 1
              description: Claims history. Only required if claims have been made against the policy.
          required:
            - Summary
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
          additionalProperties: false
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AEHealthInsurancePremium:
      type: object
      required:
        - PremiumAmountExcludingVAT
        - VATAmount
        - TotalPremiumAmount
        - PaymentFrequency
      properties:
        Status:
          type: string
          enum:
            - Initial
            - StartingFrom
            - Final
          description: Confirmation whether the premium quoted is an initial premium, starting from, or final.
        TotalDiscountAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total discount amount applied to the final premium amount
        DiscountApplied:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountApplied'
          minItems: 1
          description: Details of the discounts applied
        PremiumAmountExcludingVAT:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The Premium Amount excluding any VAT amount
        VATAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The Premium VAT amount.
        VATPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVATPercentage'
          description: The VAT percentage rate charged to the premium.
        TotalPremiumAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total Premium amount including VAT
        PaymentFrequency:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePaymentFrequency'
          description: The payment frequency the calculated Premium has been based on.
        InstallmentOptions:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePaymentFrequency'
          minItems: 1
          description: The possible Premium instalment frequency options available to the customer
        PremiumAdditionalFees:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsurancePremiumAdditionalFees'
          minProperties: 1
          description: Objects confirming additional fees and charges that have been included in the premium quote.
      additionalProperties: false
    AEHealthInsurancePremiumAdditionalFees:
      type: object
      properties:
        BasmahProgramFee:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceBasmahProgramFee'
          description: >-
            Object confirming the Basmah Program Fee that is applicable to the insurance policy and included in the
            premium quote
        HCVProgramFee:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceHCVProgramFee'
          description: >-
            Object confirming the Hepatitis C Virus (HCV) Patient Support Program Fee that is applicable to the
            insurance policy and included in the premium quote
        ICPProgramFee:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceICPProgramFee'
          description: >-
            Object confirming the Integrated Care Plans (ICPs) charges that is applicable to the insurance policy and
            included in the premium quote
      additionalProperties: false
    AEHealthInsuranceProductData:
      type: object
      required:
        - Policy
      properties:
        Policy:
          type: object
          properties:
            CoverSubjects:
              type: string
              enum:
                - Self
                - SelfAndSpouse
                - Spouse
                - SelfAndFamily
                - Dependents
                - Other
              description: Confirmation whether the insurance cover is for the customer (self) or their dependents
            PolicyStartDate:
              type: string
              format: date
              description: Policy start date
            IsPolicyholderInsured:
              type: boolean
              description: >-
                When true confirmation that the Policyholder (customer) is also the Insured Person or when false
                confirmation that the Policyholder and the Insured Person(s) are different
            TypeOfPolicy:
              type: string
              enum:
                - HealthInsuranceIndividual
                - PersonalAccidentInsurance
              description: The type of health insurance plan selected
            PolicyTerm:
              type: string
              pattern: ^P(\d+Y)?(\d+M)?$
              format: duration
              description: The insurance policy term in years and months, using ISO 8601 compatible duration format
              example: P2Y3M
            CareNetwork:
              type: string
              minLength: 1
              maxLength: 140
              description: The network of healthcare providers, hospitals, and clinics covered under the policy
            RegionsCoverage:
              type: string
              minLength: 1
              maxLength: 140
              description: >-
                The geographical regions where the policyholder is covered for medical treatment (e.g., local, GCC,
                worldwide excluding the U.S., worldwide).
            Takaful:
              type: boolean
              description: Indicates whether the policy is Sharia compliant.
            ProductName:
              type: string
              description: Business name of the policy product as provided externally to the customer.
            PolicyEndDate:
              type: string
              format: date
              description: The date when the coverage will or has ended.
            PolicyExcess:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: When applicable, the amount that would be deductible from any claim.
            PolicyCoverAndBenefits:
              type: array
              items:
                type: object
                properties:
                  CoverType:
                    type: string
                    description: Type of cover as defined in company systems.
                  Description:
                    type: string
                    description: Description of the cover / benefit.
                  Required:
                    type: boolean
                    description: >-
                      To confirm whether the cover or benefit is required as part of the base insurance policy or is
                      optional.
                  CoverLimit:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                  CoverInclusionsAndExclusions:
                    type: array
                    items:
                      type: object
                      properties:
                        InclusionAndExclusionDescription:
                          type: string
                          description: Description of the inclusion or exclusion.
                      required:
                        - InclusionAndExclusionDescription
                      additionalProperties: false
                    minItems: 1
                    description: included inclusions and exclusions for cover type.
                  CoverExcess:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the amount that would be deductible from any claim.
                  CoverID:
                    type: string
                    description: Insurers internal unique ID for specific cover.
                required:
                  - CoverType
                  - Description
                  - Required
                additionalProperties: false
              minItems: 1
              description: Cover and benefits provided by the policy.
            PolicyPurchaseChannelType:
              type: string
              enum:
                - Direct
                - Agent
                - Broker
                - Bank
                - InvFinInst
                - TPA
                - OnlineInsideUAE
                - OnlineOutsideUAE
                - Aggregation
                - Outside
                - Other
              description: Sales channel of policy.
          required:
            - CoverSubjects
            - PolicyStartDate
            - IsPolicyholderInsured
            - PolicyTerm
            - Takaful
            - ProductName
            - PolicyPurchaseChannelType
          description: Details of the what the insurance policy covers.
          additionalProperties: false
        InsuredParties:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceDataSharingInsuredParty'
          minItems: 1
          description: |-
            The persons insured under the policy, if different to the policyholder. 
            If the policyholder is the only insured person this property can be omitted.
        Sponsor:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceSponsorProperties'
          minItems: 1
          description: >-
            Details of sponsor(s), where required by the policyholder or one-or-more insured persons. Omitted if not
            required or not available.
      additionalProperties: false
    AEHealthInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - CustomerSalary
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          type: object
          properties:
            Status:
              type: string
              enum:
                - Initial
                - StartingFrom
                - Final
              description: Confirmation whether the premium quoted is an initial premium, starting from, or final.
            TotalDiscountAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The total discount amount applied to the final premium amount
            DiscountApplied:
              type: array
              items:
                $ref: '#/components/schemas/AEInsurancePremiumDiscountApplied'
              minItems: 1
              description: Details of the discounts applied
            PremiumAmountExcludingVAT:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The Premium Amount excluding any VAT amount
            VATAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The Premium VAT amount.
            VATPercentage:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceVATPercentage'
              description: The VAT percentage rate charged to the premium.
            TotalPremiumAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The total Premium amount including VAT
            PaymentFrequency:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePaymentFrequency'
              description: The payment frequency the calculated Premium has been based on.
            InstallmentOptions:
              type: array
              items:
                $ref: '#/components/schemas/AEInsurancePaymentFrequency'
              minItems: 1
              description: The possible Premium instalment frequency options available to the customer
            PremiumAdditionalFees:
              allOf:
                - $ref: '#/components/schemas/AEHealthInsurancePremiumAdditionalFees'
              minProperties: 1
              description: Objects confirming additional fees and charges that have been included in the premium quote.
          required:
            - PremiumAmountExcludingVAT
            - VATAmount
            - TotalPremiumAmount
            - PaymentFrequency
          description: Details of the quoted premium, as provided in the quote response.
          additionalProperties: false
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                CoverSubjects:
                  type: string
                  enum:
                    - Self
                    - SelfAndSpouse
                    - Spouse
                    - SelfAndFamily
                    - Dependents
                    - Other
                  description: Confirmation whether the insurance cover is for the customer (self) or their dependents
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                IsPolicyholderInsured:
                  type: boolean
                  description: >-
                    When true confirmation that the Policyholder (customer) is also the Insured Person or when false
                    confirmation that the Policyholder and the Insured Person(s) are different
                AddOns:
                  type: object
                  properties:
                    DentalCover:
                      type: boolean
                      description: Dental cover included.
                    OpticalCover:
                      type: boolean
                      description: Optical cover included.
                    MaternityCover:
                      type: boolean
                      description: Maternity cover included.
                    Other:
                      type: string
                      description: Other types of cover included.
                  description: Additional policy cover items
                  additionalProperties: false
              description: Details of the what the insurance policy covers.
              additionalProperties: false
            PolicyHolder:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  description: Address details
                Employment:
                  type: object
                  properties:
                    Profession:
                      type: string
                      minLength: 1
                      maxLength: 70
                      description: The individuals profession.
                    EmployerName:
                      type: string
                      minLength: 1
                      maxLength: 70
                      description: Employer name.
                    SalaryBand:
                      allOf:
                        - $ref: '#/components/schemas/AEHealthInsuranceSalaryBandCode'
                      description: Monthly salary band of the individual's income
                    EmploymentLocation:
                      type: string
                      description: Location of the individual's employer
                  description: The template for adding optional properties.
                  minProperties: 1
                  additionalProperties: false
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  minProperties: 1
                  description: Revised identity details, verified by the TPP.
              description: The policyholder for the proposed insurance policy.
              additionalProperties: false
            InsuredParties:
              type: array
              items:
                type: object
                properties:
                  RelationshipToPolicyholder:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
                    description: The relationship to the policyholder.
                  Salutation:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                    description: The salutation of the individual or customer.
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  MiddleName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Middle Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  MaritalStatus:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                    description: The marital status of the individual.
                  ResidentialLocation:
                    type: string
                    description: Residential Location of the individual.
                  LandlineNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    pattern: ^\+?[1-9]\d{1,14}$
                    description: The landline telephone number of the individual.
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  PrimaryLanguage:
                    allOf:
                      - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                    description: Primary language spoken by the insurance policy customer
                  MobileNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    description: The mobile telephone number of the individual.
                  EmailAddress:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                    description: Email address of the individual.
                  Address:
                    type: array
                    items:
                      type: object
                      properties:
                        AddressType:
                          type: string
                          enum:
                            - Billing
                            - Business
                            - Correspondence
                            - DeliveryTo
                            - MailTo
                            - POBox
                            - Postal
                            - Permanent
                            - Residential
                            - Statement
                            - Other
                          description: The type of address.
                        AddressLine:
                          type: array
                          items:
                            $ref: '#/components/schemas/AEInsuranceAddressLine'
                          minItems: 1
                          maxItems: 7
                          description: >-
                            Information that locates and identifies a specific address for a transaction entry, that is
                            presented in free format text.


                            This value should be used where the address is provided or stored as a single string.
                        BuildingNumber:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The unit, apartment, or villa number within a building or community
                        BuildingName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of the building or house.
                        Floor:
                          type: string
                          minLength: 1
                          maxLength: 70
                          description: Floor or storey within a building.
                        StreetName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The name of the street or road where the property is located
                        DistrictName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The district, community, or neighbourhood where the property is located
                        PostBox:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The P.O. Box number assigned to the recipient for mail delivery
                        TownName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of a built-up area, such as a town or city
                        CountrySubDivision:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceEmirate'
                          description: >-
                            Country subdivision, such as state or province. This is the Emirate where the address is
                            registered.
                        Country:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceCountryCode'
                          description: >-
                            The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                            code.
                      description: The template for adding optional properties.
                      additionalProperties: false
                    minItems: 1
                    description: Address details
                  Employment:
                    allOf:
                      - $ref: '#/components/schemas/AEHealthInsuranceQuoteEmployment'
                    minProperties: 1
                  Identity:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                    description: Identification details of the insured party.
                description: The template for adding optional properties.
                additionalProperties: false
              description: >-
                Required when IsPolicyholderInsured is false (No). This object must be provided for each insured person
                who is not the policyholder.
            Sponsor:
              type: array
              items:
                type: object
                properties:
                  PersonSponsored:
                    type: string
                    description: Confirmation which person the Sponsor details relate to
                  SponsorEntityID:
                    type: string
                    description: The official ID of the sponsoring entity.
                  SponsorEntityIDType:
                    type: string
                    enum:
                      - FileNumber
                      - UID
                      - EstablishmentCode
                    description: Confirmation what the Sponsor Entity ID relates to
                  SponsorType:
                    type: string
                    enum:
                      - Resident
                      - Citizen
                      - Establishment
                      - PropertyOwner
                    description: The type of visa sponsorship being provided
                description: The template for adding optional properties.
                additionalProperties: false
              minItems: 1
              description: Required when the policy holder or one-or-more insured persons require a sponsor.
            ExistingInsurance:
              type: array
              items:
                type: object
                properties:
                  InsurerName:
                    type: string
                    description: The Health Insurance Company Name when an existing Health cover is held
                  ExistingPolicyNumber:
                    type: string
                    description: The Health Insurance Policy Number when an existing Health cover is held
                  PolicyStartDate:
                    type: string
                    format: date
                    description: Policy start date
                  PolicyEndDate:
                    type: string
                    format: date
                    description: Policy end date
                additionalProperties: false
              minItems: 1
              minProperties: 1
              description: One-or-more existing insurance policies, omitted if none are held.
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AEHealthInsuranceQuoteEmployment:
      type: object
      properties:
        Profession:
          type: string
          minLength: 1
          maxLength: 70
          description: The individuals profession.
        EmployerName:
          type: string
          minLength: 1
          maxLength: 70
          description: Employer name.
        SalaryBand:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceSalaryBandCode'
          description: Monthly salary band of the individual's income
        EmploymentLocation:
          type: string
          description: Location of the individual's employer
      additionalProperties: false
    AEHealthInsuranceQuoteInsuredParty:
      type: object
      required:
        - RelationshipToPolicyholder
        - Gender
        - DateOfBirth
      properties:
        RelationshipToPolicyholder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
          description: The relationship to the policyholder.
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        Employment:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceQuoteEmployment'
          minProperties: 1
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the insured party.
      additionalProperties: false
    AEHealthInsuranceQuotePolicyholder:
      type: object
      required:
        - Gender
        - DateOfBirth
        - MaritalStatus
        - Nationality
        - Address
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        Employment:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceQuoteEmployment'
          minProperties: 1
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
      additionalProperties: false
    AEHealthInsuranceQuoteProperties:
      type: object
      required:
        - QuoteId
        - QuoteReference
        - CreationDateTime
        - ServiceRating
        - PolicyIssuanceAllowed
      properties:
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        CreationDateTime:
          type: string
          format: date-time
          description: The date and time at which the quote was created.
        ExpirationDateTime:
          type: string
          format: date-time
          description: >-
            The expiration date of the quote, after which it is no longer valid.  If no date is provided the quote will
            be valid for up to 30 days as per the Standards.
        PlanName:
          type: string
          minLength: 1
          maxLength: 140
          description: The specific name of the insurance plan.
        LevelOfCover:
          type: string
          minLength: 1
          maxLength: 140
          description: The level of insurance Cover offered in the quote
        Commission:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCommission'
          description: >-
            An object containing details of the commission amount that would be payable to the TPP if the User proceeded
            with the insurance application and purchased the policy based on the provided information
        PolicyCover:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuotePolicyCover'
          minItems: 1
          description: >-
            An array containing options for policy cover, which contain information about the cover and benefits
            included in the quoted policies.
        PolicyDocumentsUris:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuoteUri'
          minItems: 1
          description: >-
            A list of URLs linking to policy-related documents, such as terms and conditions, policy wording, or product
            disclosures
        AvailableAddOns:
          type: array
          items:
            type: object
            properties:
              CoverName:
                type: string
                minLength: 1
                maxLength: 70
                description: Name of the insurance cover add-on
              Description:
                type: string
                minLength: 1
                maxLength: 140
                description: Description of the insurance cover add-on
              Amount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Premium value of the insurance cover add-on
              CoverLimit:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the benefit coverage limit that could be paid if a claim was made.
              CoverInclusionAndExclusionDescriptions:
                type: array
                items:
                  type: string
                minItems: 1
                description: Included inclusions and exclusions for cover type.
              PolicyExcess:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the amount that would be deductible from any claim.
            required:
              - CoverName
              - Description
            additionalProperties: false
          minItems: 1
          description: An object containing details of optional add-ons available for the quoted policy
        RequiredDocuments:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceDocumentRequirement'
          minItems: 1
          description: >-
            A list of documents required that must be provided by the User to the LFI to proceed with the policy
            purchase
        DiscountOffers:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountOffers'
          minItems: 1
          description: An object containing details of any discounts or offers applied to the quote
        ServiceRating:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceServiceRating'
          description: An object containing ratings or reviews of the insurer's service quality
        SpecialConditionsApplicable:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceSpecialConditions'
          description: >-
            Provides special conditions or clauses applicable to the policy specified by the LFI, which must be
            displayed to the User if provided.
        PolicyIssuanceAllowed:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker allowed to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker allowed to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker allowed to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        AlternativeBrandName:
          type: string
          description: Provides and alternative brand name where the product is Sharia compliant
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsurancePremium'
          minProperties: 1
          description: An object containing details of the quoted insurance premium
      additionalProperties: false
    AEHealthInsuranceQuoteReadApplicationApprovedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - ApplicationApproved
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadApplicationPendingResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - ApplicationPending
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadAvailableResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Available
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadCompletedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Completed
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadCustomerCancelledResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - CustomerCancelled
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadExpiredResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Expired
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadKYCCapturedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - KYCCaptured
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadLFICancelledResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - LFICancelled
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadPaymentRequiredResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - PaymentRequired
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadPendingResponseProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
      properties:
        QuoteStatus:
          type: string
          enum:
            - Pending
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        PremiumTargetDateTime:
          type: string
          format: date-time
          description: >-
            The target date and time at which the insurer will generate a quote premium. Maximum allowed time is 24
            hours from quote resource creation.
      additionalProperties: false
    AEHealthInsuranceQuoteReadPolicyIssuedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - PolicyIssued
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadRejectedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Rejected
      allOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteProperties'
    AEHealthInsuranceQuoteReadResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEHealthInsuranceQuoteReadResponseProperties'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEHealthInsuranceQuoteReadResponseProperties:
      type: object
      oneOf:
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadPendingResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadAvailableResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadApplicationApprovedResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadApplicationPendingResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadCompletedResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadCustomerCancelledResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadExpiredResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadKYCCapturedResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadLFICancelledResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadPaymentRequiredResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadPolicyIssuedResponseProperties'
        - $ref: '#/components/schemas/AEHealthInsuranceQuoteReadRejectedResponseProperties'
      discriminator:
        propertyName: QuoteStatus
        mapping:
          Pending: '#/components/schemas/AEHealthInsuranceQuoteReadPendingResponseProperties'
          Available: '#/components/schemas/AEHealthInsuranceQuoteReadAvailableResponseProperties'
          ApplicationApproved: '#/components/schemas/AEHealthInsuranceQuoteReadApplicationApprovedResponseProperties'
          ApplicationPending: '#/components/schemas/AEHealthInsuranceQuoteReadApplicationPendingResponseProperties'
          Completed: '#/components/schemas/AEHealthInsuranceQuoteReadCompletedResponseProperties'
          CustomerCancelled: '#/components/schemas/AEHealthInsuranceQuoteReadCustomerCancelledResponseProperties'
          Expired: '#/components/schemas/AEHealthInsuranceQuoteReadExpiredResponseProperties'
          KYCCaptured: '#/components/schemas/AEHealthInsuranceQuoteReadKYCCapturedResponseProperties'
          LFICancelled: '#/components/schemas/AEHealthInsuranceQuoteReadLFICancelledResponseProperties'
          PaymentRequired: '#/components/schemas/AEHealthInsuranceQuoteReadPaymentRequiredResponseProperties'
          PolicyIssued: '#/components/schemas/AEHealthInsuranceQuoteReadPolicyIssuedResponseProperties'
          Rejected: '#/components/schemas/AEHealthInsuranceQuoteReadRejectedResponseProperties'
      additionalProperties: false
    AEHealthInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - PolicyHolder
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          type: object
          properties:
            Takaful:
              type: boolean
              description: Indicates whether the policy is Sharia compliant.
            CoverSubjects:
              type: string
              enum:
                - Self
                - SelfAndSpouse
                - Spouse
                - SelfAndFamily
                - Dependents
                - Other
              description: Confirmation whether the insurance cover is for the customer (self) or their dependents
            PolicyStartDate:
              type: string
              format: date
              description: Policy start date
            PolicyEndDate:
              type: string
              format: date
              description: Policy end date
            IsPolicyholderInsured:
              type: boolean
              description: >-
                When true confirmation that the Policyholder (customer) is also the Insured Person or when false
                confirmation that the Policyholder and the Insured Person(s) are different
            AddOns:
              type: object
              properties:
                DentalCover:
                  type: boolean
                  description: Dental cover included.
                OpticalCover:
                  type: boolean
                  description: Optical cover included.
                MaternityCover:
                  type: boolean
                  description: Maternity cover included.
                Other:
                  type: string
                  description: Other types of cover included.
              description: Additional policy cover items
              minProperties: 1
              additionalProperties: false
          required:
            - Takaful
            - CoverSubjects
            - IsPolicyholderInsured
          description: Details of the what the insurance policy covers.
          additionalProperties: false
        PolicyHolder:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceQuotePolicyholder'
          description: The policyholder for the proposed insurance policy.
        InsuredParties:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceQuoteInsuredParty'
          description: >-
            Required when IsPolicyholderInsured is false (No). This object must be provided for each insured person who
            is not the policyholder.
        Sponsor:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceSponsorProperties'
          minItems: 1
          description: Required when the policy holder or one-or-more insured persons require a sponsor.
        ExistingInsurance:
          type: array
          items:
            type: object
            properties:
              InsurerName:
                type: string
                description: The Health Insurance Company Name when an existing Health cover is held
              ExistingPolicyNumber:
                type: string
                description: The Health Insurance Policy Number when an existing Health cover is held
              PolicyStartDate:
                type: string
                format: date
                description: Policy start date
              PolicyEndDate:
                type: string
                format: date
                description: Policy end date
            required:
              - InsurerName
            additionalProperties: false
          minItems: 1
          description: One-or-more existing insurance policies, omitted if none are held.
        MedicalQuestions:
          type: array
          items:
            $ref: '#/components/schemas/AEHealthInsuranceMedicalHistoryProperties'
          minItems: 1
          description: Pre-existing medical conditions questions to aid risk assessment
      additionalProperties: false
    AEHealthInsuranceQuoteResponseAvailableProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
        - CreationDateTime
        - ServiceRating
        - PolicyIssuanceAllowed
      properties:
        QuoteStatus:
          type: string
          enum:
            - Available
          description: The current status of the quote
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        CreationDateTime:
          type: string
          format: date-time
          description: The date and time at which the quote was created.
        ExpirationDateTime:
          type: string
          format: date-time
          description: >-
            The expiration date of the quote, after which it is no longer valid.  If no date is provided the quote will
            be valid for up to 30 days as per the Standards.
        PlanName:
          type: string
          minLength: 1
          maxLength: 140
          description: The specific name of the insurance plan.
        LevelOfCover:
          type: string
          minLength: 1
          maxLength: 140
          description: The level of insurance Cover offered in the quote
        Commission:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCommission'
          description: >-
            An object containing details of the commission amount that would be payable to the TPP if the User proceeded
            with the insurance application and purchased the policy based on the provided information
        PolicyCover:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuotePolicyCover'
          minItems: 1
          description: >-
            An array containing options for policy cover, which contain information about the cover and benefits
            included in the quoted policies.
        PolicyDocumentsUris:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuoteUri'
          minItems: 1
          description: >-
            A list of URLs linking to policy-related documents, such as terms and conditions, policy wording, or product
            disclosures
        AvailableAddOns:
          type: array
          items:
            type: object
            properties:
              CoverName:
                type: string
                minLength: 1
                maxLength: 70
                description: Name of the insurance cover add-on
              Description:
                type: string
                minLength: 1
                maxLength: 140
                description: Description of the insurance cover add-on
              Amount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Premium value of the insurance cover add-on
              CoverLimit:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the benefit coverage limit that could be paid if a claim was made.
              CoverInclusionAndExclusionDescriptions:
                type: array
                items:
                  type: string
                minItems: 1
                description: Included inclusions and exclusions for cover type.
              PolicyExcess:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the amount that would be deductible from any claim.
            required:
              - CoverName
              - Description
            additionalProperties: false
          minItems: 1
          description: An object containing details of optional add-ons available for the quoted policy
        RequiredDocuments:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceDocumentRequirement'
          minItems: 1
          description: >-
            A list of documents required that must be provided by the User to the LFI to proceed with the policy
            purchase
        DiscountOffers:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountOffers'
          minItems: 1
          description: An object containing details of any discounts or offers applied to the quote
        ServiceRating:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceServiceRating'
          description: An object containing ratings or reviews of the insurer's service quality
        SpecialConditionsApplicable:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceSpecialConditions'
          description: >-
            Provides special conditions or clauses applicable to the policy specified by the LFI, which must be
            displayed to the User if provided.
        PolicyIssuanceAllowed:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker allowed to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker allowed to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker allowed to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        AlternativeBrandName:
          type: string
          description: Provides and alternative brand name where the product is Sharia compliant
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsurancePremium'
          minProperties: 1
          description: An object containing details of the quoted insurance premium
      additionalProperties: false
    AEHealthInsuranceQuoteResponsePendingProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
      properties:
        QuoteStatus:
          type: string
          enum:
            - Pending
          description: The current status of the quote
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        PremiumTargetDateTime:
          type: string
          format: date-time
          description: >-
            The target date and time at which the insurer will generate a quote premium. Maximum allowed time is 24
            hours from quote resource creation.
      additionalProperties: false
    AEHealthInsuranceQuoteTypeOfSmokingCodes:
      type: string
      enum:
        - Tobacco
        - Cigarettes
        - Pipe
        - Shisha
        - ECigarettes
        - Vape
        - ChewingTobacco
    AEHealthInsuranceSalaryBandCode:
      type: string
      enum:
        - NoSalary
        - BelowAED4000PerMonth
        - AED4000ToAED12000PerMonth
        - AED12001AndAbove
    AEHealthInsuranceSponsorProperties:
      type: object
      required:
        - PersonSponsored
        - SponsorEntityID
        - SponsorType
      properties:
        PersonSponsored:
          type: string
          description: Confirmation which person the Sponsor details relate to
        SponsorEntityID:
          type: string
          description: The official ID of the sponsoring entity.
        SponsorEntityIDType:
          type: string
          enum:
            - FileNumber
            - UID
            - EstablishmentCode
          description: Confirmation what the Sponsor Entity ID relates to
        SponsorType:
          type: string
          enum:
            - Resident
            - Citizen
            - Establishment
            - PropertyOwner
          description: The type of visa sponsorship being provided
      additionalProperties: false
    AEHomeInsuranceBuildingsCoverProperties:
      type: object
      properties:
        BuildingValue:
          type: number
          description: The total estimated value of the insured building structure, excluding land value
      additionalProperties: false
    AEHomeInsuranceDomesticHelperIndividualDetailsProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Nationality
        - DateOfBirth
      properties:
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        PassportNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCustomerPassportNumberType'
          description: Passport Number of the individual.
      additionalProperties: false
    AEHomeInsuranceDomesticHelperProperties:
      type: object
      required:
        - NumberOfDomesticHelpers
      properties:
        NumberOfDomesticHelpers:
          type: integer
          description: Required when Domestic Helpers cover is required. Confirms the number of Domestic Helpers to be covered
        IndividualDetails:
          type: array
          items:
            $ref: '#/components/schemas/AEHomeInsuranceDomesticHelperIndividualDetailsProperties'
          description: Domestic Helpers details when included in the insurance cover
      additionalProperties: false
    AEHomeInsuranceMortgageProperties:
      type: object
      properties:
        BankName:
          type: string
          description: >-
            Required when PropertyMortgage is true (Yes) to confirm the name of the financial institution providing the
            mortgage finance
        BranchName:
          type: string
          description: The Bank's Branch name
        BankAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAddressProperties'
          description: The address details of the customer's Bank Branch
        ContactDetails:
          type: string
          description: The contact details of the Bank
        MortgageBalanceAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The amount or outstanding balance of the mortgage
      additionalProperties: false
    AEHomeInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCustomerQuoteProperties'
          description: Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceProductData'
          description: Details of the insurance product. Requires `ReadInsuranceProduct` permission to be granted by the User.
        Claims:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingClaimsWithLossCauseProperties'
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AEHomeInsuranceProductData:
      type: object
      required:
        - Policy
        - PropertyDetails
      properties:
        Policy:
          type: object
          properties:
            PolicyStartDate:
              type: string
              format: date
              description: Policy start date
            PolicyEndDate:
              type: string
              format: date
              description: Policy end date
            Takaful:
              type: boolean
              description: Indicates whether the policy is Sharia compliant.
            ProductName:
              type: string
              description: Business name of the policy product as provided externally to the customer.
            PolicyExcess:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: When applicable, the amount that would be deductible from any claim.
            PolicyCoverAndBenefits:
              type: array
              items:
                type: object
                properties:
                  CoverType:
                    type: string
                    description: Type of cover as defined in company systems.
                  Description:
                    type: string
                    description: Description of the cover / benefit.
                  Required:
                    type: boolean
                    description: >-
                      To confirm whether the cover or benefit is required as part of the base insurance policy or is
                      optional.
                  CoverLimit:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                  CoverInclusionsAndExclusions:
                    type: array
                    items:
                      type: object
                      properties:
                        InclusionAndExclusionDescription:
                          type: string
                          description: Description of the inclusion or exclusion.
                      required:
                        - InclusionAndExclusionDescription
                      additionalProperties: false
                    minItems: 1
                    description: included inclusions and exclusions for cover type.
                  CoverExcess:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the amount that would be deductible from any claim.
                  CoverID:
                    type: string
                    description: Insurers internal unique ID for specific cover.
                required:
                  - CoverType
                  - Description
                  - Required
                additionalProperties: false
              minItems: 1
              description: Cover and benefits provided by the policy.
            PolicyPurchaseChannelType:
              type: string
              enum:
                - Direct
                - Agent
                - Broker
                - Bank
                - InvFinInst
                - TPA
                - OnlineInsideUAE
                - OnlineOutsideUAE
                - Aggregation
                - Outside
                - Other
              description: Sales channel of policy.
          required:
            - PolicyStartDate
            - Takaful
            - ProductName
            - PolicyCoverAndBenefits
            - PolicyPurchaseChannelType
          description: Details of the policy.
          additionalProperties: false
        PropertyDetails:
          type: object
          properties:
            TypeOfProperty:
              type: string
              enum:
                - House
                - Villa
                - Apartment
                - Flat
                - Other
              description: Based on enumeration values.
            OwnershipStatus:
              type: string
              enum:
                - Owner
                - OwnerWithMortgage
                - Landlord
                - Tenant
              description: Based on enumeration values.
            Construction:
              type: string
              enum:
                - ClassA
                - ClassB
                - ClassC
              description: Type of construction
            OverTenYears:
              type: boolean
              description: Confirmation whether the property is over 10 years old
            FloodDamage:
              type: boolean
              description: >-
                Confirmation whether the buildings and/or contents have suffered damage by storm, tempest or flood
                during the past five years
            NumberOfAdults:
              type: integer
              description: The number of adults that will be living in the home
            NumberOfChildren:
              type: integer
              description: The number of children that will be living in the home
            NumberOfFloors:
              type: integer
              description: The total number of floors in the insured property, including all above-ground levels.
            NumberOfRooms:
              type: integer
              description: 'The total number of rooms within the property, excluding bathrooms. '
            InsuredPropertyAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceAddressProperties'
              description: The full address of the property to be insured
            SafetySecurityFeatures:
              type: object
              properties:
                DistanceFromShoreline:
                  type: string
                  description: 'The shortest distance from the insured property to the nearest coastline, measured in meters '
                DistanceAboveSeaLevel:
                  type: string
                  description: The elevation of the insured property above sea level, measured in meters
                InDesignatedFloodZone:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured is in a Designated Flood Zone
                WaterLeakDetectionSystems:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Water Leak Detection Systems
                BurglarAlarm:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has a burglar installed
                SurveillanceCameras:
                  type: boolean
                  description: >-
                    Confirmation whether the property to be insured or is being insured has Surveillance or Security
                    Cameras
                DoorCamera:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has a door camera
                SecurityGuards:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Security Guards employed
                SmokeDetectors:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Smoke Detectors installed
                FireExtinguishers:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Fire Extinguishers
                SprinklerSystem:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Sprinkler System installed
                DeadboltLocks:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Dead bolt Locks installed
                WindowLocks:
                  type: boolean
                  description: Confirmation whether the property to be insured or is being insured has Window Locks installed
              description: Details of property safety and security features.
              additionalProperties: false
            YearOfConstruction:
              type: string
              pattern: ^[0-9]{4}$
              description: Year of construction
            ConstructionType:
              type: string
              enum:
                - Concrete
                - Wood
                - Mixed
                - Other
              description: Construction type, based on enumeration values.
            FoundationType:
              type: string
              enum:
                - Slab
                - CrawlSpace
                - Basement
              description: Foundation type, based on enumeration values.
            ExteriorWalls:
              type: string
              enum:
                - Brick
                - Stone
                - Concrete
                - Stucco
                - Wood
                - Other
              description: Exterior wall construction, based on enumeration values.
            RoofType:
              type: string
              enum:
                - Tile
                - Shingle
                - Metal
                - Other
              description: Type of rooting, based on enumeration values.
            PropertyCondition:
              type: string
              enum:
                - Excellent
                - Good
                - Fair
                - Poor
              description: Property condition, based on enumeration values.
            UsageByApplicant:
              type: string
              enum:
                - PrimaryResidence
                - SecondaryResidence
                - RentalProperty
                - VacantProperty
                - Other
              description: Property usage, based on enumeration values.
            NumberOfCurrentOccupants:
              type: integer
              description: The total number of people currently residing or will be residing in the insured property.
            TotalBuiltUpArea:
              type: integer
              description: Total built-up area in square meters.
            NumberOfBathrooms:
              type: integer
              description: The total number of bathrooms in the property, including full and half-bathrooms
            NumberOfBedrooms:
              type: integer
              description: The total number of bedrooms in the insured property
            PresenceOfAttic:
              type: boolean
              description: Indicates whether the insured property has an attic
            PresenceOfBasement:
              type: boolean
              description: Indicates whether the insured property has a basement
            TypeOfCoolingSystem:
              type: string
              minLength: 1
              maxLength: 70
              description: The primary cooling system installed in the property
            AgeOfCoolingSystem:
              type: string
              description: Age of the cooling system in years.
            TypeOfHeatingSystem:
              type: string
              minLength: 1
              maxLength: 70
              description: The primary heating system used in the property
            AgeOfHeatingSystem:
              type: string
              description: Age of the heating system in years
            AdditionalStructures:
              type: array
              items:
                type: string
              minItems: 1
              description: >-
                Any detached structures on the property, such as garages, sheds, guesthouses, or swimming pools. Omitted
                if none present at property.
            ConsecutiveDaysUnoccupied:
              type: integer
              description: >-
                The maximum number of consecutive days the property is expected to be unoccupied during the policy
                period
          required:
            - TypeOfProperty
          description: Details of the property.
          additionalProperties: false
        PropertyValue:
          type: object
          properties:
            MarketValueAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: Only numeric answers allowed (in AED)
            MostRecentAppraisalDate:
              type: string
              format: date
              description: The date of the most recent property appraisal for valuation purposes.
            MostRecentAppraisalValueAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: Only numeric answers allowed (in AED)
            DateOfPurchase:
              type: string
              format: date
              description: The date when the insured property was purchased.
            PurchasePrice:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The original purchase price of the property at the time of acquisition.
          required:
            - MostRecentAppraisalValueAmount
          description: Details of the property value.
          additionalProperties: false
        BuildingsCover:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceBuildingsCoverProperties'
          description: Required when Cover is BuildingsCover
        ContentsCoverDetails:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingContentsCoverDetails'
          description: Required when Cover is ContentsCover
        PersonalBelongings:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPersonalBelongings'
          description: Required when cover is personal belongings
        Mortgage:
          type: object
          properties:
            BankName:
              type: string
              description: >-
                Required when PropertyMortgage is true (Yes) to confirm the name of the financial institution providing
                the mortgage finance
            BranchName:
              type: string
              description: The Bank's Branch name
            BankAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceAddressProperties'
              description: The address details of the customer's Bank Branch
            ContactDetails:
              type: string
              description: The contact details of the Bank
            MortgageBalanceAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The amount or outstanding balance of the mortgage
            MonthlyPaymentAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The monthly amount paid for the mortgage.
            AccountNumber:
              type: string
              minLength: 1
              maxLength: 70
              description: The account number associated with the mortgage finance against the property.
          description: Details of the mortgage against the property. Omitted when the property is not mortgaged.
          additionalProperties: false
        DomesticHelpers:
          $ref: '#/components/schemas/AEHomeInsuranceDomesticHelperProperties'
        ImportantQuestions:
          type: object
          properties:
            PrimaryResidence:
              type: boolean
              description: Confirmation whether the property is the customer's primary residence
            BusinessPurposes:
              type: boolean
              description: Confirmation whether the property will be used for business purposes
            PropertyOccupation:
              type: boolean
              description: >-
                Confirmation whether the property will be occupied solely by the customer, their family and Domestic
                Helper?
            DayTimeOccupation:
              type: boolean
              description: Confirmation whether the home will be occupied during the day time.
            UnoccupiedOverSixtyDays:
              type: boolean
              description: Confirmation whether the property will be left un-occupied for more than 60 days.
          description: The template for adding optional properties.
          additionalProperties: false
      additionalProperties: false
    AEHomeInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                TypeOfCover:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
                  description: The type of Home or Renter insurance cover required
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                AddOns:
                  type: object
                  properties:
                    AccidentalDamageCover:
                      type: boolean
                      description: Confirmation whether the customer wishes to include Accidental Damage cover.
                    PersonalBelongingsCover:
                      type: boolean
                      description: Confirmation whether the customer wishes to include Personal Belongings cover.
                    LiabilityCover:
                      type: boolean
                      description: Confirmation whether the customer wishes to include Liability cover.
                    DomesticHelpersCover:
                      type: boolean
                  additionalProperties: false
                ClaimsInLastThreeYears:
                  type: boolean
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            PolicyHolder:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  description: Address details
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  description: Identification details of the policyholder.
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            PropertyDetails:
              type: object
              properties:
                TypeOfProperty:
                  type: string
                  enum:
                    - House
                    - Villa
                    - Apartment
                    - Flat
                    - Other
                  description: Based on enumeration values.
                OwnershipStatus:
                  type: string
                  enum:
                    - Owner
                    - OwnerWithMortgage
                    - Landlord
                    - Tenant
                  description: Based on enumeration values.
                Construction:
                  type: string
                  enum:
                    - ClassA
                    - ClassB
                    - ClassC
                  description: Type of construction
                OverTenYears:
                  type: boolean
                  description: Confirmation whether the property is over 10 years old
                FloodDamage:
                  type: boolean
                  description: >-
                    Confirmation whether the buildings and/or contents have suffered damage by storm, tempest or flood
                    during the past five years
                NumberOfAdults:
                  type: integer
                  description: The number of adults that will be living in the home
                NumberOfChildren:
                  type: integer
                  description: The number of children that will be living in the home
                NumberOfFloors:
                  type: integer
                  description: The total number of floors in the insured property, including all above-ground levels.
                NumberOfRooms:
                  type: integer
                  description: 'The total number of rooms within the property, excluding bathrooms. '
                InsuredPropertyAddress:
                  type: object
                  properties:
                    AddressLine:
                      type: array
                      items:
                        $ref: '#/components/schemas/AEInsuranceAddressLine'
                      minItems: 1
                      maxItems: 7
                      description: >-
                        Information that locates and identifies a specific address for a transaction entry, that is
                        presented in free format text.


                        This value should be used where the address is provided or stored as a single string.
                    BuildingNumber:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: The unit, apartment, or villa number within a building or community
                    BuildingName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: Name of the building or house.
                    Floor:
                      type: string
                      minLength: 1
                      maxLength: 70
                      description: Floor or storey within a building.
                    StreetName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: The name of the street or road where the property is located
                    DistrictName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: The district, community, or neighbourhood where the property is located
                    PostBox:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: The P.O. Box number assigned to the recipient for mail delivery
                    TownName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: Name of a built-up area, such as a town or city
                    CountrySubDivision:
                      allOf:
                        - $ref: '#/components/schemas/AEInsuranceEmirate'
                      description: >-
                        Country subdivision, such as state or province. This is the Emirate where the address is
                        registered.
                    Country:
                      allOf:
                        - $ref: '#/components/schemas/AEInsuranceCountryCode'
                      description: The country associated with the address, represented using the ISO 3166-1 alpha-2 country code.
                  description: The full address of the property to be insured
                  additionalProperties: false
                SafetySecurityFeatures:
                  type: object
                  properties:
                    DistanceFromShoreline:
                      type: string
                      description: 'The shortest distance from the insured property to the nearest coastline, measured in meters '
                    DistanceAboveSeaLevel:
                      type: string
                      description: The elevation of the insured property above sea level, measured in meters
                    InDesignatedFloodZone:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured is in a Designated Flood
                        Zone
                    WaterLeakDetectionSystems:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Water Leak Detection
                        Systems
                    BurglarAlarm:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has a burglar installed
                    SurveillanceCameras:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Surveillance or Security
                        Cameras
                    DoorCamera:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has a door camera
                    SecurityGuards:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Security Guards employed
                    SmokeDetectors:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Smoke Detectors
                        installed
                    FireExtinguishers:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Fire Extinguishers
                    SprinklerSystem:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Sprinkler System
                        installed
                    DeadboltLocks:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Dead bolt Locks
                        installed
                    WindowLocks:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Window Locks installed
                  description: Details of property safety and security features.
                  additionalProperties: false
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            Mortgage:
              type: object
              properties:
                BankName:
                  type: string
                  description: >-
                    Required when PropertyMortgage is true (Yes) to confirm the name of the financial institution
                    providing the mortgage finance
                BranchName:
                  type: string
                  description: The Bank's Branch name
                BankAddress:
                  type: object
                  properties:
                    AddressLine:
                      type: array
                      items:
                        $ref: '#/components/schemas/AEInsuranceAddressLine'
                      minItems: 1
                      maxItems: 7
                      description: >-
                        Information that locates and identifies a specific address for a transaction entry, that is
                        presented in free format text.


                        This value should be used where the address is provided or stored as a single string.
                    BuildingNumber:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: The unit, apartment, or villa number within a building or community
                    BuildingName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: Name of the building or house.
                    Floor:
                      type: string
                      minLength: 1
                      maxLength: 70
                      description: Floor or storey within a building.
                    StreetName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: The name of the street or road where the property is located
                    DistrictName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: The district, community, or neighbourhood where the property is located
                    PostBox:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: The P.O. Box number assigned to the recipient for mail delivery
                    TownName:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: Name of a built-up area, such as a town or city
                    CountrySubDivision:
                      allOf:
                        - $ref: '#/components/schemas/AEInsuranceEmirate'
                      description: >-
                        Country subdivision, such as state or province. This is the Emirate where the address is
                        registered.
                    Country:
                      allOf:
                        - $ref: '#/components/schemas/AEInsuranceCountryCode'
                      description: The country associated with the address, represented using the ISO 3166-1 alpha-2 country code.
                  description: The address details of the customer's Bank Branch
                  additionalProperties: false
                ContactDetails:
                  type: string
                  description: The contact details of the Bank
                MortgageBalanceAmount:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                  description: The amount or outstanding balance of the mortgage
                  additionalProperties: false
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            DomesticHelpers:
              type: object
              properties:
                NumberOfDomesticHelpers:
                  type: integer
                  description: >-
                    Required when Domestic Helpers cover is required. Confirms the number of Domestic Helpers to be
                    covered
                IndividualDetails:
                  type: array
                  items:
                    type: object
                    properties:
                      FirstName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: First Name of the individual.
                      LastName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Last Name (Surname) of the individual.
                      Nationality:
                        type: string
                        pattern: ^[A-Z]{3}$
                        description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                      DateOfBirth:
                        type: string
                        format: date
                        description: Date of birth of the individual.
                      PassportNumber:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCustomerPassportNumberType'
                        description: Passport Number of the individual.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  description: Domestic Helpers details when included in the insurance cover
              minProperties: 1
              description: Revised details, verified by the TPP.
              additionalProperties: false
            ExistingHomeInsurance:
              type: object
              properties:
                CoverType:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
                  description: The type of existing insurance cover held.
                ProviderName:
                  type: string
                  description: The name of the existing home insurance provider.
                ExpiryDate:
                  type: string
                  format: date
                  description: The expiry date of the existing home insurance cover.
                ReplacementCover:
                  type: boolean
                  description: Confirm whether this proposal will replace the existing insurance cover.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AEHomeInsuranceQuoteExistingHomeInsuranceProperties:
      type: object
      required:
        - CoverType
        - ProviderName
        - ExpiryDate
        - ReplacementCover
      properties:
        CoverType:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
          description: The type of existing insurance cover held.
        ProviderName:
          type: string
          description: The name of the existing home insurance provider.
        ExpiryDate:
          type: string
          format: date
          description: The expiry date of the existing home insurance cover.
        ReplacementCover:
          type: boolean
          description: Confirm whether this proposal will replace the existing insurance cover.
      additionalProperties: false
    AEHomeInsuranceQuotePolicyHolderProperties:
      type: object
      required:
        - Gender
        - DateOfBirth
        - Nationality
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
        EmployerName:
          type: string
          minLength: 1
          maxLength: 70
          description: Employer name.
      additionalProperties: false
    AEHomeInsuranceQuotePolicyProperties:
      type: object
      required:
        - Takaful
        - TypeOfCover
        - PolicyStartDate
        - AddOns
      properties:
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        TypeOfCover:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
          description: The type of Home or Renter insurance cover required
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
        AddOns:
          type: object
          properties:
            AccidentalDamageCover:
              type: boolean
              description: Confirmation whether the customer wishes to include Accidental Damage cover.
            PersonalBelongingsCover:
              type: boolean
              description: Confirmation whether the customer wishes to include Personal Belongings cover.
            LiabilityCover:
              type: boolean
              description: Confirmation whether the customer wishes to include Liability cover.
            DomesticHelpersCover:
              type: boolean
          required:
            - AccidentalDamageCover
            - PersonalBelongingsCover
            - LiabilityCover
            - DomesticHelpersCover
          additionalProperties: false
        ClaimsInLastThreeYears:
          type: boolean
      additionalProperties: false
    AEHomeInsuranceQuotePropertyDetailsProperties:
      type: object
      required:
        - TypeOfProperty
      properties:
        TypeOfProperty:
          type: string
          enum:
            - House
            - Villa
            - Apartment
            - Flat
            - Other
          description: Based on enumeration values.
        OwnershipStatus:
          type: string
          enum:
            - Owner
            - OwnerWithMortgage
            - Landlord
            - Tenant
          description: Based on enumeration values.
        Construction:
          type: string
          enum:
            - ClassA
            - ClassB
            - ClassC
          description: Type of construction
        OverTenYears:
          type: boolean
          description: Confirmation whether the property is over 10 years old
        FloodDamage:
          type: boolean
          description: >-
            Confirmation whether the buildings and/or contents have suffered damage by storm, tempest or flood during
            the past five years
        NumberOfAdults:
          type: integer
          description: The number of adults that will be living in the home
        NumberOfChildren:
          type: integer
          description: The number of children that will be living in the home
        NumberOfFloors:
          type: integer
          description: The total number of floors in the insured property, including all above-ground levels.
        NumberOfRooms:
          type: integer
          description: 'The total number of rooms within the property, excluding bathrooms. '
        InsuredPropertyAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAddressProperties'
          description: The full address of the property to be insured
        SafetySecurityFeatures:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSafetySecurityFeatures'
          description: Details of property safety and security features.
      additionalProperties: false
    AEHomeInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - PropertyDetails
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          $ref: '#/components/schemas/AEHomeInsuranceQuotePolicyProperties'
        PolicyHolder:
          $ref: '#/components/schemas/AEHomeInsuranceQuotePolicyHolderProperties'
        PropertyDetails:
          $ref: '#/components/schemas/AEHomeInsuranceQuotePropertyDetailsProperties'
        BuildingsCover:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceBuildingsCoverProperties'
          description: Required when Cover is BuildingsCover
        ContentsCoverDetails:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuoteContentsCoverDetails'
          description: Required when Cover is ContentsCover
        PersonalBelongings:
          $ref: '#/components/schemas/AEInsuranceQuotePersonalBelongings'
        Mortgage:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceMortgageProperties'
          description: Details of the mortgage against the property. Omitted when the property is not mortgaged.
        DomesticHelpers:
          $ref: '#/components/schemas/AEHomeInsuranceDomesticHelperProperties'
        PropertyClaims:
          type: array
          items:
            type: object
            properties:
              DateOfClaim:
                type: string
                format: date
                description: Date the property claim was made
              ClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the claim
              Reason:
                type: string
                description: Details of the claim made or nature of the loss
              Outcome:
                allOf:
                  - $ref: '#/components/schemas/AEInsurancePropertyClaimOutcomeCodes'
                description: What was the outcome of the claim
            required:
              - DateOfClaim
              - ClaimAmount
              - Reason
              - Outcome
            additionalProperties: false
          minItems: 1
          description: >-
            Confirmation whether the customer has suffered any property losses (claims) in the previous 3 years. This
            property can be omitted when the customer confirms that no claims have been made in the last 3 years.
        ExistingHomeInsurance:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceQuoteExistingHomeInsuranceProperties'
          description: >-
            Confirmation of the existing cover. This property can be omitted when the customer confirms that there is no
            existing cover on the property.
        PreviousApplications:
          $ref: '#/components/schemas/AEInsuranceQuotePreviousApplications'
        ImportantQuestions:
          $ref: '#/components/schemas/AEInsuranceQuoteImportantQuestions'
      additionalProperties: false
    AEInsuranceAcceptedByUserQuoteStatusCodes:
      type: string
      enum:
        - ApplicationPending
        - KYCCaptured
    AEInsuranceAccountSchemeName:
      type: string
      enum:
        - AccountNumber
        - IBAN
      description: Name of the identification scheme for the account
    AEInsuranceAddress:
      type: object
      required:
        - AddressLine
        - Country
      properties:
        AddressType:
          type: string
          enum:
            - Billing
            - Business
            - Correspondence
            - DeliveryTo
            - MailTo
            - POBox
            - Postal
            - Permanent
            - Residential
            - Statement
            - Other
          description: The type of address.
        AddressLine:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddressLine'
          minItems: 1
          maxItems: 7
          description: >-
            Information that locates and identifies a specific address for a transaction entry, that is presented in
            free format text.


            This value should be used where the address is provided or stored as a single string.
        BuildingNumber:
          type: string
          minLength: 1
          maxLength: 16
          description: The unit, apartment, or villa number within a building or community
        BuildingName:
          type: string
          minLength: 1
          maxLength: 140
          description: Name of the building or house.
        Floor:
          type: string
          minLength: 1
          maxLength: 70
          description: Floor or storey within a building.
        StreetName:
          type: string
          minLength: 1
          maxLength: 140
          description: The name of the street or road where the property is located
        DistrictName:
          type: string
          minLength: 1
          maxLength: 140
          description: The district, community, or neighbourhood where the property is located
        PostBox:
          type: string
          minLength: 1
          maxLength: 16
          description: The P.O. Box number assigned to the recipient for mail delivery
        TownName:
          type: string
          minLength: 1
          maxLength: 140
          description: Name of a built-up area, such as a town or city
        CountrySubDivision:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmirate'
          description: Country subdivision, such as state or province. This is the Emirate where the address is registered.
        Country:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCountryCode'
          description: The country associated with the address, represented using the ISO 3166-1 alpha-2 country code.
      additionalProperties: false
    AEInsuranceAddressLine:
      type: string
      minLength: 1
      maxLength: 70
    AEInsuranceAddressProperties:
      type: object
      required:
        - AddressLine
        - Country
      properties:
        AddressLine:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddressLine'
          minItems: 1
          maxItems: 7
          description: >-
            Information that locates and identifies a specific address for a transaction entry, that is presented in
            free format text.


            This value should be used where the address is provided or stored as a single string.
        BuildingNumber:
          type: string
          minLength: 1
          maxLength: 16
          description: The unit, apartment, or villa number within a building or community
        BuildingName:
          type: string
          minLength: 1
          maxLength: 140
          description: Name of the building or house.
        Floor:
          type: string
          minLength: 1
          maxLength: 70
          description: Floor or storey within a building.
        StreetName:
          type: string
          minLength: 1
          maxLength: 140
          description: The name of the street or road where the property is located
        DistrictName:
          type: string
          minLength: 1
          maxLength: 140
          description: The district, community, or neighbourhood where the property is located
        PostBox:
          type: string
          minLength: 1
          maxLength: 16
          description: The P.O. Box number assigned to the recipient for mail delivery
        TownName:
          type: string
          minLength: 1
          maxLength: 140
          description: Name of a built-up area, such as a town or city
        CountrySubDivision:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmirate'
          description: Country subdivision, such as state or province. This is the Emirate where the address is registered.
        Country:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCountryCode'
          description: The country associated with the address, represented using the ISO 3166-1 alpha-2 country code.
      additionalProperties: false
    AEInsuranceBankIdentification:
      type: object
      properties:
        BICFI:
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
          description: Bank Identification Code (BIC)
        Name:
          type: string
          minLength: 1
          maxLength: 140
          description: Bank Name
        Identification:
          type: string
          minLength: 1
          maxLength: 140
          description: Branch Name
      additionalProperties: false
    AEInsuranceBasmahProgramFee:
      type: object
      required:
        - FeeAmountExcludingVAT
        - VATPercentage
        - TotalFeeAmount
      properties:
        FeeAmountExcludingVAT:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The amount of the Basmah fee excluding VAT
        VATPercentage:
          $ref: '#/components/schemas/AEInsuranceVATPercentage'
        VATAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The VAT amount to be added to the base Basmah fee
        TotalFeeAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total Basmah fee included in the insurance premium including VAT
      additionalProperties: false
    AEInsuranceCashAccount:
      type: object
      required:
        - Identification
        - SchemeName
        - Name
      properties:
        Identification:
          type: string
          minLength: 1
          maxLength: 34
          description: Account identification
        SchemeName:
          $ref: '#/components/schemas/AEInsuranceAccountSchemeName'
        Name:
          type: string
          minLength: 1
          maxLength: 70
          description: Account Name
      additionalProperties: false
    AEInsuranceCommission:
      type: object
      required:
        - CommissionAmount
        - CommissionPercentage
      properties:
        CommissionAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: >-
            The total monetary value of the commission paid to the TPP if the User proceeds with the quote application
            and purchases the policy based on the quote information provided.
        CommissionPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePercentageValue'
          description: The percentage of the policy premium allocated as commission to the TPP
        PaymentMethod:
          type: string
          enum:
            - DirectToTPP
            - ThroughAPIHub
          description: >-
            The method to be used to pay the commission to the TPP if the User elects to proceed with the application
            and successfully purchases the policy.
      additionalProperties: false
    AEInsuranceCountryCode:
      type: string
      pattern: '[A-Z]{2}'
      description: Country code that conforms with ISO 3166, 3 character alpha code
    AEInsuranceCreatePolicy1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEInsuranceCreatePolicyData1'
      additionalProperties: false
    AEInsuranceCreatePolicyData1:
      type: object
      required:
        - QuoteId
      properties:
        QuoteId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a quote created by an LFI
          example: 47409fec-4b04-4356-b3a1-6f5508524a5a
        PaymentReferenceId:
          type: string
          description: Payment reference generated when the Broker collects the payment from the customer on behalf of the LFI.
        PaymentDetails:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePaymentDetails'
          description: |-
            Customer payment details that can optionally provided by the TPP, based on data
            retrieved from an insurance
        PostIssuanceRequest:
          type: object
          properties:
            ClaimsAllowed:
              type: boolean
              description: Indicates whether the Broker requests to handle customer claims processes after policy issuance.
            EndorsementsAllowed:
              type: boolean
              description: Indicates whether the Broker requests to handle policy endorsements after policy issuance.
            RenewalsAllowed:
              type: boolean
              description: Indicates whether the Broker requests to handle the policy renewal process.
            CancellationAllowed:
              type: boolean
              description: Indicates whether the Broker requests to handle the policy cancellation when requested by the customer.
          required:
            - ClaimsAllowed
            - EndorsementsAllowed
            - RenewalsAllowed
            - CancellationAllowed
          description: 'Broker requests accountability for the following post-policy issuance activities:'
          additionalProperties: false
        SupplementaryData:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSupplementaryData'
          description: >-
            Additional information optionally supplied by the TPP that is not described by the Open Finance Framework
            standards.
      additionalProperties: false
    AEInsuranceCreateQuoteResponseProperties:
      oneOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteResponsePendingProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteResponseAvailableProperties'
      discriminator:
        propertyName: QuoteStatus
        mapping:
          Pending: '#/components/schemas/AEInsuranceQuoteResponsePendingProperties'
          Available: '#/components/schemas/AEInsuranceQuoteResponseAvailableProperties'
    AEInsuranceCustomerActivitiesAerialSports:
      type: string
      enum:
        - BaseJumping
        - BungeeJumping
        - Flying
        - FreeOrHighDiving
        - Gliding
        - HangGliding
        - Paragliding
        - HotAirBallooning
        - MicroLighting
        - Parachuting
        - Parascending
        - Skydiving
        - Other
    AEInsuranceCustomerActivitiesLandSports:
      type: string
      enum:
        - Abseiling
        - BigGameHunting
        - Boxing
        - Canyoning
        - CavingOrPotHoling
        - Coasteering
        - CompetitiveFootball
        - CycleRacing
        - BMXStuntRiding
        - Expeditions
        - HorseJumping
        - MartialArts
        - Motorcycling
        - Mountaineering
        - MountainBikingRacing
        - Polo
        - ProfessionalOrSemiProfessionalSports
        - QuadBiking
        - RockClimbing
        - Rugby
        - StreetHockey
        - Weightlifting
        - Wrestling
        - Other
    AEInsuranceCustomerActivitiesWaterSports:
      type: string
      enum:
        - CanoeingOrKayaking
        - JetSkiing
        - KiteSurfing
        - ScubaDiving
        - SharkDiving
        - WaterSkiing
        - WhiteBlackWaterRafting
        - Other
    AEInsuranceCustomerActivitiesWinterSports:
      type: string
      enum:
        - IceClimbing
        - IceHockey
        - OffPisteSkiingSnowboarding
        - SkiJumping
        - Skiing
        - Snowboarding
        - Snowmobiling
        - Other
    AEInsuranceCustomerHighRiskActivityProperties:
      type: object
      properties:
        AerialSports:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceCustomerActivitiesAerialSports'
          minItems: 1
          description: |-
            Describes the aerial sports the insured person undertakes, or wishes to include cover for in a quote.

            Aerial sports includes activities such as paragliding, bungee jumping, hang gliding, and skydiving.

            If included this value must include at least one item.
        WaterSports:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceCustomerActivitiesWaterSports'
          minItems: 1
          description: |-
            Describes the aerial sports the insured person undertakes, or wishes to include cover for in a quote.

            Aerial sports includes activities such as kite surfing or white-water rafting.

            If included this value must include at least one item.
        WinterSports:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceCustomerActivitiesWinterSports'
          minItems: 1
          description: |-
            Describes the winter sports the insured person undertakes, or wishes to include cover for in a quote.

            Winter sports includes activities such as skiing and snowboarding.

            If included this value must include at least one item.
        LandSports:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceCustomerActivitiesLandSports'
          minItems: 1
          description: |-
            Describes the land sports the insured person undertakes, or wishes to include cover for in a quote.

            Land sports includes activities such as mountain biking or rock climbing.

            If included this value must include at least one item.
      additionalProperties: false
    AEInsuranceCustomerPassportNumberType:
      type: string
      pattern: ^[A-Z0-9]+$
    AEInsuranceCustomerQuoteProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Gender
        - DateOfBirth
        - Nationality
        - MobileNumber
        - EmailAddress
        - Address
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
      additionalProperties: false
    AEInsuranceDataSharingClaimsSummaryProperties:
      type: object
      required:
        - NumberOfMonthsInPeriod
        - Claims
        - ApprovedClaims
        - TotalGrossApprovedClaimAmount
        - TotalGrossPaidAmount
      properties:
        NumberOfMonthsInPeriod:
          type: integer
          description: The number of months in the summary period.
        Claims:
          type: integer
          description: Number of claims made during the period.
        ApprovedClaims:
          type: integer
          description: Number of claims approved during the period.
        TotalGrossApprovedClaimAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: >-
            As per CBUAE schema, total gross value of all approved claims during the period including Direct + Third
            party + Coinsurance / deductible + Loss Adjusters + VAT.
        TotalGrossPaidAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Total amount paid
      description: >-
        Summary of previous claims. `NumberOfPreviousMonths` value must appear only once, and can be provided based on
        LFI reporting periods and policy behaviors.


        If no claims have been made then an array element with `NumberOfPreviousMonths` set to zero must be provided,
        and all claim amounts must be set to zero, to provide a positive assertion that no claims have been made.
        Currency must be set to AED for this case.
      additionalProperties: false
    AEInsuranceDataSharingClaimsWithLossCauseProperties:
      type: object
      required:
        - Summary
      properties:
        Summary:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceDataSharingClaimsSummaryProperties'
          minItems: 1
          description: >-
            Summary of previous claims. `NumberOfPreviousMonths` value must appear only once.


            If no claims have been made then an array element with `NumberOfPreviousMonths` set to zero must be
            provided, and all claim amounts must be set to zero, to provide a positive assertion that no claims have
            been made. Currency must be set to AED for this case.
        ClaimsHistory:
          type: array
          items:
            type: object
            properties:
              ClaimUniqueID:
                type: string
                minLength: 1
                maxLength: 128
                description: Unique reference that identifies the claim
              ClaimDate:
                type: string
                format: date
                description: The original date the claim was submitted.
              TotalGrossClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: >-
                  As per CBUAE scheme, total gross claim amount including Direct + Third party + Coinsurance /
                  deductible + Loss Adjusters + VAT.
              ClaimPayments:
                type: array
                items:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                    PaymentDate:
                      type: string
                      format: date
                      description: The date on which the claim payment was made.
                  required:
                    - Currency
                    - Amount
                    - PaymentDate
                  additionalProperties: false
                minItems: 1
                description: The amounts paid with amount, currency, and date.
              DeductibleGrossClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Deductible and co-insurance amount paid by customer.
              PolicyClaimedBenefits:
                type: array
                items:
                  type: object
                  properties:
                    ClaimedBenefitType:
                      type: string
                    ClaimedBenefitDescription:
                      type: string
                  required:
                    - ClaimedBenefitType
                    - ClaimedBenefitDescription
                  additionalProperties: false
                description: All the claimed policy benefits.
              ClaimApprovalDate:
                type: string
                format: date
                description: The most recent approval date for any portion of the claim.
              ClaimLastUpdateDate:
                type: string
                format: date
                description: Last update date of the claim.
              DirectGrossClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Amount of the claim paid directly.
              ThirdPartyGrossClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Amount of claim to be paid via third party insurance company.
              ThirdPartyRecoveryCompany:
                type: string
                description: Name of recovery third party insurance company.
              ThirdPartyRecoveryStatus:
                type: string
                enum:
                  - Approved
                  - Reopened
                  - RecoveryOpened
                  - Paid
                  - RecoveryReopenedAndClaimClosed
                  - Rejected
                  - InProgress
                description: Status of recovery.
              LossAdjusterGrossClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Loss Adjusters fees on above claims.
              OutstandingPayAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Claim payment amount outstanding.
              Status:
                type: string
                enum:
                  - Open
                  - Outstanding
                  - Closed
                  - Reopened
                  - Cancelled
                  - Deleted
                  - Rejected
                description: |-
                  The status of the claim, based on the following CBUAE standard definitions:

                  * `Open`: Once the claim is submitted.

                  * `Outstanding`: The claim is under processing.

                  * `Closed`: Once the claim is settled & closed.

                  * `Reopened`: The claim is reopened.

                  * `Cancelled`: The claim cancelled.

                  * `Deleted`: The claim entered incorrectly and deleted.

                  * `Rejected`: Company rejected the claim.
              IncidentStartDate:
                type: string
                format: date
                description: Start date of the incident.
              LossCause:
                type: string
                description: Loss cause resulting in claim.
            required:
              - ClaimUniqueID
              - ClaimDate
              - TotalGrossClaimAmount
              - PolicyClaimedBenefits
              - ClaimLastUpdateDate
              - Status
              - IncidentStartDate
              - LossCause
            additionalProperties: false
          minItems: 1
          description: Claims history. Only required if claims have been made against the policy.
      description: Details of insurance policy claims
      additionalProperties: false
    AEInsuranceDataSharingContentsCoverDetails:
      type: object
      required:
        - TotalContentsValue
        - HighValueContent
      properties:
        TotalContentsValue:
          type: string
          enum:
            - UP_TO_75K
            - UP_TO_150K
            - UP_TO_250K
            - UP_TO_350K
            - OVER_350K
          description: The total value of the contents to be insured
        DeclaredValueAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Required when the `TotalContentsValue` is `OVER_350K`
        HighValueContent:
          type: boolean
          description: Confirmation whether the customer owns an individual content item that has a value above AED 25,000
        HighValueContentDetails:
          type: array
          items:
            type: object
            properties:
              ItemDescription:
                type: string
                minLength: 1
                maxLength: 140
                description: The description of the high value contents item
              ItemValueAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the high value contents item
              ItemType:
                type: string
                enum:
                  - Appliances
                  - Antiques
                  - Art
                  - Electronics
                  - Furniture
                  - PreciousMetals
                  - RugsOrCarpets
                  - StampCoinOrMedalCollections
                  - Other
                description: Confirmation of the type of high value contents item that will be covered within the insurance policy
              ReceiptsProofOfPurchase:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has the receipt to provide proof of purchase of the high
                  value contents item
              PhotographicOrDocumentaryEvidence:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has photographic or documentary evidence of the high value
                  contents item
              LatestAppraisalReports:
                type: boolean
                description: Indicator to confirm whether the customer an appraisal report of the high value contents item
            required:
              - ItemDescription
              - ItemValueAmount
            additionalProperties: false
          minItems: 1
          description: Required when the customer has declared that they have a content item with a value above AED 25,000
      description: Required when Cover is ContentsCover
      additionalProperties: false
    AEInsuranceDataSharingCustomerBasicProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Gender
        - DateOfBirth
        - Nationality
        - MobileNumber
        - EmailAddress
        - Address
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        PreviousNameDetails:
          type: object
          properties:
            MaidenName:
              type: string
              description: The maiden name of the customer
            AliasName:
              type: string
              description: >-
                Any name, whether legal or casual, that the customer uses or has used on any forms in addition to their
                birth name.  This includes shortened versions of their name.
          description: >-
            Required if the applicant or policy was known by a previous name. One of MaidenName or AliasName must be
            populated. This property can be omitted if the customer confirms they held no previous names.
          additionalProperties: false
        SecondNationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: Confirmation of the policyholder's second nationality when they have dual nationality
        CountryOfBirth:
          type: string
          pattern: ^[A-Z]{3}$
          description: Place of Birth of the Insured Person
      additionalProperties: false
    AEInsuranceDataSharingPaymentFrequencyCode:
      type: string
      enum:
        - Annually
        - OneTime
        - Monthly
        - Quarterly
        - BiAnnual
        - Other
    AEInsuranceDataSharingPaymentModeCode:
      type: string
      enum:
        - DirectDebit
        - StandingOrder
        - CreditCard
        - BankTransfer
        - OpenFinance
        - Cash
        - Other
    AEInsuranceDataSharingPersonalBelongings:
      type: object
      required:
        - TotalPersonalBelongingsValue
        - HighValueBelongings
      properties:
        TotalPersonalBelongingsValue:
          type: string
          enum:
            - UP_TO_25K
            - UP_TO_50K
            - UP_TO_100K
            - UP_TO_150K
            - OVER_150K
          description: The total value of the Personal Belongings to be insured
        DeclaredValueAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Required when the  'TotalPersonalBelongingsValue' is 'OVER_150K'
        HighValueBelongings:
          type: boolean
          description: Confirmation whether the customer owns an individual content item that has a value above AED 10,000
        HighValueBelongingsDetails:
          type: array
          items:
            type: object
            properties:
              ItemDescription:
                type: string
                description: The description of the high value Personal Belongings item
              ItemValueAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the high value Personal Belongings item
              ItemType:
                type: string
                enum:
                  - Watches
                  - Jewellery
                  - Clothes
                  - Luggage
                  - SportsEquipment
                  - PortableElectronics
                  - PhotographicEquipment
                  - MusicalInstruments
                  - Other
                description: >-
                  Confirmation of the type of high value Personal Belongings item that will be covered within the
                  insurance policy
              ReceiptsProofOfPurchase:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has the receipt to provide proof of purchase of the high
                  value Personal Belongings item
              PhotographicOrDocumentaryEvidence:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has photographic or documentary evidence of the high value
                  Personal Belongings item
              LatestAppraisalReports:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer an appraisal report of the high value Personal Belongings
                  item
            required:
              - ItemDescription
              - ItemValueAmount
            additionalProperties: false
          description: Required when the customer has declared that they have a content item with a value above AED 10,000
      description: Required when personal belongings cover is included.
      additionalProperties: false
    AEInsuranceDataSharingPremiumProperties:
      type: object
      required:
        - TotalPremiumAmount
        - PaymentFrequency
      properties:
        PremiumAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The Premium Amount excluding any VAT amount
        VatAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: 'The Premium VAT amount '
        TotalPremiumAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total Premium amount including VAT
        PaymentFrequency:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPaymentFrequencyCode'
          description: The frequency the insurance premium is being paid or can be paid
        PaymentMode:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPaymentModeCode'
          description: 'Confirmation of the payment method used or being used by the customer to pay the insurance premium '
        NextDue:
          type: string
          format: date
          description: The date the next Premium is due
        LastReceived:
          type: object
          properties:
            ReceivedDate:
              type: string
              format: date
              description: The date the last premium was received
            PremiumAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The amount of the last premium received
          description: The details of the last premium received
          additionalProperties: false
        OutstandingBalance:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Confirmation of any outstanding premium balance
        Discount:
          type: object
          properties:
            DiscountName:
              type: string
              description: The name of the discount applied to the insurance premium
            DiscountPercentage:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePercentageValue'
              description: The percentage reduction applied to the insurance premium as part of the discount.
            DiscountAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The monetary value of the discount applied to the insurance premium
          minProperties: 1
          description: Details of any discount applied.
          additionalProperties: false
        Adjustments:
          type: array
          items:
            type: object
            properties:
              AdjustmentDate:
                type: string
                format: date
                description: When the premium has been adjusted confirmation of the date the adjustment was made
              Reason:
                type: string
                description: The reason why the premium has been adjusted
              AdjustmentAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The premium adjustment amount
            additionalProperties: false
          minItems: 1
          description: Details of any adjustments to the premium.
        PaymentHistory:
          type: array
          items:
            type: object
            properties:
              PaymentDate:
                type: string
                format: date
                description: The date when the premium payment was made.
              PremiumAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The amount of the previously paid insurance premium.
              ReceiptNumber:
                type: string
                description: The unique reference number associated with the premium payment receipt.
              InstallmentNumber:
                type: string
                description: The instalment number if the premium was paid in multiple instalments
              PaymentMode:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceDataSharingPaymentModeCode'
                description: The method used for premium payment (e.g., credit card, bank transfer, direct debit, cash).
              PaymentStatus:
                type: string
                enum:
                  - Paid
                  - Pending
                  - Failed
                  - Refunded
                  - Outstanding
                description: The status of the premium payment installment
            additionalProperties: false
          minItems: 1
          description: Details of payment history.
        RenewalPremium:
          type: object
          properties:
            RenewalDate:
              type: string
              format: date
              description: The date when the existing insurance policy is scheduled for renewal
            RenewalAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The base premium amount for policy renewal
            VatAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The VAT amount applied to the renewal premium.
            TotalRenewalAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The total amount due for policy renewal, including taxes and fees.
            PaymentFrequency:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceDataSharingPaymentFrequencyCode'
              description: The frequency of renewal premium payments
          description: Details of renewal premium.
          additionalProperties: false
      description: Details of the insurance policy premium.
      additionalProperties: false
    AEInsuranceDocumentRequirement:
      type: string
      minLength: 1
      maxLength: 500
    AEInsuranceEmailAddressType:
      type: string
      pattern: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
      example: ali.hamad@example.openfinanceplatform.ae
    AEInsuranceEmirate:
      type: string
      enum:
        - AbuDhabi
        - Ajman
        - Dubai
        - Fujairah
        - RasAlKhaimah
        - Sharjah
        - UmmAlQuwain
    AEInsuranceEmiratesIdPassportOptionalVisa:
      type: object
      required:
        - EmiratesId
        - Passport
      properties:
        EmiratesId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceNationalIdentifierProperties'
          description: Details of the Emirates ID held by the policyholder or insured person.
        Passport:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePassportProperties'
          description: Details of passport held by policyholder or insured person.
        Visa:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVisaProperties'
          description: Details of visa issued to insured person. Omitted if not required or information not held.
      description: Details of the Emirates ID and passport held by the policyholder or insured person.
      additionalProperties: false
    AEInsuranceEmploymentStatus:
      type: string
      enum:
        - Employed
        - SelfEmployed
        - BusinessOwner
        - Unemployed
        - Dependent
        - Retired
        - Student
        - DomesticWorker
        - Other
      description: The applicant or policyholder employment status
    AEInsuranceExistingInsuranceProperties:
      type: object
      required:
        - InsurerName
        - ExistingPolicyNumber
        - PolicyStartDate
        - PolicyEndDate
      properties:
        InsurerName:
          type: string
          description: The Insurance Company Name when an existing cover is held.
        ExistingPolicyNumber:
          type: string
          description: The Insurance Policy Number when an existing cover is held.
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
      additionalProperties: false
    AEInsuranceGender:
      type: string
      enum:
        - Male
        - Female
        - Other
    AEInsuranceHCVProgramFee:
      type: object
      required:
        - FeeAmountExcludingVAT
        - VATPercentage
        - TotalFeeAmount
      properties:
        FeeAmountExcludingVAT:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The amount of the HCV fee excluding VAT
        VATPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVATPercentage'
          description: The VAT percentage rate charged to the HCV fee
        VATAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The VAT amount to be added to the base HCV fee
        TotalFeeAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total HCV fee included in the insurance premium including VAT
      additionalProperties: false
    AEInsuranceHeightType:
      type: integer
    AEInsuranceICPProgramFee:
      type: object
      required:
        - FeeAmountExcludingVAT
        - VATPercentage
        - TotalFeeAmount
      properties:
        FeeAmountExcludingVAT:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The amount of the ICP fee excluding VAT
        VATPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVATPercentage'
          description: The VAT percentage rate charged to the ICP fee
        VATAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The VAT amount to be added to the base ICP fee
        TotalFeeAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total ICP fee included in the insurance premium including VAT
      additionalProperties: false
    AEInsuranceIdentityEmiratesIdOptionalVisa:
      type: object
      required:
        - EmiratesId
      properties:
        EmiratesId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceNationalIdentifierProperties'
          description: Details of the Emirates ID held by the policyholder or insured person.
        Visa:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVisaProperties'
          description: Details of visa issued to insured person. Omitted if not required or information not held.
      description: Details of the Emirates ID held by the policyholder or insured person.
      additionalProperties: false
    AEInsuranceIdentityTypes:
      oneOf:
        - $ref: '#/components/schemas/AEInsuranceIdentityEmiratesIdOptionalVisa'
        - $ref: '#/components/schemas/AEInsurancePassportOptionalVisa'
        - $ref: '#/components/schemas/AEInsuranceEmiratesIdPassportOptionalVisa'
    AEInsuranceInsurancePolicyResponseData1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PostIssuanceResponse:
          type: object
          properties:
            ClaimsAllowed:
              type: boolean
              description: Indicates whether the LFI allows the TPP to handle customer claims processes after policy issuance.
            EndorsementsAllowed:
              type: boolean
              description: Indicates whether the LFI allows the TPP to handle policy endorsements after policy issuance.
            RenewalsAllowed:
              type: boolean
              description: Indicates whether the LFI allows the TPP to handle the policy renewal process.
            CancellationAllowed:
              type: boolean
              description: >-
                Indicates whether the LFI allows the TPP to handle the policy cancellation when requested by the
                customer.
          required:
            - ClaimsAllowed
            - EndorsementsAllowed
            - RenewalsAllowed
            - CancellationAllowed
          description: >-
            Defines whether the LFI allows or rejects the TPPs request for accountability over specific post-policy
            issuance activities.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          minItems: 1
          description: Policy documents to be issued to the Customer via the TPP.
      additionalProperties: false
    AEInsuranceMaritalStatus:
      type: string
      enum:
        - Single
        - Married
        - Divorced
        - Widowed
        - Separated
        - Other
    AEInsuranceNationalIdentifierProperties:
      type: object
      required:
        - EmiratesIdNumber
      properties:
        EmiratesIdNumber:
          type: string
          pattern: ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$
          description: Emirates identification number
        EmiratesIdExpiryDate:
          type: string
          format: date
          description: Emirates ID expiry date
      additionalProperties: false
    AEInsurancePassportOptionalVisa:
      type: object
      required:
        - Passport
      properties:
        Passport:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePassportProperties'
          description: Details of passport held by policyholder or insured person.
        Visa:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVisaProperties'
          description: Details of visa issued to insured person. Omitted if not required or information not held.
      description: Details of passport held by policyholder or insured person.
      additionalProperties: false
    AEInsurancePassportProperties:
      type: object
      required:
        - PassportNumber
      properties:
        PassportNumber:
          type: string
          pattern: ^[A-Z0-9]+$
          description: Passport number
        IssuingCountry:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: The country the passport is issued by.
        NameOnPassport:
          type: string
          minLength: 1
          maxLength: 140
          description: The applicant, policyholder or insured person name as detailed on their passport
        IssueDate:
          type: string
          format: date
          description: The passport issue date
        ExpiryDate:
          type: string
          format: date
          description: The passport expiry date
      additionalProperties: false
    AEInsurancePaymentDetails:
      type: object
      required:
        - Account
        - Bank
      properties:
        Account:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCashAccount'
          description: Properties of the customer bank account
        Bank:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceBankIdentification'
          description: Properties of the bank and branch of the account-holder bank
        AccountType:
          type: string
          minLength: 1
          maxLength: 35
          description: Account Type
      additionalProperties: false
    AEInsurancePaymentFrequency:
      type: string
      enum:
        - Annually
        - OneTime
        - Monthly
        - Quarterly
        - BiAnnual
        - Other
        - Limited
      description: Frequencies
    AEInsurancePercentageValue:
      type: number
      format: decimal
      minimum: 0
      maximum: 100
    AEInsurancePhoneNumberType:
      type: string
      pattern: ^\+?[1-9]\d{1,14}$
      example: '+971501234567'
    AEInsurancePolicies1:
      type: object
      required:
        - Policies
      properties:
        Policies:
          type: array
          items:
            type: object
            properties:
              InsurancePolicyId:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
                description: Unique identifier for a given insurance policy
                example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
              PolicyNumber:
                type: string
                description: The policy number assigned by the LFI.
              PolicyStatus:
                allOf:
                  - $ref: '#/components/schemas/AEInsurancePolicyStatusCodes'
                description: The current status of the policy.
              PolicyStartDate:
                type: string
                format: date
                description: Policy start date
              PolicyEndDate:
                type: string
                format: date
                description: Policy end date
            required:
              - InsurancePolicyId
              - PolicyNumber
              - PolicyStatus
              - PolicyStartDate
            additionalProperties: false
      additionalProperties: false
    AEInsurancePolicyStatusCodes:
      type: string
      enum:
        - New
        - Renewed
        - Expired
        - Lapsed
        - Cancelled
        - PaidUp
        - Converted
        - Surrendered
        - DeathClaim
        - RiderClaim
      description: |
        The status of the policy, with the following definitions:

        * `New`: New policy issued

        * `Renewed`: The reissuing of the same policy for a subsequent term

        * `Expired`: Policy has been expired by date

        * `Lapsed`: No longer valid policy

        * `Cancelled`: Policy cancelled by insurer or insured

        * `PaidUp`: Policy paid up in full

        * `Converted`: Policy converted to another plan

        * `Surrendered`: Policy has been surrendered

        * `DeathClaim`: Policy paid due to death (only for Life)

        * `RiderClaim`: Rider paid (only for Life)
    AEInsurancePremiumDiscountApplied:
      type: object
      required:
        - DiscountName
        - DiscountAmount
      properties:
        DiscountName:
          type: string
          minLength: 1
          maxLength: 140
          description: The name of the discount applied to the insurance premium
        DiscountPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePercentageValue'
          description: The percentage reduction applied to the insurance premium as part of the discount.
        DiscountAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The monetary value of the discount applied to the insurance premium
      description: Details of discounts applied to the insurance premium
      additionalProperties: false
    AEInsurancePremiumDiscountOffers:
      type: object
      properties:
        Type:
          type: string
          description: The category or type of discount offer available
        Name:
          type: string
          description: The name of the specific discount offer applied or available.
        Description:
          type: string
          description: A brief description of the discount offer, including key details and eligibility requirements.
        Criteria:
          type: string
          description: The conditions that must be met to qualify for the discount offer
        OfferAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total monetary value of the discount offer.
        DiscountPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePercentageValue'
          description: The percentage reduction applied to the insurance premium as part of the discount.
      additionalProperties: false
    AEInsurancePremiumJWE:
      type: string
      description: >-
        Insurance premium data provided as a JWE by the LFI. Please refer to the business rules for a description of the
        approach to decrypting this data.
      example: eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ....
    AEInsurancePremiumProperties:
      type: object
      required:
        - PremiumAmountExcludingVAT
        - VATAmount
        - TotalPremiumAmount
        - PaymentFrequency
      properties:
        Status:
          type: string
          enum:
            - Initial
            - StartingFrom
            - Final
          description: Confirmation whether the premium quoted is an initial premium, starting from, or final.
        TotalDiscountAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total discount amount applied to the final premium amount
        DiscountApplied:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountApplied'
          minItems: 1
          description: Details of the discounts applied
        PremiumAmountExcludingVAT:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The Premium Amount excluding any VAT amount
        VATAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The Premium VAT amount.
        VATPercentage:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceVATPercentage'
          description: The VAT percentage rate charged to the premium.
        TotalPremiumAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The total Premium amount including VAT
        PaymentFrequency:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePaymentFrequency'
          description: The payment frequency the calculated Premium has been based on.
        InstallmentOptions:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePaymentFrequency'
          minItems: 1
          description: The possible Premium instalment frequency options available to the customer
      additionalProperties: false
    AEInsurancePropertyClaimOutcomeCodes:
      type: string
      enum:
        - Ongoing
        - Paid
        - PartiallyPaid
        - Rejected
        - Other
    AEInsuranceQuoteContentsCoverDetails:
      type: object
      required:
        - HighValueContent
      properties:
        DeclaredValueAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Required when the `TotalContentsValue` is `OVER_350K`
        HighValueContent:
          type: boolean
          description: Confirmation whether the customer owns an individual content item that has a value above AED 25,000
        HighValueContentDetails:
          type: array
          items:
            type: object
            properties:
              ItemDescription:
                type: string
                minLength: 1
                maxLength: 140
                description: The description of the high value contents item
              ItemValueAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the high value contents item
              ItemType:
                type: string
                enum:
                  - Appliances
                  - Antiques
                  - Art
                  - Electronics
                  - Furniture
                  - PreciousMetals
                  - RugsOrCarpets
                  - StampCoinOrMedalCollections
                  - Other
                description: Confirmation of the type of high value contents item that will be covered within the insurance policy
              ReceiptsProofOfPurchase:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has the receipt to provide proof of purchase of the high
                  value contents item
              PhotographicOrDocumentaryEvidence:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has photographic or documentary evidence of the high value
                  contents item
              LatestAppraisalReports:
                type: boolean
                description: Indicator to confirm whether the customer an appraisal report of the high value contents item
            required:
              - ItemDescription
              - ItemValueAmount
              - ItemType
            additionalProperties: false
          minItems: 1
          description: Required when the customer has declared that they have a content item with a value above AED 25,000
      description: Required when Cover is ContentsCover
      additionalProperties: false
    AEInsuranceQuoteIdType:
      type: string
      description: A unique identifier assigned to the generated insurance quote by the LFI
    AEInsuranceQuoteImportantQuestions:
      type: object
      required:
        - UnoccupiedOverSixtyDays
      properties:
        PrimaryResidence:
          type: boolean
          description: Confirmation whether the property is the customer's primary residence
        BusinessPurposes:
          type: boolean
          description: Confirmation whether the property will be used for business purposes
        PropertyOccupation:
          type: boolean
          description: Confirmation whether the property will be occupied solely by the customer, their family and Domestic Helper?
        DayTimeOccupation:
          type: boolean
          description: Confirmation whether the home will be occupied during the day time.
        UnoccupiedOverSixtyDays:
          type: boolean
          description: Confirmation whether the property will be left un-occupied for more than 60 days.
      additionalProperties: false
    AEInsuranceQuotePersonalBelongings:
      type: object
      required:
        - TotalPersonalBelongingsValue
        - HighValueBelongings
      properties:
        TotalPersonalBelongingsValue:
          type: string
          enum:
            - UP_TO_25K
            - UP_TO_50K
            - UP_TO_100K
            - UP_TO_150K
            - OVER_150K
          description: The total value of the Personal Belongings to be insured
        DeclaredValueAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Required when the  'TotalPersonalBelongingsValue' is 'OVER_150K'
        HighValueBelongings:
          type: boolean
          description: Confirmation whether the customer owns an individual content item that has a value above AED 10,000
        HighValueBelongingsDetails:
          type: array
          items:
            type: object
            properties:
              ItemDescription:
                type: string
                description: The description of the high value Personal Belongings item
              ItemValueAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the high value Personal Belongings item
              ItemType:
                type: string
                enum:
                  - Watches
                  - Jewellery
                  - Clothes
                  - Luggage
                  - SportsEquipment
                  - PortableElectronics
                  - PhotographicEquipment
                  - MusicalInstruments
                  - Other
                description: >-
                  Confirmation of the type of high value Personal Belongings item that will be covered within the
                  insurance policy
              ReceiptsProofOfPurchase:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has the receipt to provide proof of purchase of the high
                  value Personal Belongings item
              PhotographicOrDocumentaryEvidence:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer has photographic or documentary evidence of the high value
                  Personal Belongings item
              LatestAppraisalReports:
                type: boolean
                description: >-
                  Indicator to confirm whether the customer an appraisal report of the high value Personal Belongings
                  item
            required:
              - ItemDescription
              - ItemValueAmount
              - ItemType
            additionalProperties: false
          description: Required when the customer has declared that they have a content item with a value above AED 10,000
      description: Required when personal belongings cover is included.
      additionalProperties: false
    AEInsuranceQuotePolicyCover:
      type: object
      required:
        - CoverType
        - Description
        - CoverIncludedByDefaultIndicator
      properties:
        CoverId:
          type: string
          description: Insurers internal unique ID for specific cover
        CoverType:
          type: string
          description: The category of Cover provided under the insurance policy
        Description:
          type: string
          description: A description of the cover type
        CoverIncludedByDefaultIndicator:
          type: boolean
          description: Indicates whether this Cover is included in the policy by default
        CoverLimitAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: >-
            Required if PolicyCoverIncluded is true (Yes) to provide confirmation of the maximum financial amount the
            insurer will cover for this specific Cover.
        PolicyFeatures:
          type: string
          description: The benefits or additional details related to the specific policy cover.
        PolicyExcess:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: >-
            Required if PolicyCoverIncluded is true (Yes) to confirm the deductible or out-of-pocket (excess) amount the
            policyholder must pay before the insurer covers the remaining claim.
        CoverInclusionAndExclusionDescriptions:
          type: array
          items:
            type: string
          minItems: 1
          description: Included inclusions and exclusions for cover type.
      additionalProperties: false
    AEInsuranceQuotePreviousApplications:
      type: object
      required:
        - Declined
        - SpecialConditions
        - RenewalRefused
      properties:
        Declined:
          type: boolean
          description: Confirmation whether a previous home insurance application has been declined
        SpecialConditions:
          type: boolean
          description: >-
            Confirmation whether a previous home insurance application was accepted with an increased premium rate
            and/or imposed special condition(s)
        RenewalRefused:
          type: boolean
          description: Confirmation whether the existing home insurance provider has refused to renew the home insurance cover
        Reason:
          type: string
          description: >-
            Required when any response in this object is true to confirm the reason for the decline, the special
            condition imposed or the renewal refusal
      additionalProperties: false
    AEInsuranceQuoteProperties:
      type: object
      required:
        - QuoteId
        - QuoteReference
        - CreationDateTime
        - ServiceRating
        - PolicyIssuanceAllowed
      properties:
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        CreationDateTime:
          type: string
          format: date-time
          description: The date and time at which the quote was created.
        ExpirationDateTime:
          type: string
          format: date-time
          description: >-
            The expiration date of the quote, after which it is no longer valid.  If no date is provided the quote will
            be valid for up to 30 days as per the Standards.
        PlanName:
          type: string
          minLength: 1
          maxLength: 140
          description: The specific name of the insurance plan.
        LevelOfCover:
          type: string
          minLength: 1
          maxLength: 140
          description: The level of insurance Cover offered in the quote
        Commission:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCommission'
          description: >-
            An object containing details of the commission amount that would be payable to the TPP if the User proceeded
            with the insurance application and purchased the policy based on the provided information
        PolicyCover:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuotePolicyCover'
          minItems: 1
          description: >-
            An array containing options for policy cover, which contain information about the cover and benefits
            included in the quoted policies.
        PolicyDocumentsUris:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuoteUri'
          minItems: 1
          description: >-
            A list of URLs linking to policy-related documents, such as terms and conditions, policy wording, or product
            disclosures
        AvailableAddOns:
          type: array
          items:
            type: object
            properties:
              CoverName:
                type: string
                minLength: 1
                maxLength: 70
                description: Name of the insurance cover add-on
              Description:
                type: string
                minLength: 1
                maxLength: 140
                description: Description of the insurance cover add-on
              Amount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Premium value of the insurance cover add-on
              CoverLimit:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the benefit coverage limit that could be paid if a claim was made.
              CoverInclusionAndExclusionDescriptions:
                type: array
                items:
                  type: string
                minItems: 1
                description: Included inclusions and exclusions for cover type.
              PolicyExcess:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the amount that would be deductible from any claim.
            required:
              - CoverName
              - Description
            additionalProperties: false
          minItems: 1
          description: An object containing details of optional add-ons available for the quoted policy
        RequiredDocuments:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceDocumentRequirement'
          minItems: 1
          description: >-
            A list of documents required that must be provided by the User to the LFI to proceed with the policy
            purchase
        DiscountOffers:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountOffers'
          minItems: 1
          description: An object containing details of any discounts or offers applied to the quote
        ServiceRating:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceServiceRating'
          description: An object containing ratings or reviews of the insurer's service quality
        SpecialConditionsApplicable:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceSpecialConditions'
          description: >-
            Provides special conditions or clauses applicable to the policy specified by the LFI, which must be
            displayed to the User if provided.
        PolicyIssuanceAllowed:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker allowed to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker allowed to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker allowed to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        AlternativeBrandName:
          type: string
          description: Provides and alternative brand name where the product is Sharia compliant
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          minProperties: 1
          description: An object containing details of the quoted insurance premium.
      additionalProperties: false
    AEInsuranceQuotePropertyClaims:
      type: object
      required:
        - PreviousClaims
      properties:
        PreviousClaims:
          type: boolean
          description: Confirmation whether the customer has suffered any property losses (claims) in the previous 3 years?
        PreviousClaimsDetails:
          type: array
          items:
            type: object
            properties:
              DateOfClaim:
                type: string
                format: date
                description: Date the property claim was made
              ClaimAmount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The value of the claim
              Reason:
                type: string
                description: Details of the claim made or nature of the loss
              Outcome:
                allOf:
                  - $ref: '#/components/schemas/AEInsurancePropertyClaimOutcomeCodes'
                description: What was the outcome of the claim
            required:
              - DateOfClaim
              - ClaimAmount
              - Reason
              - Outcome
            additionalProperties: false
          description: Required when `PreviousClaims` is true
      description: Details of previous property claims.
      additionalProperties: false
    AEInsuranceQuoteReadApplicationApprovedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - ApplicationApproved
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadApplicationPendingResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - ApplicationPending
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadAvailableResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Available
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadCompletedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Completed
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadCustomerCancelledResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - CustomerCancelled
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadExpiredResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Expired
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadKYCCapturedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - KYCCaptured
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadLFICancelledResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - LFICancelled
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadPaymentRequiredResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - PaymentRequired
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadPendingResponseProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
      properties:
        QuoteStatus:
          type: string
          enum:
            - Pending
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        PremiumTargetDateTime:
          type: string
          format: date-time
          description: >-
            The target date and time at which the insurer will generate a quote premium. Maximum allowed time is 24
            hours from quote resource creation.
      additionalProperties: false
    AEInsuranceQuoteReadPolicyIssuedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - PolicyIssued
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadRejectedResponseProperties:
      type: object
      required:
        - QuoteStatus
      properties:
        QuoteStatus:
          type: string
          enum:
            - Rejected
      allOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteProperties'
    AEInsuranceQuoteReadResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEInsuranceQuoteReadResponseProperties'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEInsuranceQuoteReadResponseProperties:
      type: object
      oneOf:
        - $ref: '#/components/schemas/AEInsuranceQuoteReadPendingResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadAvailableResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadApplicationApprovedResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadApplicationPendingResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadCompletedResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadCustomerCancelledResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadExpiredResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadKYCCapturedResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadLFICancelledResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadPaymentRequiredResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadPolicyIssuedResponseProperties'
        - $ref: '#/components/schemas/AEInsuranceQuoteReadRejectedResponseProperties'
      discriminator:
        propertyName: QuoteStatus
        mapping:
          Pending: '#/components/schemas/AEInsuranceQuoteReadPendingResponseProperties'
          Available: '#/components/schemas/AEInsuranceQuoteReadAvailableResponseProperties'
          ApplicationApproved: '#/components/schemas/AEInsuranceQuoteReadApplicationApprovedResponseProperties'
          ApplicationPending: '#/components/schemas/AEInsuranceQuoteReadApplicationPendingResponseProperties'
          Completed: '#/components/schemas/AEInsuranceQuoteReadCompletedResponseProperties'
          CustomerCancelled: '#/components/schemas/AEInsuranceQuoteReadCustomerCancelledResponseProperties'
          Expired: '#/components/schemas/AEInsuranceQuoteReadExpiredResponseProperties'
          KYCCaptured: '#/components/schemas/AEInsuranceQuoteReadKYCCapturedResponseProperties'
          LFICancelled: '#/components/schemas/AEInsuranceQuoteReadLFICancelledResponseProperties'
          PaymentRequired: '#/components/schemas/AEInsuranceQuoteReadPaymentRequiredResponseProperties'
          PolicyIssued: '#/components/schemas/AEInsuranceQuoteReadPolicyIssuedResponseProperties'
          Rejected: '#/components/schemas/AEInsuranceQuoteReadRejectedResponseProperties'
      additionalProperties: false
    AEInsuranceQuoteReferenceType:
      type: string
      description: The unique quote reference number generated by the TPP for tracking the quote
    AEInsuranceQuoteResponseAvailableProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
        - CreationDateTime
        - ServiceRating
        - PolicyIssuanceAllowed
      properties:
        QuoteStatus:
          type: string
          enum:
            - Available
          description: The current status of the quote
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        CreationDateTime:
          type: string
          format: date-time
          description: The date and time at which the quote was created.
        ExpirationDateTime:
          type: string
          format: date-time
          description: >-
            The expiration date of the quote, after which it is no longer valid.  If no date is provided the quote will
            be valid for up to 30 days as per the Standards.
        PlanName:
          type: string
          minLength: 1
          maxLength: 140
          description: The specific name of the insurance plan.
        LevelOfCover:
          type: string
          minLength: 1
          maxLength: 140
          description: The level of insurance Cover offered in the quote
        Commission:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCommission'
          description: >-
            An object containing details of the commission amount that would be payable to the TPP if the User proceeded
            with the insurance application and purchased the policy based on the provided information
        PolicyCover:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuotePolicyCover'
          minItems: 1
          description: >-
            An array containing options for policy cover, which contain information about the cover and benefits
            included in the quoted policies.
        PolicyDocumentsUris:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceQuoteUri'
          minItems: 1
          description: >-
            A list of URLs linking to policy-related documents, such as terms and conditions, policy wording, or product
            disclosures
        AvailableAddOns:
          type: array
          items:
            type: object
            properties:
              CoverName:
                type: string
                minLength: 1
                maxLength: 70
                description: Name of the insurance cover add-on
              Description:
                type: string
                minLength: 1
                maxLength: 140
                description: Description of the insurance cover add-on
              Amount:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: Premium value of the insurance cover add-on
              CoverLimit:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the benefit coverage limit that could be paid if a claim was made.
              CoverInclusionAndExclusionDescriptions:
                type: array
                items:
                  type: string
                minItems: 1
                description: Included inclusions and exclusions for cover type.
              PolicyExcess:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: When applicable, the amount that would be deductible from any claim.
            required:
              - CoverName
              - Description
            additionalProperties: false
          minItems: 1
          description: An object containing details of optional add-ons available for the quoted policy
        RequiredDocuments:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceDocumentRequirement'
          minItems: 1
          description: >-
            A list of documents required that must be provided by the User to the LFI to proceed with the policy
            purchase
        DiscountOffers:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePremiumDiscountOffers'
          minItems: 1
          description: An object containing details of any discounts or offers applied to the quote
        ServiceRating:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceServiceRating'
          description: An object containing ratings or reviews of the insurer's service quality
        SpecialConditionsApplicable:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceSpecialConditions'
          description: >-
            Provides special conditions or clauses applicable to the policy specified by the LFI, which must be
            displayed to the User if provided.
        PolicyIssuanceAllowed:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker allowed to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker allowed to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker allowed to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        AlternativeBrandName:
          type: string
          description: Provides and alternative brand name where the product is Sharia compliant
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          minProperties: 1
          description: An object containing details of the quoted insurance premium.
      additionalProperties: false
    AEInsuranceQuoteResponsePendingProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteId
        - QuoteReference
      properties:
        QuoteStatus:
          type: string
          enum:
            - Pending
          description: The current status of the quote
        QuoteId:
          $ref: '#/components/schemas/AEInsuranceQuoteIdType'
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        PremiumTargetDateTime:
          type: string
          format: date-time
          description: >-
            The target date and time at which the insurer will generate a quote premium. Maximum allowed time is 24
            hours from quote resource creation.
      additionalProperties: false
    AEInsuranceQuoteTypeOfCover:
      type: string
      enum:
        - BuildingsOnly
        - ContentsOnly
        - BuildingsAndContents
      description: The type of Home or Renter insurance cover required
    AEInsuranceQuoteUri:
      type: string
      format: uri
    AEInsuranceQuoteVerifiedIdentityProperties:
      type: object
      properties:
        EmiratesId:
          type: object
          properties:
            EmiratesIdNumber:
              type: string
              pattern: ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$
              description: Emirates identification number
            EmiratesIdExpiryDate:
              type: string
              format: date
              description: Emirates ID expiry date
          description: Verified Emirates ID details, captured by the TPP.
          additionalProperties: false
        Passport:
          type: object
          properties:
            PassportNumber:
              type: string
              pattern: ^[A-Z0-9]+$
              description: Passport number
            IssuingCountry:
              type: string
              pattern: ^[A-Z]{3,3}$
              description: The country the passport is issued by.
            NameOnPassport:
              type: string
              minLength: 1
              maxLength: 140
              description: The applicant, policyholder or insured person name as detailed on their passport
            IssueDate:
              type: string
              format: date
              description: The passport issue date
            ExpiryDate:
              type: string
              format: date
              description: The passport expiry date
          description: Verified Passport details, captured by the TPP.
          additionalProperties: false
        Visa:
          type: object
          properties:
            VisaType:
              type: string
              enum:
                - Employment
                - Residence
                - Business
                - Investor
                - Freelance
                - VirtualWork
                - Retirement
                - Student
                - Family
                - Green
                - Golden
                - Blue
              description: The type of visa issues, based on an available code list
            VisaNumber:
              type: string
              pattern: ^[0-9]+$
              description: Visa number
            IssueDate:
              type: string
              format: date
              description: The visa issue date
            ExpiryDate:
              type: string
              format: date
              description: The visa expiry date
            IssuingEmirate:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmirate'
              description: Emirate that issued the visa
          description: Verified Passport details, captured by the TPP.
          additionalProperties: false
      additionalProperties: false
    AEInsuranceRelationshipToInsuredPartyCodes:
      type: string
      enum:
        - Self
        - Spouse
        - Child
        - Parent
        - Other
      description: Relationship to proposer
    AEInsuranceResourceIdentifierType:
      type: string
      minLength: 1
      maxLength: 128
      format: uuid
      description: Unique identifier for a given insurance policy
    AEInsuranceSafetySecurityFeatures:
      type: object
      required:
        - InDesignatedFloodZone
        - WaterLeakDetectionSystems
        - BurglarAlarm
        - SurveillanceCameras
        - DoorCamera
        - SecurityGuards
        - SmokeDetectors
        - FireExtinguishers
        - SprinklerSystem
        - DeadboltLocks
        - WindowLocks
      properties:
        DistanceFromShoreline:
          type: string
          description: 'The shortest distance from the insured property to the nearest coastline, measured in meters '
        DistanceAboveSeaLevel:
          type: string
          description: The elevation of the insured property above sea level, measured in meters
        InDesignatedFloodZone:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured is in a Designated Flood Zone
        WaterLeakDetectionSystems:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Water Leak Detection Systems
        BurglarAlarm:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has a burglar installed
        SurveillanceCameras:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Surveillance or Security Cameras
        DoorCamera:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has a door camera
        SecurityGuards:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Security Guards employed
        SmokeDetectors:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Smoke Detectors installed
        FireExtinguishers:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Fire Extinguishers
        SprinklerSystem:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Sprinkler System installed
        DeadboltLocks:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Dead bolt Locks installed
        WindowLocks:
          type: boolean
          description: Confirmation whether the property to be insured or is being insured has Window Locks installed
      additionalProperties: false
    AEInsuranceSalutationCodes:
      type: string
      enum:
        - Mr
        - Mrs
        - Ms
        - Miss
        - Dr
        - Prof
        - Other
    AEInsuranceServiceRating:
      type: object
      required:
        - FinancialStrength
        - ClaimsServicePerformance
        - CustomerServiceComplaintHandling
        - PolicyDigitalConvenience
      properties:
        FinancialStrength:
          type: object
          properties:
            SolvencyRatio:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                The Solvency Capital Requirement (SCR) is a measure used to determine the minimum amount of capital that
                insurance companies must hold to ensure they can meet their obligations even under extreme financial
                stress.
            YearsInBusiness:
              type: integer
              description: >-
                The length of time the insurer LFI has been licensed in the UAE market to provide the type of insurance
                requested in the quote
          required:
            - SolvencyRatio
            - YearsInBusiness
          description: >-
            Key indicators to assess the financial strength and stability of the insurer LFI in terms of their ability
            to meet obligations to policyholders.
          additionalProperties: false
        ClaimsServicePerformance:
          type: object
          properties:
            AverageClaimSettlementTime:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                Represents the average number of calendar days taken by the insurer to settle (pay) a claim, measured
                from the date the claim was filed, for the specific type of insurance coverage requested in this quote.
            ClaimSettlementRatio:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                Indicates the percentage of claims successfully paid by the insurer (LFI) out of the total number of
                claims filed for the type of insurance coverage requested in this quote.
            ClaimRejectionRate:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                Represents the percentage of claims that were rejected or denied by the insurer (LFI) relative to the
                total number of claims received for the type of insurance coverage requested in this quote.
            ClaimsPaymentCapacityRatio:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                Indicates the insurer’s short-term ability to meet claims obligations using its liquid assets. The
                calculation is: Liquid assets divided by total claims payable.
          required:
            - AverageClaimSettlementTime
            - ClaimSettlementRatio
            - ClaimRejectionRate
            - ClaimsPaymentCapacityRatio
          description: >-
            Provides performance metrics related to the insurer’s claims handling process for the specified insurance
            type.
          additionalProperties: false
        CustomerServiceComplaintHandling:
          type: object
          properties:
            CustomerComplaintRate:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceServiceRatingRateOrRatio'
              description: >-
                Indicates the number of customer complaints received per 1,000 active policies for the type of insurance
                requested in this quote.
            ComplaintResolutionTime:
              type: integer
              description: >-
                Represents the average number of calendar days taken to resolve a customer complaint, measured from the
                date it was lodged, for the type of insurance requested in this quote.
            NetPromoterScore:
              type: integer
              minimum: -100
              maximum: 100
              description: >-
                A customer satisfaction metric that reflects how likely customers are to recommend the insurer (LFI) to
                others for the type of insurance requested in this quote. Scores range from -100 to +100.
          required:
            - CustomerComplaintRate
            - ComplaintResolutionTime
            - NetPromoterScore
          description: >-
            Represents key customer service metrics and complaint handling indicators for the specific type of insurance
            requested in the quote. These measures reflect the insurers responsiveness, resolution efficiency, and
            customer sentiment.
          additionalProperties: false
        PolicyDigitalConvenience:
          type: object
          properties:
            InstantDigitalPolicyIssuance:
              type: boolean
              description: >-
                Indicates whether the insurer supports instant or fully digital policy issuance for the specific type of
                insurance requested in the quote. A value of true means the policy can be issued immediately online upon
                purchase.
            DigitalClaimsFiling:
              type: boolean
              description: >-
                Specifies whether customers can file claims digitally at any time (24/7) for the insurance type
                associated with the quote. A value of true indicates full-time online claim filing availability.
            SelfServiceOptions:
              type: array
              items:
                type: string
                enum:
                  - MobileApp
                  - WebPortal
                  - Other
              minItems: 1
              description: >-
                Confirms whether customers have access to digital self-service tools (e.g., mobile app or web portal) to
                manage the policy for the insurance type quoted. This includes functions like viewing, updating, or
                renewing the policy.  
            CustomerSupportAvailability:
              type: array
              items:
                type: string
                enum:
                  - LiveChat
                  - CallCenter
                  - InPerson
                  - MobileAppChat
                  - Email
                  - WhatsApp
                  - Chatbot
                  - MessagingApp
                  - Other
              minItems: 1
              description: Indicates the customer support channels available to the User.
          required:
            - InstantDigitalPolicyIssuance
            - DigitalClaimsFiling
            - SelfServiceOptions
            - CustomerSupportAvailability
          description: >-
            Contains indicators related to the insurer’s digital capabilities and customer convenience features for the
            specific type of insurance requested in the quote.
          additionalProperties: false
      additionalProperties: false
    AEInsuranceServiceRatingRateOrRatio:
      type: number
      maximum: 100
      multipleOf: 0.1
      description: Provides a rate or ratio as decimal, to one decimal place.
    AEInsuranceSpecialConditions:
      type: string
      minLength: 1
      maxLength: 500
    AEInsuranceSupplementaryData:
      type: object
      description: |-
        Additional data sent by the TPP to finalise the quote ready for completion by the User
        at the LFI
      additionalProperties: false
    AEInsuranceVATPercentage:
      type: number
      format: decimal
      minimum: 0
      maximum: 100
    AEInsuranceVisaProperties:
      type: object
      required:
        - VisaType
        - VisaNumber
      properties:
        VisaType:
          type: string
          enum:
            - Employment
            - Residence
            - Business
            - Investor
            - Freelance
            - VirtualWork
            - Retirement
            - Student
            - Family
            - Green
            - Golden
            - Blue
          description: The type of visa issues, based on an available code list
        VisaNumber:
          type: string
          pattern: ^[0-9]+$
          description: Visa number
        IssueDate:
          type: string
          format: date
          description: The visa issue date
        ExpiryDate:
          type: string
          format: date
          description: The visa expiry date
        IssuingEmirate:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmirate'
          description: Emirate that issued the visa
      additionalProperties: false
    AEInsuranceWeightType:
      type: integer
    AELifeInsuranceLifeStyleProperties:
      type: object
      required:
        - Alcohol
        - Smoking
      properties:
        Alcohol:
          type: object
          properties:
            ConsumeAlcohol:
              type: boolean
              description: Indicates whether the insured individual consumes alcohol
            AlcoholUnitsPerWeek:
              type: integer
              description: The average number of alcohol units consumed per week
          required:
            - ConsumeAlcohol
          description: Questions about whether the individual consumes alcohol
          additionalProperties: false
        Smoking:
          type: object
          properties:
            SmokeCurrent:
              type: boolean
              description: 'Indicates whether the insured individual is a current smoker '
            TypeOfSmoking:
              allOf:
                - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
              description: Specifies the type of smoking product currently used
            SmokingQuantityPerDay:
              type: integer
              description: The average number of smoking products consumed per day.
            SmokePrevious:
              type: boolean
              description: 'Indicates whether the insured individual previously smoker '
            TypeOfPreviousSmoking:
              allOf:
                - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
              description: Specifies the type of smoking product previously used by the insured individual
            PreviousSmokingQuantityPerDay:
              type: integer
              description: The average number of smoking products consumed per day before quitting.
            HowLongSmoked:
              type: object
              properties:
                SmokingYears:
                  type: integer
                  description: The total number of years the insured individual has smoked or previously smoked.
                SmokingMonths:
                  type: integer
                  description: >-
                    The total number of months the insured individual has smoked or previously smoked, in addition to
                    full years.
                WhenStoppedSmoking:
                  type: string
                  description: The date or year when the insured individual stopped smoking.
                WhyStoppedSmoking:
                  type: string
                  description: The reason for quitting smoking (e.g., health concerns, doctor’s recommendation, lifestyle change).
              description: How long has the individual smoked in years and months
              additionalProperties: false
          required:
            - SmokeCurrent
            - SmokePrevious
          additionalProperties: false
      additionalProperties: false
    AELifeInsurancePolicies1:
      type: object
      required:
        - Policies
      properties:
        Policies:
          type: array
          items:
            type: object
            properties:
              InsurancePolicyId:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
                description: Unique identifier for a given insurance policy
                example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
              PolicyNumber:
                type: string
                description: The policy number assigned by the LFI.
              PolicyStatus:
                allOf:
                  - $ref: '#/components/schemas/AELifeInsurancePolicyStatusCodes'
                description: The current status of the policy.
              PolicyStartDate:
                type: string
                format: date
                description: Policy start date
              PolicyEndDate:
                type: string
                description: The date on which cover ends.
            required:
              - InsurancePolicyId
              - PolicyNumber
              - PolicyStatus
              - PolicyStartDate
            additionalProperties: false
      additionalProperties: false
    AELifeInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          type: object
          properties:
            Salutation:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
              description: The salutation of the individual or customer.
            FirstName:
              type: string
              minLength: 1
              maxLength: 70
              description: First Name of the individual.
            MiddleName:
              type: string
              minLength: 1
              maxLength: 70
              description: Middle Name of the individual.
            LastName:
              type: string
              minLength: 1
              maxLength: 70
              description: Last Name (Surname) of the individual.
            Gender:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceGender'
              description: The gender of the customer
            DateOfBirth:
              type: string
              format: date
              description: Date of birth of the individual.
            MaritalStatus:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
              description: The marital status of the individual.
            ResidentialLocation:
              type: string
              description: Residential Location of the individual.
            LandlineNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              pattern: ^\+?[1-9]\d{1,14}$
              description: The landline telephone number of the individual.
            Nationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
            PrimaryLanguage:
              allOf:
                - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
              description: Primary language spoken by the insurance policy customer
            MobileNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              description: The mobile telephone number of the individual.
            EmailAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
              description: Email address of the individual.
            Address:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceAddress'
              minItems: 1
              description: Customer's address details
            PreviousNameDetails:
              type: object
              properties:
                MaidenName:
                  type: string
                  description: The maiden name of the customer
                AliasName:
                  type: string
                  description: >-
                    Any name, whether legal or casual, that the customer uses or has used on any forms in addition to
                    their birth name.  This includes shortened versions of their name.
              description: >-
                Required if the applicant or policy was known by a previous name. One of MaidenName or AliasName must be
                populated. This property can be omitted if the customer confirms they held no previous names.
              additionalProperties: false
            SecondNationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: Confirmation of the policyholder's second nationality when they have dual nationality
            CountryOfBirth:
              type: string
              pattern: ^[A-Z]{3}$
              description: Place of Birth of the Insured Person
            Employment:
              type: object
              properties:
                Profession:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The individuals profession.
                ProfessionDescription:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: A description of the individual's Profession
                JobTitle:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Individual's job title
                Designation:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: An individual's professional qualifications, special licenses and certifications
                NatureOfEmployerBusiness:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: Nature of employer business
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
                EmployerAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceAddressProperties'
                  description: The address details of the individual's employer
                EmploymentStatus:
                  $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
                StartDate:
                  type: string
                  format: date
                  description: Individual's employment start date
                SourceOfIncome:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Source of the individual's income as a free form description
                MonthlyIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Monthly income amount and currency
                AnnualIncomeAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: Annual income amount and currency
                AdditionalCompensation:
                  type: array
                  items:
                    type: object
                    properties:
                      Description:
                        type: string
                        description: Free form description of the additional compensation
                      CompensationAmount:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: The amount of the additional compensation
                    required:
                      - Description
                      - CompensationAmount
                    additionalProperties: false
                  minItems: 1
                  description: Provided when the individual has additional income.
                SalaryBand:
                  type: string
                  enum:
                    - NoSalary
                    - BelowAED000PM
                    - AED4000ToAED12000PM
                    - AED12001AndAbove
              required:
                - MonthlyIncomeAmount
              minProperties: 1
              description: >-
                Employment information for the policyholder. Requires `ReadCustomerDetail` permission to be granted by
                the User.
              additionalProperties: false
          required:
            - FirstName
            - LastName
            - Gender
            - DateOfBirth
            - Nationality
            - MobileNumber
            - EmailAddress
            - Address
          description: >-
            Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User, except
            for `Employment` which requires `ReadCustomerDetail`.
          additionalProperties: false
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          type: object
          properties:
            Policy:
              type: object
              properties:
                CoverType:
                  type: string
                  enum:
                    - Sole
                    - Joint
                  description: Indicates whether life Cover is required for a single person or jointly for multiple individuals
                IsPolicyholderLifeAssured:
                  type: boolean
                  description: >-
                    True (Yes) when that the Policyholder (customer) is also the Life Assured or one of the Life
                    Assured, or false (No) when confirmation that the Policyholder and the Life Assured(s) are different
                RelationshipToLifeInsured:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
                  description: >-
                    Required when the IsPolicyholderLifeAssured is false (No) to confirm the relationship between the
                    Policyholder and Insured Person.
                ReasonDifferent:
                  type: string
                  description: >-
                    Required when RelationshipToLifeInsured is Other to confirm that there is an insurable interest
                    between the Policyholder and the Life Assured
                TypeOfLifeInsurance:
                  type: string
                  enum:
                    - WholeLifeInsurance
                    - LevelTermInsurance
                    - DecreasingTermInsurance
                  description: The type of life insurance required
                InsurancePurpose:
                  type: string
                  enum:
                    - PersonalCover
                    - FamilyProtection
                    - MortgageCover
                  description: The purpose of the life insurance cover
                SumAssuredAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The sum assured amount and currency.
                PolicyTerm:
                  type: string
                  pattern: ^P(\d+Y)?(\d+M)?$
                  format: duration
                  description: The insurance policy term in years and months, using ISO 8601 compatible duration format
                  example: P2Y3M
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                IsFinanceAgainstPolicy:
                  type: boolean
                  description: Confirmation whether insurance cover is being taken out in connection with finance / mortgage
                SurrenderValueAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The amount the policyholder will receive if they terminate the policy before its maturity.
                MaturityValueAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The total amount payable to the policyholder if the policy reaches the end of its term.
                CashValueAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: >-
                    The accumulated value within a permanent life insurance policy that can be withdrawn or borrowed
                    against.
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                ProductName:
                  type: string
                  description: Business name of the policy product as provided externally to the customer.
                PolicyEndDate:
                  type: string
                  format: date
                  description: The date when the coverage will or has ended.
                PolicyExcess:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: When applicable, the amount that would be deductible from any claim.
                PolicyCoverAndBenefits:
                  type: array
                  items:
                    type: object
                    properties:
                      CoverType:
                        type: string
                        description: Type of cover as defined in company systems.
                      Description:
                        type: string
                        description: Description of the cover / benefit.
                      Required:
                        type: boolean
                        description: >-
                          To confirm whether the cover or benefit is required as part of the base insurance policy or is
                          optional.
                      CoverLimit:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                      CoverInclusionsAndExclusions:
                        type: array
                        items:
                          type: object
                          properties:
                            InclusionAndExclusionDescription:
                              type: string
                              description: Description of the inclusion or exclusion.
                          required:
                            - InclusionAndExclusionDescription
                          additionalProperties: false
                        minItems: 1
                        description: included inclusions and exclusions for cover type.
                      CoverExcess:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the amount that would be deductible from any claim.
                      CoverID:
                        type: string
                        description: Insurers internal unique ID for specific cover.
                    required:
                      - CoverType
                      - Description
                      - Required
                    additionalProperties: false
                  minItems: 1
                  description: Cover and benefits provided by the policy.
                PolicyPurchaseChannelType:
                  type: string
                  enum:
                    - Direct
                    - Agent
                    - Broker
                    - Bank
                    - InvFinInst
                    - TPA
                    - OnlineInsideUAE
                    - OnlineOutsideUAE
                    - Aggregation
                    - Outside
                    - Other
                  description: Sales channel of policy.
              required:
                - CoverType
                - IsPolicyholderLifeAssured
                - TypeOfLifeInsurance
                - InsurancePurpose
                - SumAssuredAmount
                - PolicyStartDate
                - IsFinanceAgainstPolicy
                - Takaful
                - ProductName
                - PolicyCoverAndBenefits
                - PolicyPurchaseChannelType
              description: Details of policy
              additionalProperties: false
            InsuredParties:
              type: array
              items:
                type: object
                properties:
                  Salutation:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                    description: The salutation of the individual or customer.
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  MiddleName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Middle Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  MaritalStatus:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                    description: The marital status of the individual.
                  ResidentialLocation:
                    type: string
                    description: Residential Location of the individual.
                  MobileNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    description: The mobile telephone number of the individual.
                  LandlineNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    pattern: ^\+?[1-9]\d{1,14}$
                    description: The landline telephone number of the individual.
                  EmailAddress:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                    description: Email address of the individual.
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  PrimaryLanguage:
                    allOf:
                      - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                    description: Primary language spoken by the insurance policy customer
                  Address:
                    type: array
                    items:
                      $ref: '#/components/schemas/AEInsuranceAddress'
                    minItems: 1
                    description: Customer's address details
                  PreviousNameDetails:
                    type: object
                    properties:
                      MaidenName:
                        type: string
                        description: The maiden name of the customer
                      AliasName:
                        type: string
                        description: >-
                          Any name, whether legal or casual, that the customer uses or has used on any forms in addition
                          to their birth name.  This includes shortened versions of their name.
                    minProperties: 1
                    description: >-
                      Required if the applicant or policy was known by a previous name.  One of MaidenName or AliasName
                      must be populated. This property can be omitted if the customer confirms they held no previous
                      names.
                    additionalProperties: false
                  SecondNationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: Confirmation of the policyholder's second nationality when they have dual nationality
                  CountryOfBirth:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: Country of birth of the insured person expressed as an ISO 3166 3 character code.
                  Identity:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
                    description: Identification details of the policyholder.
                  Employment:
                    type: object
                    properties:
                      EmploymentType:
                        type: string
                        enum:
                          - PrivateSalaried
                          - FederalGovernment
                          - SelfEmployed
                          - Retired
                          - NotEmployed
                          - Other
                        description: Individual's employment type
                      JobTitle:
                        type: string
                        description: Individual's job title
                      EmployerName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Employer name.
                      NatureOfEmployerBusiness:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Nature of employer business
                      EmploymentStartDate:
                        type: string
                        format: date
                        description: Individual's employment start date
                      MonthlyIncome:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: Monthly income amount and currency
                      AnnualIncome:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: Annual income amount and currency
                    description: Customer employment details
                    minProperties: 1
                    additionalProperties: false
                  LifeStyle:
                    type: object
                    properties:
                      Alcohol:
                        type: object
                        properties:
                          ConsumeAlcohol:
                            type: boolean
                            description: Indicates whether the insured individual consumes alcohol
                          AlcoholUnitsPerWeek:
                            type: integer
                            description: The average number of alcohol units consumed per week
                        required:
                          - ConsumeAlcohol
                        description: Questions about whether the individual consumes alcohol
                        additionalProperties: false
                      Smoking:
                        type: object
                        properties:
                          SmokeCurrent:
                            type: boolean
                            description: 'Indicates whether the insured individual is a current smoker '
                          TypeOfSmoking:
                            allOf:
                              - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
                            description: Specifies the type of smoking product currently used
                          SmokingQuantityPerDay:
                            type: integer
                            description: The average number of smoking products consumed per day.
                          SmokePrevious:
                            type: boolean
                            description: 'Indicates whether the insured individual previously smoker '
                          TypeOfPreviousSmoking:
                            allOf:
                              - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
                            description: Specifies the type of smoking product previously used by the insured individual
                          PreviousSmokingQuantityPerDay:
                            type: integer
                            description: The average number of smoking products consumed per day before quitting.
                          HowLongSmoked:
                            type: object
                            properties:
                              SmokingYears:
                                type: integer
                                description: The total number of years the insured individual has smoked or previously smoked.
                              SmokingMonths:
                                type: integer
                                description: >-
                                  The total number of months the insured individual has smoked or previously smoked, in
                                  addition to full years.
                              WhenStoppedSmoking:
                                type: string
                                description: The date or year when the insured individual stopped smoking.
                              WhyStoppedSmoking:
                                type: string
                                description: >-
                                  The reason for quitting smoking (e.g., health concerns, doctor’s recommendation,
                                  lifestyle change).
                            description: How long has the individual smoked in years and months
                            additionalProperties: false
                        required:
                          - SmokeCurrent
                          - SmokePrevious
                        additionalProperties: false
                    description: >-
                      Details of the lifestyle declared by each insured persons. Omitted if not available or stored by
                      the LFI.
                    minProperties: 1
                    additionalProperties: false
                required:
                  - FirstName
                  - LastName
                  - Gender
                  - DateOfBirth
                additionalProperties: false
              minItems: 1
              description: Details of persons included in insurance policy.
            FinanceAgainstPolicy:
              type: object
              properties:
                FinanceProvider:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The name of the financial institution providing the finance.
                FinanceDate:
                  type: string
                  format: date
                  description: The start date of the finance
                FinanceAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The amount of the finance
                ValueOfFinanceAgainstPolicyAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The value of the life insurance policy that is secured against the finance
              minProperties: 1
              description: >-
                Details of any finance associated with life insurance policy. Omitted if policy is not secured against
                finance or details not held.
              additionalProperties: false
            Riders:
              type: array
              items:
                type: object
                properties:
                  Name:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: >-
                      The name of an optional rider (additional coverage) added to the policy or that can be added to
                      the policy
                  PremiumAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: The additional premium amount charged for including a specific rider in the policy.
                required:
                  - Name
                additionalProperties: false
              description: Details of optional riders added to the life insurance policy. Omitted if no policy riders are included.
            Beneficiaries:
              type: array
              items:
                type: object
                properties:
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  MobileNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    description: The mobile telephone number of the individual.
                  RelationshipToPolicyholder:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
                    description: The relationship to the policyholder.
                required:
                  - FirstName
                  - LastName
                  - MobileNumber
                  - RelationshipToPolicyholder
                additionalProperties: false
              minItems: 1
              description: Details of policy beneficiaries. Omitted if no beneficiaries are included in the policy
          required:
            - Policy
            - InsuredParties
          description: Details of the insurance product. Requires `ReadInsuranceProduct` permission to be granted by the User.
          additionalProperties: false
        Claims:
          type: object
          properties:
            Summary:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceDataSharingClaimsSummaryProperties'
              minItems: 1
              description: >-
                Summary of previous claims. `NumberOfPreviousMonths` value must appear only once.


                If no claims have been made then an array element with `NumberOfPreviousMonths` set to zero must be
                provided, and all claim amounts must be set to zero, to provide a positive assertion that no claims have
                been made. Currency must be set to AED for this case.
            ClaimsHistory:
              type: array
              items:
                type: object
                properties:
                  ClaimUniqueID:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: Unique reference that identifies the claim
                  ClaimDate:
                    type: string
                    format: date
                    description: The original date the claim was submitted.
                  TotalGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: >-
                      As per CBUAE scheme, total gross claim amount including Direct + Third party + Coinsurance /
                      deductible + Loss Adjusters + VAT.
                  ClaimPayments:
                    type: array
                    items:
                      type: object
                      properties:
                        Currency:
                          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                        Amount:
                          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        PaymentDate:
                          type: string
                          format: date
                          description: The date on which the claim payment was made.
                      required:
                        - Currency
                        - Amount
                        - PaymentDate
                      additionalProperties: false
                    minItems: 1
                    description: The amounts paid with amount, currency, and date.
                  DeductibleGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Deductible and co-insurance amount paid by customer.
                  PolicyClaimedBenefits:
                    type: array
                    items:
                      type: object
                      properties:
                        ClaimedBenefitType:
                          type: string
                        ClaimedBenefitDescription:
                          type: string
                      required:
                        - ClaimedBenefitType
                        - ClaimedBenefitDescription
                      additionalProperties: false
                    description: All the claimed policy benefits.
                  ClaimApprovalDate:
                    type: string
                    format: date
                    description: The most recent approval date for any portion of the claim.
                  ClaimLastUpdateDate:
                    type: string
                    format: date
                    description: Last update date of the claim.
                  DirectGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of the claim paid directly.
                  ThirdPartyGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of claim to be paid via third party insurance company.
                  ThirdPartyRecoveryCompany:
                    type: string
                    description: Name of recovery third party insurance company.
                  ThirdPartyRecoveryStatus:
                    type: string
                    enum:
                      - Approved
                      - Reopened
                      - RecoveryOpened
                      - Paid
                      - RecoveryReopenedAndClaimClosed
                      - Rejected
                      - InProgress
                    description: Status of recovery.
                  LossAdjusterGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Loss Adjusters fees on above claims.
                  OutstandingPayAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Claim payment amount outstanding.
                  Status:
                    type: string
                    enum:
                      - Open
                      - Outstanding
                      - Closed
                      - Reopened
                      - Cancelled
                      - Deleted
                      - Rejected
                    description: |-
                      The status of the claim, based on the following CBUAE standard definitions:

                      * `Open`: Once the claim is submitted.

                      * `Outstanding`: The claim is under processing.

                      * `Closed`: Once the claim is settled & closed.

                      * `Reopened`: The claim is reopened.

                      * `Cancelled`: The claim cancelled.

                      * `Deleted`: The claim entered incorrectly and deleted.

                      * `Rejected`: Company rejected the claim.
                  IncidentStartDate:
                    type: string
                    format: date
                    description: Start date of the incident.
                required:
                  - ClaimUniqueID
                  - ClaimDate
                  - TotalGrossClaimAmount
                  - PolicyClaimedBenefits
                  - ClaimLastUpdateDate
                  - Status
                  - IncidentStartDate
                additionalProperties: false
              minItems: 1
              description: Claims history. Only required if claims have been made against the policy.
          required:
            - Summary
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
          additionalProperties: false
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AELifeInsurancePolicyStatusCodes:
      type: string
      enum:
        - New
        - Renewed
        - Expired
        - Lapsed
        - Cancelled
        - PaidUp
        - Converted
        - Surrendered
        - DeathClaim
        - RiderClaim
        - InForce
    AELifeInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                CoverType:
                  type: string
                  enum:
                    - Sole
                    - Joint
                  description: Indicates whether life Cover is required for a single person or jointly for multiple individuals
                IsPolicyholderLifeAssured:
                  type: boolean
                  description: >-
                    True (Yes) when that the Policyholder (customer) is also the Life Assured or one of the Life
                    Assured, or false (No) when confirmation that the Policyholder and the Life Assured(s) are different
                RelationshipToLifeInsured:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
                  description: >-
                    Required when the IsPolicyholderLifeAssured is false (No) to confirm the relationship between the
                    Policyholder and Insured Person.
                ReasonDifferent:
                  type: string
                  description: >-
                    Required when RelationshipToLifeInsured is Other to confirm that there is an insurable interest
                    between the Policyholder and the Life Assured
                TypeOfLifeInsurance:
                  type: string
                  enum:
                    - WholeLifeInsurance
                    - LevelTermInsurance
                    - DecreasingTermInsurance
                  description: The type of life insurance required
                InsurancePurpose:
                  type: string
                  enum:
                    - PersonalCover
                    - FamilyProtection
                    - MortgageCover
                  description: The purpose of the life insurance cover
                SumAssuredAmount:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                  description: The sum assured amount and currency.
                  additionalProperties: false
                PolicyTerm:
                  type: string
                  pattern: ^P(\d+Y)?(\d+M)?$
                  format: duration
                  description: The insurance policy term in years and months, using ISO 8601 compatible duration format
                  example: P2Y3M
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                IsFinanceAgainstPolicy:
                  type: boolean
                  description: Confirmation whether insurance cover is being taken out in connection with a finance / mortgage
                FrequencyPremiumPayment:
                  type: string
                  enum:
                    - Annually
                    - OneTime
                    - Monthly
                    - Quarterly
                    - BiAnnual
                    - Limited
                    - Other
                  description: Frequency of premium payments.
                PremiumPaymentTerm:
                  type: string
                  pattern: ^P(\d+Y)?(\d+M)?$
                  description: Term of payments.
                RequiredAddons:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: Required add-ons to be included in the quote based on Cover Name.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            InsuredParties:
              type: array
              items:
                type: object
                properties:
                  RelationshipToPolicyholder:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
                    description: The relationship to the policyholder.
                  Salutation:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                    description: The salutation of the individual or customer.
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  MiddleName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Middle Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  MaritalStatus:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                    description: The marital status of the individual.
                  ResidentialLocation:
                    type: string
                    description: Residential Location of the individual.
                  MobileNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    description: The mobile telephone number of the individual.
                  LandlineNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    pattern: ^\+?[1-9]\d{1,14}$
                    description: The landline telephone number of the individual.
                  EmailAddress:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                    description: Email address of the individual.
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  PrimaryLanguage:
                    allOf:
                      - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                    description: Primary language spoken by the insurance policy customer
                  Address:
                    type: array
                    items:
                      type: object
                      properties:
                        AddressType:
                          type: string
                          enum:
                            - Billing
                            - Business
                            - Correspondence
                            - DeliveryTo
                            - MailTo
                            - POBox
                            - Postal
                            - Permanent
                            - Residential
                            - Statement
                            - Other
                          description: The type of address.
                        AddressLine:
                          type: array
                          items:
                            $ref: '#/components/schemas/AEInsuranceAddressLine'
                          minItems: 1
                          maxItems: 7
                          description: >-
                            Information that locates and identifies a specific address for a transaction entry, that is
                            presented in free format text.


                            This value should be used where the address is provided or stored as a single string.
                        BuildingNumber:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The unit, apartment, or villa number within a building or community
                        BuildingName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of the building or house.
                        Floor:
                          type: string
                          minLength: 1
                          maxLength: 70
                          description: Floor or storey within a building.
                        StreetName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The name of the street or road where the property is located
                        DistrictName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The district, community, or neighbourhood where the property is located
                        PostBox:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The P.O. Box number assigned to the recipient for mail delivery
                        TownName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of a built-up area, such as a town or city
                        CountrySubDivision:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceEmirate'
                          description: >-
                            Country subdivision, such as state or province. This is the Emirate where the address is
                            registered.
                        Country:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceCountryCode'
                          description: >-
                            The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                            code.
                      description: The template for adding optional properties.
                      additionalProperties: false
                    minItems: 1
                    description: Address details
                  PreviousNameDetails:
                    type: object
                    properties:
                      MaidenName:
                        type: string
                        description: The maiden name of the customer
                      AliasName:
                        type: string
                        description: >-
                          Any name, whether legal or casual, that the customer uses or has used on any forms in addition
                          to their birth name.  This includes shortened versions of their name.
                    minProperties: 1
                    description: >-
                      Required if the applicant or policy was known by a previous name.  One of MaidenName or AliasName
                      must be populated. This property can be omitted if the customer confirms they held no previous
                      names.
                    additionalProperties: false
                  SecondNationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: Confirmation of the policyholder's second nationality when they have dual nationality
                  CountryOfBirth:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: Country of birth of the insured person expressed as an ISO 3166 3 character code.
                  Identity:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                    minProperties: 1
                    description: Revised identity details, verified by the TPP.
                  Height:
                    type: integer
                  Weight:
                    type: integer
                  Employment:
                    type: object
                    properties:
                      EmploymentType:
                        type: string
                        enum:
                          - PrivateSalaried
                          - FederalGovernment
                          - SelfEmployed
                          - Retired
                          - NotEmployed
                          - Other
                        description: Individual's employment type
                      JobTitle:
                        type: string
                        description: Individual's job title
                      EmployerName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Employer name.
                      NatureOfEmployerBusiness:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Nature of employer business
                      EmploymentStartDate:
                        type: string
                        format: date
                        description: Individual's employment start date
                      MonthlyIncome:
                        type: object
                        properties:
                          Currency:
                            $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                          Amount:
                            $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        description: Monthly income amount and currency
                        additionalProperties: false
                      AnnualIncome:
                        type: object
                        properties:
                          Currency:
                            $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                          Amount:
                            $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        description: Annual income amount and currency
                        additionalProperties: false
                    description: The template for adding optional properties.
                    minProperties: 1
                    additionalProperties: false
                  LifeStyle:
                    type: object
                    properties:
                      Alcohol:
                        type: object
                        properties:
                          ConsumeAlcohol:
                            type: boolean
                            description: Indicates whether the insured individual consumes alcohol
                          AlcoholUnitsPerWeek:
                            type: integer
                            description: The average number of alcohol units consumed per week
                        minProperties: 1
                        description: Questions about whether the individual consumes alcohol
                        additionalProperties: false
                      Smoking:
                        type: object
                        properties:
                          SmokeCurrent:
                            type: boolean
                            description: 'Indicates whether the insured individual is a current smoker '
                          TypeOfSmoking:
                            allOf:
                              - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
                            description: Specifies the type of smoking product currently used
                          SmokingQuantityPerDay:
                            type: integer
                            description: The average number of smoking products consumed per day.
                          SmokePrevious:
                            type: boolean
                            description: 'Indicates whether the insured individual previously smoker '
                          TypeOfPreviousSmoking:
                            allOf:
                              - $ref: '#/components/schemas/AEHealthInsuranceQuoteTypeOfSmokingCodes'
                            description: Specifies the type of smoking product previously used by the insured individual
                          PreviousSmokingQuantityPerDay:
                            type: integer
                            description: The average number of smoking products consumed per day before quitting.
                          HowLongSmoked:
                            type: object
                            properties:
                              SmokingYears:
                                type: integer
                                description: The total number of years the insured individual has smoked or previously smoked.
                              SmokingMonths:
                                type: integer
                                description: >-
                                  The total number of months the insured individual has smoked or previously smoked, in
                                  addition to full years.
                              WhenStoppedSmoking:
                                type: string
                                description: The date or year when the insured individual stopped smoking.
                              WhyStoppedSmoking:
                                type: string
                                description: >-
                                  The reason for quitting smoking (e.g., health concerns, doctor’s recommendation,
                                  lifestyle change).
                            description: How long has the individual smoked in years and months
                            additionalProperties: false
                        additionalProperties: false
                    description: The template for adding optional properties.
                    minProperties: 1
                    additionalProperties: false
                additionalProperties: false
              minItems: 1
              description: Revised details, verified by the TPP.
            PolicyHolder:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  description: Address details
                PreviousNameDetails:
                  type: object
                  properties:
                    MaidenName:
                      type: string
                      description: The maiden name of the customer
                    AliasName:
                      type: string
                      description: >-
                        Any name, whether legal or casual, that the customer uses or has used on any forms in addition
                        to their birth name.  This includes shortened versions of their name.
                  minProperties: 1
                  description: >-
                    Required if the applicant or policy was known by a previous name.  One of MaidenName or AliasName
                    must be populated. This property can be omitted if the customer confirms they held no previous
                    names.
                  additionalProperties: false
                SecondNationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: Confirmation of the policyholder's second nationality when they have dual nationality
                CountryOfBirth:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: Country of birth of the insured person expressed as an ISO 3166 3 character code.
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  description: Identification details of the policyholder.
                Employment:
                  type: object
                  properties:
                    EmploymentType:
                      type: string
                      enum:
                        - PrivateSalaried
                        - FederalGovernment
                        - SelfEmployed
                        - Retired
                        - NotEmployed
                        - Other
                      description: Individual's employment type
                    JobTitle:
                      type: string
                      description: Individual's job title
                    EmployerName:
                      type: string
                      minLength: 1
                      maxLength: 70
                      description: Employer name.
                    NatureOfEmployerBusiness:
                      type: string
                      minLength: 1
                      maxLength: 140
                      description: Nature of employer business
                    EmploymentStartDate:
                      type: string
                      format: date
                      description: Individual's employment start date
                    MonthlyIncome:
                      type: object
                      properties:
                        Currency:
                          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                        Amount:
                          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                      description: Monthly income amount and currency
                      additionalProperties: false
                    AnnualIncome:
                      type: object
                      properties:
                        Currency:
                          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                        Amount:
                          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                      description: Annual income amount and currency
                      additionalProperties: false
                  description: Customer employment details
                  minProperties: 1
                  additionalProperties: false
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AELifeInsuranceQuoteCustomerProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Gender
        - DateOfBirth
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        PreviousNameDetails:
          type: object
          properties:
            MaidenName:
              type: string
              description: The maiden name of the customer
            AliasName:
              type: string
              description: >-
                Any name, whether legal or casual, that the customer uses or has used on any forms in addition to their
                birth name.  This includes shortened versions of their name.
          minProperties: 1
          description: >-
            Required if the applicant or policy was known by a previous name.  One of MaidenName or AliasName must be
            populated. This property can be omitted if the customer confirms they held no previous names.
          additionalProperties: false
        SecondNationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: Confirmation of the policyholder's second nationality when they have dual nationality
        CountryOfBirth:
          type: string
          pattern: ^[A-Z]{3}$
          description: Country of birth of the insured person expressed as an ISO 3166 3 character code.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
        Employment:
          type: object
          properties:
            EmploymentType:
              type: string
              enum:
                - PrivateSalaried
                - FederalGovernment
                - SelfEmployed
                - Retired
                - NotEmployed
                - Other
              description: Individual's employment type
            JobTitle:
              type: string
              description: Individual's job title
            EmployerName:
              type: string
              minLength: 1
              maxLength: 70
              description: Employer name.
            NatureOfEmployerBusiness:
              type: string
              minLength: 1
              maxLength: 140
              description: Nature of employer business
            EmploymentStartDate:
              type: string
              format: date
              description: Individual's employment start date
            MonthlyIncome:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: Monthly income amount and currency
            AnnualIncome:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: Annual income amount and currency
          description: Customer employment details
          minProperties: 1
          additionalProperties: false
      additionalProperties: false
    AELifeInsuranceQuoteEmploymentProperties:
      type: object
      required:
        - JobTitle
      properties:
        EmploymentType:
          type: string
          enum:
            - PrivateSalaried
            - FederalGovernment
            - SelfEmployed
            - Retired
            - NotEmployed
            - Other
          description: Individual's employment type
        JobTitle:
          type: string
          description: Individual's job title
        EmployerName:
          type: string
          minLength: 1
          maxLength: 70
          description: Employer name.
        NatureOfEmployerBusiness:
          type: string
          minLength: 1
          maxLength: 140
          description: Nature of employer business
        EmploymentStartDate:
          type: string
          format: date
          description: Individual's employment start date
        MonthlyIncome:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Monthly income amount and currency
        AnnualIncome:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: Annual income amount and currency
      additionalProperties: false
    AELifeInsuranceQuoteInsuredPartiesProperties:
      type: object
      required:
        - RelationshipToPolicyholder
        - Salutation
        - FirstName
        - LastName
        - Gender
        - DateOfBirth
        - MaritalStatus
        - Nationality
        - Height
        - Weight
        - LifeStyle
      properties:
        RelationshipToPolicyholder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
          description: The relationship to the policyholder.
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        PreviousNameDetails:
          type: object
          properties:
            MaidenName:
              type: string
              description: The maiden name of the customer
            AliasName:
              type: string
              description: >-
                Any name, whether legal or casual, that the customer uses or has used on any forms in addition to their
                birth name.  This includes shortened versions of their name.
          minProperties: 1
          description: >-
            Required if the applicant or policy was known by a previous name.  One of MaidenName or AliasName must be
            populated. This property can be omitted if the customer confirms they held no previous names.
          additionalProperties: false
        SecondNationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: Confirmation of the policyholder's second nationality when they have dual nationality
        CountryOfBirth:
          type: string
          pattern: ^[A-Z]{3}$
          description: Country of birth of the insured person expressed as an ISO 3166 3 character code.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the insured party.
        Height:
          type: integer
        Weight:
          type: integer
        Employment:
          allOf:
            - $ref: '#/components/schemas/AELifeInsuranceQuoteEmploymentProperties'
          minProperties: 1
          description: Customer employment details
        LifeStyle:
          $ref: '#/components/schemas/AELifeInsuranceLifeStyleProperties'
      additionalProperties: false
    AELifeInsuranceQuotePolicyProperties:
      type: object
      required:
        - Takaful
        - SumAssuredAmount
        - FrequencyPremiumPayment
      properties:
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        CoverType:
          type: string
          enum:
            - Sole
            - Joint
          description: Indicates whether life Cover is required for a single person or jointly for multiple individuals
        IsPolicyholderLifeAssured:
          type: boolean
          description: >-
            True (Yes) when that the Policyholder (customer) is also the Life Assured or one of the Life Assured, or
            false (No) when confirmation that the Policyholder and the Life Assured(s) are different
        RelationshipToLifeInsured:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceRelationshipToInsuredPartyCodes'
          description: >-
            Required when the IsPolicyholderLifeAssured is false (No) to confirm the relationship between the
            Policyholder and Insured Person.
        ReasonDifferent:
          type: string
          description: >-
            Required when RelationshipToLifeInsured is Other to confirm that there is an insurable interest between the
            Policyholder and the Life Assured
        TypeOfLifeInsurance:
          type: string
          enum:
            - WholeLifeInsurance
            - LevelTermInsurance
            - DecreasingTermInsurance
          description: The type of life insurance required
        InsurancePurpose:
          type: string
          enum:
            - PersonalCover
            - FamilyProtection
            - MortgageCover
          description: The purpose of the life insurance cover
        SumAssuredAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The sum assured amount and currency.
        PolicyTerm:
          type: string
          pattern: ^P(\d+Y)?(\d+M)?$
          format: duration
          description: The insurance policy term in years and months, using ISO 8601 compatible duration format
          example: P2Y3M
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
        IsFinanceAgainstPolicy:
          type: boolean
          description: Confirmation whether insurance cover is being taken out in connection with a finance / mortgage
        FrequencyPremiumPayment:
          type: string
          enum:
            - Annually
            - OneTime
            - Monthly
            - Quarterly
            - BiAnnual
            - Limited
            - Other
          description: Frequency of premium payments.
        PremiumPaymentTerm:
          type: string
          pattern: ^P(\d+Y)?(\d+M)?$
          description: Term of payments.
        RequiredAddons:
          type: array
          items:
            type: string
          minItems: 1
          description: Required add-ons to be included in the quote based on Cover Name.
      description: Details of policy
      additionalProperties: false
    AELifeInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - InsuredParties
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          allOf:
            - $ref: '#/components/schemas/AELifeInsuranceQuotePolicyProperties'
          description: Details of policy
        InsuredParties:
          type: array
          items:
            $ref: '#/components/schemas/AELifeInsuranceQuoteInsuredPartiesProperties'
          minItems: 1
          description: Details of persons included in proposed insurance policy.
        PolicyHolder:
          allOf:
            - $ref: '#/components/schemas/AELifeInsuranceQuoteCustomerProperties'
          description: Details of policy holder. Required when the  Policyholder is not one of the Insured Person.
        ExistingLifeInsurance:
          type: array
          items:
            type: object
            properties:
              InsurerName:
                type: string
                description: The Life Insurance Company Name the existing Life cover is held with
              ExistingPolicyNumber:
                type: string
              SumAssured:
                allOf:
                  - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                description: The minimum amount payable to the assured or his/her dependants on the death of the life assured
              PolicyStartDate:
                type: string
                format: date
                description: Life cover start date
              PolicyEndDate:
                type: string
                format: date
                description: Life cover maturity (end) date
            required:
              - InsurerName
            additionalProperties: false
          description: One-or-more existing insurance policies, omitted if none are held
      additionalProperties: false
    AEMotorInsuranceDataSharingCarRegistration:
      type: object
      required:
        - EmirateOfRegistration
      properties:
        EmirateOfRegistration:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmirate'
          description: The Emirate where the insured motor vehicle was registered
        DateOfFirstRegistration:
          type: string
          format: date
          description: Date the motor vehicle was first registered
        RegistrationExpiry:
          type: string
          format: date
          description: Date when the current registration expires.
        ValidMulkiyaHeld:
          type: boolean
          description: >-
            Confirmation whether the Mulkiya (vehicle registration card) is held by the applicant/customer. The Mulkiya
            document is collected by the LFI if the Customer elects to proceed with the quote.
      description: Details of car registration.
      additionalProperties: false
    AEMotorInsuranceEngineTypeCodes:
      type: string
      enum:
        - Electric
        - Hybrid
        - InternalCombustionEngine
      description: Details of the engine type for the vehicle.
    AEMotorInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingCustomerBasicProperties'
          description: Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          allOf:
            - $ref: '#/components/schemas/AEMotorInsuranceProductData'
          description: >-
            Details of the insurance policy product. Requires the `ReadInsuranceProduct` permission to be granted by the
            User.
        Claims:
          type: object
          properties:
            Summary:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceDataSharingClaimsSummaryProperties'
              minItems: 1
              description: >-
                Summary of previous claims. `NumberOfPreviousMonths` value must appear only once.


                If no claims have been made then an array element with `NumberOfPreviousMonths` set to zero must be
                provided, and all claim amounts must be set to zero, to provide a positive assertion that no claims have
                been made. Currency must be set to AED for this case.
            ClaimsHistory:
              type: array
              items:
                type: object
                properties:
                  ClaimUniqueID:
                    type: string
                    minLength: 1
                    maxLength: 128
                    description: Unique reference that identifies the claim
                  ClaimDate:
                    type: string
                    format: date
                    description: The original date the claim was submitted.
                  TotalGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: >-
                      As per CBUAE scheme, total gross claim amount including Direct + Third party + Coinsurance /
                      deductible + Loss Adjusters + VAT.
                  ClaimPayments:
                    type: array
                    items:
                      type: object
                      properties:
                        Currency:
                          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                        Amount:
                          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                        PaymentDate:
                          type: string
                          format: date
                          description: The date on which the claim payment was made.
                      required:
                        - Currency
                        - Amount
                        - PaymentDate
                      additionalProperties: false
                    minItems: 1
                    description: The amounts paid with amount, currency, and date.
                  DeductibleGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Deductible and co-insurance amount paid by customer.
                  PolicyClaimedBenefits:
                    type: array
                    items:
                      type: object
                      properties:
                        ClaimedBenefitType:
                          type: string
                        ClaimedBenefitDescription:
                          type: string
                      required:
                        - ClaimedBenefitType
                        - ClaimedBenefitDescription
                      additionalProperties: false
                    description: All the claimed policy benefits.
                  ClaimApprovalDate:
                    type: string
                    format: date
                    description: The most recent approval date for any portion of the claim.
                  ClaimLastUpdateDate:
                    type: string
                    format: date
                    description: Last update date of the claim.
                  DirectGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of the claim paid directly.
                  ThirdPartyGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Amount of claim to be paid via third party insurance company.
                  ThirdPartyRecoveryCompany:
                    type: string
                    description: Name of recovery third party insurance company.
                  ThirdPartyRecoveryStatus:
                    type: string
                    enum:
                      - Approved
                      - Reopened
                      - RecoveryOpened
                      - Paid
                      - RecoveryReopenedAndClaimClosed
                      - Rejected
                      - InProgress
                    description: Status of recovery.
                  LossAdjusterGrossClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Loss Adjusters fees on above claims.
                  OutstandingPayAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: Claim payment amount outstanding.
                  Status:
                    type: string
                    enum:
                      - Open
                      - Outstanding
                      - Closed
                      - Reopened
                      - Cancelled
                      - Deleted
                      - Rejected
                    description: |-
                      The status of the claim, based on the following CBUAE standard definitions:

                      * `Open`: Once the claim is submitted.

                      * `Outstanding`: The claim is under processing.

                      * `Closed`: Once the claim is settled & closed.

                      * `Reopened`: The claim is reopened.

                      * `Cancelled`: The claim cancelled.

                      * `Deleted`: The claim entered incorrectly and deleted.

                      * `Rejected`: Company rejected the claim.
                  IncidentStartDate:
                    type: string
                    format: date
                    description: Start date of the incident.
                  PoliceReportNumber:
                    type: string
                    description: Police report number related to the incident
                  AccidentType:
                    type: string
                    description: As per CBUAE schema, accident type as provided within company systems
                  IsTotalLoss:
                    type: boolean
                    description: Is the vehicle total loss?
                  TotalLossType:
                    type: string
                    description: >-
                      Financial total loss is where the insurance company will declare a vehicle to be a total loss when
                      the preliminary cost of repairs reaches some pre-determined percentage of the vehicles value:
                      usually 50%.
                  SeverityOfAccident:
                    type: string
                    description: As per CBUAE schema, severity of accident
                  IncidentDateTime:
                    type: string
                    format: date-time
                    description: Incident date and time
                  ClaimantAtFault:
                    type: boolean
                    description: Is the claimant at fault?
                  ClaimantPercentageAtFault:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePercentageValue'
                    description: Percentage fault of claimant.
                  CrashCause:
                    type: string
                    enum:
                      - Collision
                      - MaliciousDamage
                      - OverTurning
                      - OffRoad
                      - WindscreenDamage
                      - Parked
                      - UnknownDamage
                      - TyreBurst
                      - Theft
                      - Fire
                      - Other
                    description: Cause of crash.
                required:
                  - ClaimUniqueID
                  - ClaimDate
                  - TotalGrossClaimAmount
                  - PolicyClaimedBenefits
                  - ClaimLastUpdateDate
                  - Status
                  - IncidentStartDate
                additionalProperties: false
              minItems: 1
              description: Claims history. Only required if claims have been made against the policy.
            NoClaimsDiscountLength:
              type: integer
              description: The total number of years the insured has held a No Claims Discount (NCD) without making a claim.
            NoClaimsDiscountAvailable:
              type: boolean
              description: >-
                Indicates whether the insured's No Claims Discount (NCD) is currently available for transfer or
                application to the new policy
          required:
            - Summary
            - NoClaimsDiscountAvailable
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
          additionalProperties: false
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AEMotorInsuranceProductData:
      type: object
      required:
        - Policy
        - VehicleDetails
        - CarRegistration
        - DrivingLicenseHistory
      properties:
        Policy:
          type: object
          properties:
            TypeOfPolicy:
              $ref: '#/components/schemas/AEMotorInsuranceQuoteCoverTypes'
            RegistrationType:
              type: string
              enum:
                - New
                - RenewalOfExistingVehicle
              description: >-
                Indicates whether the policy is for a brand new car, renewal of registration and insurance or a change
                of ownership (purchasing a pre-owned / 'second-hand' car)
            PolicyStartDate:
              type: string
              format: date
              description: Policy start date
            PolicyEndDate:
              type: string
              format: date
              description: Policy end date
            CarUsage:
              type: string
              enum:
                - Private
                - Commercial
              description: The primary purpose of the vehicle usage
            CarValuation:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The assessed value of the insured vehicle
            PolicyNumber:
              type: string
              minLength: 1
              maxLength: 140
              description: >-
                The official reference number assigned to the policy by the LFI for identification and tracking and is
                known by User
            PurchaseDate:
              type: string
              format: date
              description: The date when the insurance policy was purchased by the policyholder.
            Takaful:
              type: boolean
              description: Indicates whether the policy is Sharia compliant.
            ProductName:
              type: string
              description: Business name of the policy product as provided externally to the customer.
            PolicyExcess:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: When applicable, the amount that would be deductible from any claim.
            PolicyCoverAndBenefits:
              type: array
              items:
                type: object
                properties:
                  CoverType:
                    type: string
                    description: Type of cover as defined in company systems.
                  Description:
                    type: string
                    description: Description of the cover / benefit.
                  Required:
                    type: boolean
                    description: >-
                      To confirm whether the cover or benefit is required as part of the base insurance policy or is
                      optional.
                  CoverLimit:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                  CoverInclusionsAndExclusions:
                    type: array
                    items:
                      type: object
                      properties:
                        InclusionAndExclusionDescription:
                          type: string
                          description: Description of the inclusion or exclusion.
                      required:
                        - InclusionAndExclusionDescription
                      additionalProperties: false
                    minItems: 1
                    description: included inclusions and exclusions for cover type.
                  CoverExcess:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: When applicable, the amount that would be deductible from any claim.
                  CoverID:
                    type: string
                    description: Insurers internal unique ID for specific cover.
                required:
                  - CoverType
                  - Description
                  - Required
                additionalProperties: false
              minItems: 1
              description: Cover and benefits provided by the policy.
            PolicyPurchaseChannelType:
              type: string
              enum:
                - Direct
                - Agent
                - Broker
                - Bank
                - InvFinInst
                - TPA
                - OnlineInsideUAE
                - OnlineOutsideUAE
                - Aggregation
                - Outside
                - Other
              description: Sales channel of policy.
          required:
            - TypeOfPolicy
            - PolicyStartDate
            - CarUsage
            - PolicyNumber
            - PurchaseDate
            - Takaful
            - ProductName
            - PolicyCoverAndBenefits
            - PolicyPurchaseChannelType
          description: Details of the policy.
          additionalProperties: false
        VehicleDetails:
          type: object
          properties:
            EngineNumber:
              type: string
              description: The identification of the motor vehicle engine
            ModelYear:
              type: string
              pattern: ^[0-9]{4}$
              description: The manufacturing year of the vehicle.
            Make:
              type: string
              description: The brand or manufacturer of the vehicle.
            Model:
              type: string
              description: The specific model name of the vehicle.
            Trim:
              type: string
              description: The variant or trim level of the vehicle, indicating features and specifications
            BodyType:
              type: string
              enum:
                - Saloon
                - 4WD
                - Pickup
                - Truck
                - TrailerHead
                - Trailer
                - Water
                - Fuel Tanker
                - Buses
                - Dumper
                - Agriculture
                - Forklift
                - Heavy Equipment
                - Motorcycle
                - Others
              description: 'The type motor vehicle like saloon, Station/SUV, coupe '
            Color:
              type: string
              description: The exterior colour of the vehicle.
            LoadingCapacity:
              type: string
              description: The maximum weight the vehicle can carry, including passengers and cargo
            Weight:
              type: integer
              description: The total weight of the vehicle when empty to nearest kilograms
            CountryOfOrigin:
              type: string
              pattern: ^[A-Z]{3}$
              description: The country where the vehicle was manufactured
            NoOfPassengersIncDriver:
              type: integer
              description: The number of passengers that can be carried in the car
            Mileage:
              type: integer
              description: Vehicle mileage to nearest kilometre
            EngineProperties:
              type: object
              properties:
                EngineType:
                  $ref: '#/components/schemas/AEMotorInsuranceEngineTypeCodes'
                BatteryCapacity:
                  type: string
                  description: The capacity of the battery.
                MotorPower:
                  type: string
                  description: The power of the vehicle motor.
                EngineCapacity:
                  type: string
                  description: The engine displacement volume in cubic centimetres (cc).
                CylinderCapacity:
                  type: string
                  description: The number of cylinders
              minProperties: 1
              description: Properties of the vehicle engine.
              additionalProperties: false
            ChassisNumber:
              type: string
              minLength: 17
              maxLength: 17
              description: The chassis number (Vehicle Identification Number - VIN) of the motor vehicle to be insured
            PlateCode:
              type: string
              description: Plate code of the vehicle registration plate that identifies the Emirate where the vehicle is registered
            PlateNumber:
              type: string
              description: Vehicle registration plate number
            PlateSource:
              type: string
              enum:
                - AUH
                - DXB
                - SHJ
                - AJM
                - UAQ
                - RAK
                - FUJ
              description: The abbreviation of the Emirate where a vehicle's license plate is registered
            Transmission:
              type: string
              enum:
                - Automatic
                - Manual
              description: The type of transmission system in the vehicle
            Specification:
              type: string
              enum:
                - GCC
                - NonGCC
              description: Confirm whether the car specification is a Gulf Cooperation Council (GCC) specification.
          required:
            - ModelYear
            - Make
            - Model
            - Trim
            - BodyType
            - NoOfPassengersIncDriver
          additionalProperties: false
        CarRegistration:
          $ref: '#/components/schemas/AEMotorInsuranceDataSharingCarRegistration'
        DrivingLicenseHistory:
          type: object
          properties:
            DrivingLicenseNumber:
              type: string
              description: The policyholder or applicant driving license number.
            DrivingLicenseIssuingEmirate:
              $ref: '#/components/schemas/AEInsuranceEmirate'
            TimeDrivingInUAE:
              allOf:
                - $ref: '#/components/schemas/AEDurationYearsAndMonths'
              description: >-
                The total duration (in years and months) that the policyholder or applicant has been actively driving in
                the UAE
            DrivingLicenseIssueDate:
              type: string
              format: date
              description: The date when the policyholder or applicant UAE driving license was issued.
            HomeCountryDrivingLicenseNumber:
              type: string
              description: The driving license number that was issued by the customer's home country
            TrafficIdNumber:
              type: string
              description: >-
                The Traffic Code Number (TC number) as detailed on the vehicle registration card (Mulkiya) or the
                driver's driving licence.
            HomeCountryDrivingExperience:
              allOf:
                - $ref: '#/components/schemas/AEDurationYearsAndMonths'
              description: The length of time driving in home country, as a duration in years and months.
          required:
            - DrivingLicenseNumber
          description: Details of policyholder driving license history.
          additionalProperties: false
        AdditionalDrivers:
          type: array
          items:
            type: object
            properties:
              RelationshipToMainDriver:
                type: string
                enum:
                  - Spouse
                  - Parent
                  - Sibling
                  - Child
                  - Friend
                  - Employee
                  - Other
                description: The additional driver's relationship to the main driver
              FullName:
                type: string
                minLength: 1
                maxLength: 140
                description: Full name of the additional driver
              DateOfBirth:
                type: string
                format: date
                description: Date of birth of the individual.
              Gender:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceGender'
                description: The gender of the customer
              Nationality:
                type: string
                pattern: ^[A-Z]{3}$
                description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
              DrivingLicenseNumber:
                type: string
                description: The policyholder or applicant driving license number.
              DrivingLicenseIssuingEmirate:
                $ref: '#/components/schemas/AEInsuranceEmirate'
              TimeDrivingInUAE:
                allOf:
                  - $ref: '#/components/schemas/AEDurationYearsAndMonths'
                description: >-
                  The total duration (in years and months) that the policyholder or applicant has been actively driving
                  in the UAE
              DrivingLicenseIssueDate:
                type: string
                format: date
                description: The date when the policyholder or applicant UAE driving license was issued.
              EmiratesIdNumber:
                type: string
                pattern: ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$
                description: Emirates identification number
            required:
              - FullName
            additionalProperties: false
          description: Details of additional drivers on the policy. Omitted if no additional drivers are insured.
        CarFinance:
          type: object
          properties:
            BankName:
              type: string
              minLength: 1
              maxLength: 70
              description: Confirm the Bank or registered finance company providing the car finance.
            FinanceAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The finance amount secured against the car.
            FinanceStartDate:
              type: string
              format: date
              description: Finance start date
            FinanceEndDate:
              type: string
              format: date
              description: Finance end date
            FinanceTerm:
              type: integer
              description: The finance term in months
            FinanceInterestRate:
              type: number
              description: Finance interest rate
            OutstandingFinanceBalance:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: Confirmation of the outstanding finance balance.
          required:
            - BankName
          description: Details of any finance on the insured vehicle. Omitted if no finance held or recorded.
          additionalProperties: false
      additionalProperties: false
    AEMotorInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                CoverType:
                  $ref: '#/components/schemas/AEMotorInsuranceQuoteCoverTypes'
                RegistrationType:
                  type: string
                  enum:
                    - New
                    - RenewalOfExistingVehicle
                  description: >-
                    Indicates whether the policy is for a brand new car, renewal of registration and insurance or a
                    change of ownership (purchasing a pre-owned / 'second-hand' car)
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                CarUsage:
                  type: string
                  enum:
                    - Private
                    - Commercial
                  description: The primary purpose of the vehicle usage
                CarValuation:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The assessed value of the insured vehicle
                OptionalCoverAddOns:
                  $ref: '#/components/schemas/AEMotorInsuranceQuoteOptionalCoverAddOnsProperties'
              required:
                - OptionalCoverAddOns
              minProperties: 1
              description: Revised details, verified by the TPP.
              additionalProperties: false
            VehicleDetails:
              type: object
              properties:
                EngineNumber:
                  type: string
                  description: The identification of the motor vehicle engine
                ModelYear:
                  type: string
                  pattern: ^[0-9]{4}$
                  description: The manufacturing year of the vehicle.
                Make:
                  type: string
                  description: The brand or manufacturer of the vehicle.
                Model:
                  type: string
                  description: The specific model name of the vehicle.
                Trim:
                  type: string
                  description: The variant or trim level of the vehicle, indicating features and specifications
                BodyType:
                  type: string
                  enum:
                    - Saloon
                    - 4WD
                    - Pickup
                    - Truck
                    - TrailerHead
                    - Trailer
                    - Water
                    - Fuel Tanker
                    - Buses
                    - Dumper
                    - Agriculture
                    - Forklift
                    - Heavy Equipment
                    - Motorcycle
                    - Others
                  description: 'The type motor vehicle like saloon, Station/SUV, coupe '
                Color:
                  type: string
                  description: The exterior colour of the vehicle.
                LoadingCapacity:
                  type: string
                  description: The maximum weight the vehicle can carry, including passengers and cargo
                Weight:
                  type: integer
                  description: The total weight of the vehicle when empty to nearest kilograms
                CountryOfOrigin:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The country where the vehicle was manufactured
                NoOfPassengersIncDriver:
                  type: integer
                  description: The number of passengers that can be carried in the car
                Mileage:
                  type: integer
                  description: Vehicle mileage to nearest kilometre
                EngineProperties:
                  allOf:
                    - $ref: '#/components/schemas/AEEngineProperties'
                  description: Properties of the vehicle engine.
                ChassisNumber:
                  type: string
                  minLength: 17
                  maxLength: 17
                  description: The chassis number (Vehicle Identification Number - VIN) of the motor vehicle to be insured
                PlateCode:
                  type: string
                  description: >-
                    Plate code of the vehicle registration plate that identifies the Emirate where the vehicle is
                    registered
                PlateNumber:
                  type: string
                  description: Vehicle registration plate number
                PlateSource:
                  type: string
                  enum:
                    - AUH
                    - DXB
                    - SHJ
                    - AJM
                    - UAQ
                    - RAK
                    - FUJ
                  description: The abbreviation of the Emirate where a vehicle's license plate is registered
                Transmission:
                  type: string
                  enum:
                    - Automatic
                    - Manual
                  description: The type of transmission system in the vehicle
                Specification:
                  type: string
                  enum:
                    - GCC
                    - NonGCC
                  description: Confirm whether the car specification is a Gulf Cooperation Council (GCC) specification.
              required:
                - ModelYear
                - Make
                - Model
                - Trim
                - BodyType
                - Color
                - CountryOfOrigin
                - NoOfPassengersIncDriver
                - EngineProperties
                - Specification
              additionalProperties: false
            CarRegistration:
              $ref: '#/components/schemas/AEMotorInsuranceQuoteCarRegistrationProperties'
            MainDriver:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Address:
                  type: array
                  items:
                    $ref: '#/components/schemas/AEInsuranceAddress'
                  minItems: 1
                  description: Customer's address details
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  minProperties: 1
                  description: Revised identity details, verified by the TPP.
                DrivingLicenseHistory:
                  type: object
                  properties:
                    DrivingLicenseNumber:
                      type: string
                      description: The policyholder or applicant driving license number.
                    DrivingLicenseIssuingEmirate:
                      $ref: '#/components/schemas/AEInsuranceEmirate'
                    TimeDrivingInUAE:
                      allOf:
                        - $ref: '#/components/schemas/AEDurationYearsAndMonths'
                      description: >-
                        The total duration (in years and months) that the policyholder or applicant has been actively
                        driving in the UAE
                    DrivingLicenseIssueDate:
                      type: string
                      format: date
                      description: The date when the policyholder or applicant UAE driving license was issued.
                    DrivingLicenseExpiryDate:
                      type: string
                      format: date
                      description: The date the driving license will expire
                    TCNumber:
                      type: string
                      pattern: ^[0-9]{8}$
                      description: Unique ID which links individual traffic file to driver and car registration
                    VCCNumber:
                      type: string
                    HiyazaCertificateNumber:
                      type: string
                  required:
                    - TimeDrivingInUAE
                    - DrivingLicenseExpiryDate
                    - TCNumber
                    - VCCNumber
                    - HiyazaCertificateNumber
                  description: Confirmation of the main driver's driving license details and driving history
                  additionalProperties: false
                MotorClaims:
                  type: object
                  properties:
                    MotorClaimInLast24Months:
                      type: boolean
                      description: Indicates whether the insured has made a motor insurance claim in the last 24 months
                    MotorLastClaimMade:
                      type: string
                      format: date
                      description: The date when the most recent motor insurance claim was made
                    NoClaimsCertificate:
                      type: string
                      enum:
                        - NoNCD
                        - 1Year
                        - 2Years
                        - 3Years
                        - 4Years
                        - 5+Years
                      description: >-
                        Confirmation whether the insured has a No Claim Certificate issued by the previous insurer
                        confirming the insured's no-claims history.  The customer must be advised that the No Claims
                        Certificate will be required by the LFI if they decide to proceed with the application
                  required:
                    - MotorClaimInLast24Months
                    - NoClaimsCertificate
                  description: Details of motor insurance claims made by the proposer.
                  additionalProperties: false
              required:
                - DateOfBirth
                - Nationality
                - Address
                - DrivingLicenseHistory
                - MotorClaims
              additionalProperties: false
            AdditionalDrivers:
              type: array
              items:
                type: object
                properties:
                  RelationshipToMainDriver:
                    type: string
                    enum:
                      - Spouse
                      - Parent
                      - Sibling
                      - Child
                      - Friend
                      - Employee
                      - Other
                    description: The additional driver's relationship to the main driver
                  FullName:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: Full name of the additional driver
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  DrivingLicenseNumber:
                    type: string
                    description: The policyholder or applicant driving license number.
                  DrivingLicenseIssuingEmirate:
                    $ref: '#/components/schemas/AEInsuranceEmirate'
                  TimeDrivingInUAE:
                    allOf:
                      - $ref: '#/components/schemas/AEDurationYearsAndMonths'
                    description: >-
                      The total duration (in years and months) that the policyholder or applicant has been actively
                      driving in the UAE
                  DrivingLicenseIssueDate:
                    type: string
                    format: date
                    description: The date when the policyholder or applicant UAE driving license was issued.
                  DrivingLicenseExpiryDate:
                    type: string
                    format: date
                    description: The date the driving license will expire
                  Identity:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                    minProperties: 1
                    description: Revised identity details, verified by the TPP.
                required:
                  - RelationshipToMainDriver
                  - FullName
                  - DateOfBirth
                  - Nationality
                  - DrivingLicenseNumber
                  - DrivingLicenseIssueDate
                  - DrivingLicenseExpiryDate
                additionalProperties: false
              minItems: 1
              description: Required if additional drivers are to be covered under the motor insurance cover
            ExistingPolicy:
              type: object
              properties:
                InsurerName:
                  type: string
                  description: The Insurance Company Name when existing motor insurance cover is held
                ExistingPolicyNumber:
                  type: string
                  description: The Insurance Policy Number when existing motor insurance cover is held
                CurrentInsuranceActive:
                  type: boolean
                  description: Indicator to confirm the car is currently covered by an existing active insurance policy
                TypeOfCurrentInsurance:
                  $ref: '#/components/schemas/AEMotorInsuranceQuoteCoverTypes'
                CurrentInsuranceExpiryDate:
                  type: string
                  format: date
                  description: The date the existing insurance cover will expire
                AgencyRepairsIncluded:
                  type: boolean
                  description: >-
                    Yes' / 'No' confirmation  whether the existing policy includes repairs at the authorized dealer or
                    manufacturers service centre
                BreakdownCoverIncluded:
                  type: boolean
                  description: Yes' / 'No' confirmation whether the policy includes breakdown roadside assistance Cover
              required:
                - InsurerName
                - CurrentInsuranceActive
                - TypeOfCurrentInsurance
                - CurrentInsuranceExpiryDate
              description: Required when the RegistrationType selected is Renewal
              additionalProperties: false
            CarFinance:
              type: object
              properties:
                BankName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Confirm the Bank or registered finance company providing the car finance.
                FinanceAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The finance amount secured against the car.
                FinanceStartDate:
                  type: string
                  format: date
                  description: Finance start date
                FinanceEndDate:
                  type: string
                  format: date
                  description: Finance end date
                FinanceTerm:
                  type: integer
                  description: The finance term in months
              required:
                - BankName
              description: >-
                Confirmation whether a finance will be or is being used to purchase the car and the finance is secured
                by a mortgage over the car. This value can be omitted when the finance is for other purposes.
              additionalProperties: false
          required:
            - Policy
            - VehicleDetails
            - CarRegistration
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AEMotorInsuranceQuoteCarRegistrationProperties:
      type: object
      required:
        - EmirateOfRegistration
      properties:
        EmirateOfRegistration:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmirate'
          description: The Emirate where the insured motor vehicle was registered
        DateOfFirstRegistration:
          type: string
          format: date
          description: Date the motor vehicle was first registered
        RegistrationExpiry:
          type: string
          format: date
          description: Date when the current registration expires.
        ValidMulkiyaHeld:
          type: boolean
          description: >-
            Confirmation whether the Mulkiya (vehicle registration card) is held by the applicant/customer. The Mulkiya
            document is collected by the LFI if the Customer elects to proceed with the quote.
      additionalProperties: false
    AEMotorInsuranceQuoteCoverTypes:
      type: string
      enum:
        - Comprehensive
        - ThirdPartyLiability
      description: Specifies whether the motor insurance policy is Comprehensive or Third Party Liability.
    AEMotorInsuranceQuoteOptionalCoverAddOnsProperties:
      type: object
      required:
        - DriverCover
        - PassengerCover
        - RoadsideAssistance
        - ProtectedNoClaims
        - AgencyRepairs
        - LossOfKeys
        - HireCar
        - GCC
        - OmanCover
      properties:
        DriverCover:
          type: boolean
          description: >-
            Indicates whether the Customer wants to include personal accident cover for the driver in the motor
            insurance policy.
        PassengerCover:
          type: boolean
          description: >-
            Indicates whether the Customer wants to include personal accident cover for passengers in the insured
            vehicle. 
        RoadsideAssistance:
          type: boolean
          description: Indicates whether the Customer wants to include roadside assistance services in the motor insurance policy.
        ProtectedNoClaims:
          type: boolean
          description: 'Indicates whether the Customer wants to protect their No Claims Discount (NCD) in the event of a claim. '
        AgencyRepairs:
          type: boolean
          description: >-
            Indicates whether the Customer wants repairs to be carried out at the vehicle manufacturer’s authorized
            service center (agency repairs) rather than at non-agency garages. 
        LossOfKeys:
          type: boolean
          description: Indicates whether the Customer wants Cover for the cost of replacing lost, stolen, or damaged car keys.
        HireCar:
          type: boolean
          description: >-
            Indicates whether the Customer wants to include a temporary replacement vehicle (rental car) in case their
            insured vehicle is under repair due to a covered claim.
        GCC:
          type: boolean
          description: >-
            Indicates whether the Customer wants to extend the motor insurance Cover to other Gulf Cooperation Council
            (GCC) countries.
        OmanCover:
          type: boolean
          description: Indicates whether the Customer wants to extend the motor insurance Cover to Oman
      additionalProperties: false
    AEMotorInsuranceQuotePolicyProperties:
      type: object
      required:
        - Takaful
        - CarUsage
        - CarValuation
        - OptionalCoverAddOns
      properties:
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        CoverType:
          $ref: '#/components/schemas/AEMotorInsuranceQuoteCoverTypes'
        RegistrationType:
          type: string
          enum:
            - New
            - RenewalOfExistingVehicle
          description: >-
            Indicates whether the policy is for a brand new car, renewal of registration and insurance or a change of
            ownership (purchasing a pre-owned / 'second-hand' car)
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
        CarUsage:
          type: string
          enum:
            - Private
            - Commercial
          description: The primary purpose of the vehicle usage
        CarValuation:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The assessed value of the insured vehicle
        OptionalCoverAddOns:
          $ref: '#/components/schemas/AEMotorInsuranceQuoteOptionalCoverAddOnsProperties'
      additionalProperties: false
    AEMotorInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - VehicleDetails
        - CarRegistration
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          $ref: '#/components/schemas/AEMotorInsuranceQuotePolicyProperties'
        VehicleDetails:
          type: object
          properties:
            EngineNumber:
              type: string
              description: The identification of the motor vehicle engine
            ModelYear:
              type: string
              pattern: ^[0-9]{4}$
              description: The manufacturing year of the vehicle.
            Make:
              type: string
              description: The brand or manufacturer of the vehicle.
            Model:
              type: string
              description: The specific model name of the vehicle.
            Trim:
              type: string
              description: The variant or trim level of the vehicle, indicating features and specifications
            BodyType:
              type: string
              enum:
                - Saloon
                - 4WD
                - Pickup
                - Truck
                - TrailerHead
                - Trailer
                - Water
                - Fuel Tanker
                - Buses
                - Dumper
                - Agriculture
                - Forklift
                - Heavy Equipment
                - Motorcycle
                - Others
              description: 'The type motor vehicle like saloon, Station/SUV, coupe '
            Color:
              type: string
              description: The exterior colour of the vehicle.
            LoadingCapacity:
              type: string
              description: The maximum weight the vehicle can carry, including passengers and cargo
            Weight:
              type: integer
              description: The total weight of the vehicle when empty to nearest kilograms
            CountryOfOrigin:
              type: string
              pattern: ^[A-Z]{3}$
              description: The country where the vehicle was manufactured
            NoOfPassengersIncDriver:
              type: integer
              description: The number of passengers that can be carried in the car
            Mileage:
              type: integer
              description: Vehicle mileage to nearest kilometre
            EngineProperties:
              allOf:
                - $ref: '#/components/schemas/AEEngineProperties'
              description: Properties of the vehicle engine.
            ChassisNumber:
              type: string
              minLength: 17
              maxLength: 17
              description: The chassis number (Vehicle Identification Number - VIN) of the motor vehicle to be insured
            PlateCode:
              type: string
              description: Plate code of the vehicle registration plate that identifies the Emirate where the vehicle is registered
            PlateNumber:
              type: string
              description: Vehicle registration plate number
            PlateSource:
              type: string
              enum:
                - AUH
                - DXB
                - SHJ
                - AJM
                - UAQ
                - RAK
                - FUJ
              description: The abbreviation of the Emirate where a vehicle's license plate is registered
            Transmission:
              type: string
              enum:
                - Automatic
                - Manual
              description: The type of transmission system in the vehicle
            Specification:
              type: string
              enum:
                - GCC
                - NonGCC
              description: Confirm whether the car specification is a Gulf Cooperation Council (GCC) specification.
          required:
            - ModelYear
            - Make
            - Model
            - Trim
            - BodyType
            - NoOfPassengersIncDriver
            - EngineProperties
            - Specification
          additionalProperties: false
        CarRegistration:
          type: object
          properties:
            EmirateOfRegistration:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmirate'
              description: The Emirate where the insured motor vehicle was registered
            DateOfFirstRegistration:
              type: string
              format: date
              description: Date the motor vehicle was first registered
            RegistrationExpiry:
              type: string
              format: date
              description: Date when the current registration expires.
            ValidMulkiyaHeld:
              type: boolean
              description: >-
                Confirmation whether the Mulkiya (vehicle registration card) is held by the applicant/customer. The
                Mulkiya document is collected by the LFI if the Customer elects to proceed with the quote.
          required:
            - EmirateOfRegistration
          additionalProperties: false
        MainDriver:
          type: object
          properties:
            Salutation:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
              description: The salutation of the individual or customer.
            FirstName:
              type: string
              minLength: 1
              maxLength: 70
              description: First Name of the individual.
            MiddleName:
              type: string
              minLength: 1
              maxLength: 70
              description: Middle Name of the individual.
            LastName:
              type: string
              minLength: 1
              maxLength: 70
              description: Last Name (Surname) of the individual.
            Gender:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceGender'
              description: The gender of the customer
            DateOfBirth:
              type: string
              format: date
              description: Date of birth of the individual.
            MaritalStatus:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
              description: The marital status of the individual.
            ResidentialLocation:
              type: string
              description: Residential Location of the individual.
            LandlineNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              pattern: ^\+?[1-9]\d{1,14}$
              description: The landline telephone number of the individual.
            Nationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
            PrimaryLanguage:
              allOf:
                - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
              description: Primary language spoken by the insurance policy customer
            MobileNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              description: The mobile telephone number of the individual.
            EmailAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
              description: Email address of the individual.
            Address:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceAddress'
              minItems: 1
              description: Customer's address details
            Identity:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
              description: Identification details of the main driver.
            DrivingLicenseHistory:
              type: object
              properties:
                DrivingLicenseNumber:
                  type: string
                  description: The policyholder or applicant driving license number.
                DrivingLicenseIssuingEmirate:
                  $ref: '#/components/schemas/AEInsuranceEmirate'
                TimeDrivingInUAE:
                  allOf:
                    - $ref: '#/components/schemas/AEDurationYearsAndMonths'
                  description: >-
                    The total duration (in years and months) that the policyholder or applicant has been actively
                    driving in the UAE
                DrivingLicenseIssueDate:
                  type: string
                  format: date
                  description: The date when the policyholder or applicant UAE driving license was issued.
                DrivingLicenseExpiryDate:
                  type: string
                  format: date
                  description: The date the driving license will expire
                TCNumber:
                  type: string
                  pattern: ^[0-9]{8}$
                  description: Unique ID which links individual traffic file to driver and car registration
                VCCNumber:
                  type: string
                HiyazaCertificateNumber:
                  type: string
              required:
                - TimeDrivingInUAE
              description: Confirmation of the main driver's driving license details and driving history
              additionalProperties: false
            MotorClaims:
              type: object
              properties:
                MotorClaimInLast24Months:
                  type: boolean
                  description: Indicates whether the insured has made a motor insurance claim in the last 24 months
                MotorLastClaimMade:
                  type: string
                  format: date
                  description: The date when the most recent motor insurance claim was made
                NoClaimsCertificate:
                  type: string
                  enum:
                    - NoNCD
                    - 1Year
                    - 2Years
                    - 3Years
                    - 4Years
                    - 5+Years
                  description: >-
                    Confirmation whether the insured has a No Claim Certificate issued by the previous insurer
                    confirming the insured's no-claims history.  The customer must be advised that the No Claims
                    Certificate will be required by the LFI if they decide to proceed with the application
              required:
                - MotorClaimInLast24Months
                - NoClaimsCertificate
              description: Details of motor insurance claims made by the proposer.
              additionalProperties: false
          required:
            - DateOfBirth
            - Nationality
            - DrivingLicenseHistory
            - MotorClaims
          additionalProperties: false
        AdditionalDrivers:
          type: array
          items:
            type: object
            properties:
              RelationshipToMainDriver:
                type: string
                enum:
                  - Spouse
                  - Parent
                  - Sibling
                  - Child
                  - Friend
                  - Employee
                  - Other
                description: The additional driver's relationship to the main driver
              FullName:
                type: string
                minLength: 1
                maxLength: 140
                description: Full name of the additional driver
              DateOfBirth:
                type: string
                format: date
                description: Date of birth of the individual.
              Gender:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceGender'
                description: The gender of the customer
              Nationality:
                type: string
                pattern: ^[A-Z]{3}$
                description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
              DrivingLicenseNumber:
                type: string
                description: The policyholder or applicant driving license number.
              DrivingLicenseIssuingEmirate:
                $ref: '#/components/schemas/AEInsuranceEmirate'
              TimeDrivingInUAE:
                allOf:
                  - $ref: '#/components/schemas/AEDurationYearsAndMonths'
                description: >-
                  The total duration (in years and months) that the policyholder or applicant has been actively driving
                  in the UAE
              DrivingLicenseIssueDate:
                type: string
                format: date
                description: The date when the policyholder or applicant UAE driving license was issued.
              DrivingLicenseExpiryDate:
                type: string
                format: date
                description: The date the driving license will expire
              Identity:
                allOf:
                  - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
                description: Identification details of the additional driver.
            required:
              - RelationshipToMainDriver
              - FullName
              - DateOfBirth
              - Nationality
              - DrivingLicenseNumber
              - DrivingLicenseIssueDate
            additionalProperties: false
          minItems: 1
          description: Required if additional drivers are to be covered under the motor insurance cover
        ExistingPolicy:
          type: object
          properties:
            InsurerName:
              type: string
              description: The Insurance Company Name when existing motor insurance cover is held
            ExistingPolicyNumber:
              type: string
              description: The Insurance Policy Number when existing motor insurance cover is held
            CurrentInsuranceActive:
              type: boolean
              description: Indicator to confirm the car is currently covered by an existing active insurance policy
            TypeOfCurrentInsurance:
              $ref: '#/components/schemas/AEMotorInsuranceQuoteCoverTypes'
            CurrentInsuranceExpiryDate:
              type: string
              format: date
              description: The date the existing insurance cover will expire
            AgencyRepairsIncluded:
              type: boolean
              description: >-
                Yes' / 'No' confirmation  whether the existing policy includes repairs at the authorized dealer or
                manufacturers service centre
            BreakdownCoverIncluded:
              type: boolean
              description: Yes' / 'No' confirmation whether the policy includes breakdown roadside assistance Cover
          required:
            - InsurerName
            - CurrentInsuranceActive
            - TypeOfCurrentInsurance
            - CurrentInsuranceExpiryDate
          description: Required when the RegistrationType selected is Renewal
          additionalProperties: false
        CarFinance:
          type: object
          properties:
            BankName:
              type: string
              minLength: 1
              maxLength: 70
              description: Confirm the Bank or registered finance company providing the car finance.
            FinanceAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: The finance amount secured against the car.
            FinanceStartDate:
              type: string
              format: date
              description: Finance start date
            FinanceEndDate:
              type: string
              format: date
              description: Finance end date
            FinanceTerm:
              type: integer
              description: The finance term in months
          required:
            - BankName
          description: >-
            Confirmation whether a finance will be or is being used to purchase the car and the finance is secured by a
            mortgage over the car. This value can be omitted when the finance is for other purposes.
          additionalProperties: false
      additionalProperties: false
    AEOnBehalfOf:
      type: object
      properties:
        TradingName:
          type: string
          description: Trading Name
        LegalName:
          type: string
          description: Legal Name
        IdentifierType:
          allOf:
            - $ref: '#/components/schemas/AEOnBehalfOfIdentifierType'
          description: Identifier Type
        Identifier:
          type: string
          description: Identifier
      additionalProperties: false
    AEOnBehalfOfIdentifierType:
      type: string
      enum:
        - Other
    AEPatchConsent:
      type: object
      required:
        - Status
      properties:
        Status:
          allOf:
            - $ref: '#/components/schemas/AEPatchConsentStatus1'
          description: >-
            The Revoked status must only be set if the current Consent Status is set to either Authorized or
            AwaitingAuthorization
        RevokedBy:
          allOf:
            - $ref: '#/components/schemas/AERevokedByCode'
          description: Denotes the Identifier of the revocation.
      additionalProperties: false
    AEPatchConsentStatus1:
      type: string
      enum:
        - Revoked
    AEReadEmploymentInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEEmploymentInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadEmploymentInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadEmploymentInsurancePolicy1'
      additionalProperties: false
    AEReadHealthInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEHealthInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadHealthInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadHealthInsurancePolicy1'
      additionalProperties: false
    AEReadHomeInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEHomeInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadHomeInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadHomeInsurancePolicy1'
      additionalProperties: false
    AEReadInsuranceConsent1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEReadInsuranceConsent1Properties'
        Subscription:
          $ref: '#/components/schemas/EventNotification'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadInsuranceConsent1Properties:
      type: object
      required:
        - ConsentId
        - Permissions
        - ExpirationDateTime
        - OpenFinanceBilling
        - CreationDateTime
        - Status
        - StatusUpdateDateTime
      properties:
        ConsentId:
          $ref: '#/components/schemas/uuid'
        BaseConsentId:
          $ref: '#/components/schemas/uuid'
        Permissions:
          type: array
          items:
            $ref: '#/components/schemas/AEConsentPermissions'
          minItems: 1
          description: >-
            Specifies the permitted insurance policy data types.

            This is a list of the data groups being consented by the User, and requested for authorization with the
            LFI.    
        ExpirationDateTime:
          type: string
          format: date-time
          description: >-
            Specified date and time the permissions will expire.

            If this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented
            in ISO 8601 date-time format. 

            All date-time fields in responses must include the timezone. An example is below:

            2017-04-05T10:43:07+00:00
        OnBehalfOf:
          $ref: '#/components/schemas/AEOnBehalfOf'
        OpenFinanceBilling:
          type: object
          properties:
            IsLargeCorporate:
              type: boolean
              description: Customer has more than 100 million AED turnover
            Purpose:
              type: string
              enum:
                - AccountAggregation
                - RiskAssessment
                - PremiumHistory
                - ClaimHistory
                - Onboarding
                - Verification
                - QuoteComparison
                - FinancialAdvice
                - Other
              description: Purpose of data sharing request.
          required:
            - Purpose
          additionalProperties: false
        CreationDateTime:
          type: string
          format: date-time
          description: >-
            Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601
            date-time format.

            All date-time fields in responses must include the timezone, as shown in this example:
            2017-04-05T10:43:07+00:00
        Status:
          allOf:
            - $ref: '#/components/schemas/AEConsentStatusCode'
          description: Specifies the status of consent resource in code form.
        StatusUpdateDateTime:
          type: string
          format: date-time
          description: >-
            Date and time at which the account resource status was updated. All dates in the JSON payloads are
            represented in ISO 8601 date-time format.

            All date-time fields in responses must include the timezone, as shown in this example:
            2017-04-05T10:43:07+00:00
        RevokedBy:
          allOf:
            - $ref: '#/components/schemas/AERevokedByCode'
          description: Denotes the Identifier of the revocation.
      additionalProperties: false
    AEReadInsuranceConsent1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadInsuranceConsent1'
      additionalProperties: false
    AEReadInsuranceConsents1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/AEReadInsuranceConsent1Properties'
        Links:
          $ref: '#/components/schemas/LinksResource'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEReadInsuranceConsents1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadInsuranceConsents1'
      additionalProperties: false
    AEReadInsurancePolicies1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEInsurancePolicies1'
        Links:
          $ref: '#/components/schemas/LinksResource'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEReadLifeInsurancePolicies1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AELifeInsurancePolicies1'
        Links:
          $ref: '#/components/schemas/LinksResource'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEReadLifeInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AELifeInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadLifeInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadLifeInsurancePolicy1'
      additionalProperties: false
    AEReadMotorInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEMotorInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadMotorInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadMotorInsurancePolicy1'
      additionalProperties: false
    AEReadPaymentDetails1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEInsurancePaymentDetails'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadPaymentDetails1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadPaymentDetails1'
      additionalProperties: false
    AEReadRentersInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AERentersInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadRentersInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadRentersInsurancePolicy1'
      additionalProperties: false
    AEReadTravelInsurancePolicy1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AETravelInsurancePolicyProperties1'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadTravelInsurancePolicy1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEReadTravelInsurancePolicy1'
      additionalProperties: false
    AERentersInsuranceImportantQuestions:
      type: object
      required:
        - UnoccupiedOverSixtyDays
      properties:
        PrimaryResidence:
          type: boolean
          description: Confirmation whether the property is the customer's primary residence
        BusinessPurposes:
          type: boolean
          description: Confirmation whether the property will be used for business purposes
        PropertyOccupation:
          type: boolean
          description: Confirmation whether the property will be occupied solely by the customer, their family and Domestic Helper?
        DayTimeOccupation:
          type: boolean
          description: Confirmation whether the home will be occupied during the day time.
        UnoccupiedOverSixtyDays:
          type: boolean
          description: Confirmation whether the property will be left un-occupied for more than 60 days.
        NumberOfTenants:
          type: integer
          description: The number of other tenants when the property will not be solely occupied by the customer and their family.
      additionalProperties: false
    AERentersInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCustomerQuoteProperties'
          description: Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User.
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          type: object
          properties:
            Policy:
              type: object
              properties:
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                ProductName:
                  type: string
                  description: Business name of the policy product as provided externally to the customer.
                PolicyExcess:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: When applicable, the amount that would be deductible from any claim.
                PolicyCoverAndBenefits:
                  type: array
                  items:
                    type: object
                    properties:
                      CoverType:
                        type: string
                        description: Type of cover as defined in company systems.
                      Description:
                        type: string
                        description: Description of the cover / benefit.
                      Required:
                        type: boolean
                        description: >-
                          To confirm whether the cover or benefit is required as part of the base insurance policy or is
                          optional.
                      CoverLimit:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                      CoverInclusionsAndExclusions:
                        type: array
                        items:
                          type: object
                          properties:
                            InclusionAndExclusionDescription:
                              type: string
                              description: Description of the inclusion or exclusion.
                          required:
                            - InclusionAndExclusionDescription
                          additionalProperties: false
                        minItems: 1
                        description: included inclusions and exclusions for cover type.
                      CoverExcess:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the amount that would be deductible from any claim.
                      CoverID:
                        type: string
                        description: Insurers internal unique ID for specific cover.
                    required:
                      - CoverType
                      - Description
                      - Required
                    additionalProperties: false
                  minItems: 1
                  description: Cover and benefits provided by the policy.
                PolicyPurchaseChannelType:
                  type: string
                  enum:
                    - Direct
                    - Agent
                    - Broker
                    - Bank
                    - InvFinInst
                    - TPA
                    - OnlineInsideUAE
                    - OnlineOutsideUAE
                    - Aggregation
                    - Outside
                    - Other
                  description: Sales channel of policy.
              required:
                - PolicyStartDate
                - Takaful
                - ProductName
                - PolicyCoverAndBenefits
                - PolicyPurchaseChannelType
              description: Details of the policy.
              additionalProperties: false
            PropertyDetails:
              type: object
              properties:
                TypeOfProperty:
                  type: string
                  enum:
                    - House
                    - Villa
                    - Apartment
                    - Flat
                    - Other
                  description: Based on enumeration values.
                OwnershipStatus:
                  type: string
                  enum:
                    - Owner
                    - OwnerWithMortgage
                    - Landlord
                    - Tenant
                  description: Based on enumeration values.
                Construction:
                  type: string
                  enum:
                    - ClassA
                    - ClassB
                    - ClassC
                  description: Type of construction
                OverTenYears:
                  type: boolean
                  description: Confirmation whether the property is over 10 years old
                FloodDamage:
                  type: boolean
                  description: >-
                    Confirmation whether the buildings and/or contents have suffered damage by storm, tempest or flood
                    during the past five years
                NumberOfAdults:
                  type: integer
                  description: The number of adults that will be living in the home
                NumberOfChildren:
                  type: integer
                  description: The number of children that will be living in the home
                NumberOfFloors:
                  type: integer
                  description: The total number of floors in the insured property, including all above-ground levels.
                NumberOfRooms:
                  type: integer
                  description: 'The total number of rooms within the property, excluding bathrooms. '
                InsuredPropertyAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceAddressProperties'
                  description: The full address of the property to be insured
                SafetySecurityFeatures:
                  type: object
                  properties:
                    DistanceFromShoreline:
                      type: string
                      description: 'The shortest distance from the insured property to the nearest coastline, measured in meters '
                    DistanceAboveSeaLevel:
                      type: string
                      description: The elevation of the insured property above sea level, measured in meters
                    InDesignatedFloodZone:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured is in a Designated Flood
                        Zone
                    WaterLeakDetectionSystems:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Water Leak Detection
                        Systems
                    BurglarAlarm:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has a burglar installed
                    SurveillanceCameras:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Surveillance or Security
                        Cameras
                    DoorCamera:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has a door camera
                    SecurityGuards:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Security Guards employed
                    SmokeDetectors:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Smoke Detectors
                        installed
                    FireExtinguishers:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Fire Extinguishers
                    SprinklerSystem:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Sprinkler System
                        installed
                    DeadboltLocks:
                      type: boolean
                      description: >-
                        Confirmation whether the property to be insured or is being insured has Dead bolt Locks
                        installed
                    WindowLocks:
                      type: boolean
                      description: Confirmation whether the property to be insured or is being insured has Window Locks installed
                  description: Details of property safety and security features.
                  additionalProperties: false
                YearOfConstruction:
                  type: string
                  pattern: ^[0-9]{4}$
                  description: Year of construction
                ConstructionType:
                  type: string
                  enum:
                    - Concrete
                    - Wood
                    - Mixed
                    - Other
                  description: Construction type, based on enumeration values.
                FoundationType:
                  type: string
                  enum:
                    - Slab
                    - CrawlSpace
                    - Basement
                  description: Foundation type, based on enumeration values.
                ExteriorWalls:
                  type: string
                  enum:
                    - Brick
                    - Stone
                    - Concrete
                    - Stucco
                    - Wood
                    - Other
                  description: Exterior wall construction, based on enumeration values.
                RoofType:
                  type: string
                  enum:
                    - Tile
                    - Shingle
                    - Metal
                    - Other
                  description: Type of rooting, based on enumeration values.
                PropertyCondition:
                  type: string
                  enum:
                    - Excellent
                    - Good
                    - Fair
                    - Poor
                  description: Property condition, based on enumeration values.
                UsageByApplicant:
                  type: string
                  enum:
                    - PrimaryResidence
                    - SecondaryResidence
                    - RentalProperty
                    - VacantProperty
                    - Other
                  description: Property usage, based on enumeration values.
                NumberOfCurrentOccupants:
                  type: integer
                  description: The total number of people currently residing or will be residing in the insured property.
                TotalBuiltUpArea:
                  type: integer
                  description: Total built-up area in square meters.
                NumberOfBathrooms:
                  type: integer
                  description: The total number of bathrooms in the property, including full and half-bathrooms
                NumberOfBedrooms:
                  type: integer
                  description: The total number of bedrooms in the insured property
                PresenceOfAttic:
                  type: boolean
                  description: Indicates whether the insured property has an attic
                PresenceOfBasement:
                  type: boolean
                  description: Indicates whether the insured property has a basement
                TypeOfCoolingSystem:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The primary cooling system installed in the property
                AgeOfCoolingSystem:
                  type: string
                  description: Age of the cooling system in years.
                TypeOfHeatingSystem:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The primary heating system used in the property
                AgeOfHeatingSystem:
                  type: string
                  description: Age of the heating system in years
                AdditionalStructures:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: >-
                    Any detached structures on the property, such as garages, sheds, guesthouses, or swimming pools.
                    Omitted if none present at property.
                ConsecutiveDaysUnoccupied:
                  type: integer
                  description: >-
                    The maximum number of consecutive days the property is expected to be unoccupied during the policy
                    period
              required:
                - TypeOfProperty
              description: Details of the rented property.
              additionalProperties: false
            LeaseDetails:
              type: object
              properties:
                TermType:
                  type: string
                  description: >-
                    Confirmation whether the lease duration is a short-term lease, one-year lease or long-term lease
                    when greater than one year.
                StartDate:
                  type: string
                  format: date
                  description: The date when the lease agreement for the rented property begins.
                EndDate:
                  type: string
                  format: date
                  description: The date when the lease agreement for the rented property ends.
                FurnishingStatus:
                  type: string
                  enum:
                    - Furnished
                    - SemiFurnished
                    - Unfurnished
                  description: Furnishing status at start of lease
                LandlordFullName:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: The Landlord's full name
                LandlordTelephoneNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: Phone number of the property Landlord
                LandlordEmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the property Landlord
                MonthlyRentAmount:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: The agreed monthly rental amount for the leased property.
              description: Details of the lease. Omitted if no data is available.
              minProperties: 1
              additionalProperties: false
            ContentsCoverDetails:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceDataSharingContentsCoverDetails'
              description: Required when Cover is ContentsCover
            PersonalBelongings:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceDataSharingPersonalBelongings'
              description: Details of the contents, if contents cover is included.
            DomesticHelpers:
              allOf:
                - $ref: '#/components/schemas/AERentersInsuranceQuoteDomesticHelperProperties'
              description: Details of domestic helper cover, if domestic helper cover is included.
            ImportantQuestions:
              type: object
              properties:
                PrimaryResidence:
                  type: boolean
                  description: Confirmation whether the property is the customer's primary residence
                BusinessPurposes:
                  type: boolean
                  description: Confirmation whether the property will be used for business purposes
                PropertyOccupation:
                  type: boolean
                  description: >-
                    Confirmation whether the property will be occupied solely by the customer, their family and Domestic
                    Helper?
                DayTimeOccupation:
                  type: boolean
                  description: Confirmation whether the home will be occupied during the day time.
                UnoccupiedOverSixtyDays:
                  type: boolean
                  description: Confirmation whether the property will be left un-occupied for more than 60 days.
                NumberOfTenants:
                  type: integer
                  description: >-
                    The number of other tenants when the property will not be solely occupied by the customer and their
                    family.
              description: Important questions asked when the policy was created. Omitted if not available.
              minProperties: 1
              additionalProperties: false
          required:
            - Policy
            - PropertyDetails
          description: >-
            Information about the insurance product. Requires `ReadInsuranceProduct` permission to be granted by the
            User.
          additionalProperties: false
        Claims:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingClaimsWithLossCauseProperties'
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AERentersInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                ContentsCover:
                  type: boolean
                  description: 'Confirmation whether the customer wishes to include Contents cover '
                AccidentalDamageCover:
                  type: boolean
                  description: Confirmation whether the customer wishes to include Accidental Damage cover.
                PersonalBelongingsCover:
                  type: boolean
                  description: Confirmation whether the customer wishes to include Personal Belongings cover.
                LiabilityCover:
                  type: boolean
                  description: Confirmation whether the customer wishes to include Liability cover.
                AlternativeAccommodation:
                  type: boolean
                  description: >-
                    Confirmation whether the customer wishes to include cover for temporary housing expenses if the
                    rented property becomes uninhabitable due to an insured peril.
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            PolicyHolder:
              type: object
              properties:
                Salutation:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
                  description: The salutation of the individual or customer.
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                MiddleName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Middle Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                MaritalStatus:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
                  description: The marital status of the individual.
                ResidentialLocation:
                  type: string
                  description: Residential Location of the individual.
                LandlineNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  pattern: ^\+?[1-9]\d{1,14}$
                  description: The landline telephone number of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                PrimaryLanguage:
                  allOf:
                    - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
                  description: Primary language spoken by the insurance policy customer
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  description: Address details
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  description: Identification details of the policyholder.
                EmployerName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Employer name.
                Profession:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: The individuals profession.
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            DomesticHelpers:
              type: object
              properties:
                NumberOfDomesticHelpers:
                  type: integer
                  description: >-
                    Required when Domestic Helpers cover is required.  Confirms the number of Domestic Helpers to be
                    covered
                IndividualDetails:
                  type: array
                  items:
                    type: object
                    properties:
                      FirstName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: First Name of the individual.
                      LastName:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Last Name (Surname) of the individual.
                      Nationality:
                        type: string
                        pattern: ^[A-Z]{3}$
                        description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                      DateOfBirth:
                        type: string
                        format: date
                        description: Date of birth of the individual.
                      PassportNumber:
                        type: string
                        description: Passport number
                    description: The template for adding optional properties.
                    additionalProperties: false
                  description: Domestic Helpers details when included in the insurance cover
              minProperties: 1
              description: Revised details, verified by the TPP.
              additionalProperties: false
            LeaseDetails:
              type: object
              properties:
                TermType:
                  type: string
                  description: >-
                    Confirmation whether the lease duration is a short-term lease, one-year lease or long-term lease
                    when greater than one year.
                StartDate:
                  type: string
                  format: date
                  description: The date when the lease agreement for the rented property begins.
                EndDate:
                  type: string
                  format: date
                  description: The date when the lease agreement for the rented property ends.
                FurnishingStatus:
                  type: string
                  enum:
                    - Furnished
                    - SemiFurnished
                    - Unfurnished
                  description: Furnishing status at start of lease
                LandlordFullName:
                  type: string
                  minLength: 1
                  maxLength: 140
                  description: The Landlord's full name
                LandlordTelephoneNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: Phone number of the property Landlord
                LandlordEmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the property Landlord
                MonthlyRentAmount:
                  type: object
                  properties:
                    Currency:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricAmount'
                  description: The agreed monthly rental amount for the leased property.
                  additionalProperties: false
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            ExistingInsurance:
              type: object
              properties:
                CoverType:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
                  description: The type of existing insurance cover held
                ProviderName:
                  type: string
                  description: The name of the existing home insurance provider
                ExpiryDate:
                  type: string
                  description: The expiry date of the existing home insurance cover
                ReplacementCover:
                  type: boolean
                  description: Confirmation of whether this proposal will replace the existing insurance cover
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AERentersInsuranceQuoteDomesticHelperIndividualDetailsProperties:
      type: object
      required:
        - FirstName
        - LastName
        - Nationality
        - DateOfBirth
      properties:
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        PassportNumber:
          type: string
          description: Passport number
      additionalProperties: false
    AERentersInsuranceQuoteDomesticHelperProperties:
      type: object
      required:
        - NumberOfDomesticHelpers
      properties:
        NumberOfDomesticHelpers:
          type: integer
          description: Required when Domestic Helpers cover is required.  Confirms the number of Domestic Helpers to be covered
        IndividualDetails:
          type: array
          items:
            $ref: '#/components/schemas/AERentersInsuranceQuoteDomesticHelperIndividualDetailsProperties'
          description: Domestic Helpers details when included in the insurance cover
      additionalProperties: false
    AERentersInsuranceQuoteExistingInsuranceProperties:
      type: object
      required:
        - CoverType
        - ProviderName
        - ExpiryDate
        - ReplacementCover
      properties:
        CoverType:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuoteTypeOfCover'
          description: The type of existing insurance cover held
        ProviderName:
          type: string
          description: The name of the existing home insurance provider
        ExpiryDate:
          type: string
          description: The expiry date of the existing home insurance cover
        ReplacementCover:
          type: boolean
          description: Confirmation of whether this proposal will replace the existing insurance cover
      additionalProperties: false
    AERentersInsuranceQuoteLeaseProperties:
      type: object
      required:
        - TermType
        - StartDate
        - LandlordFullName
        - LandlordTelephoneNumber
      properties:
        TermType:
          type: string
          description: >-
            Confirmation whether the lease duration is a short-term lease, one-year lease or long-term lease when
            greater than one year.
        StartDate:
          type: string
          format: date
          description: The date when the lease agreement for the rented property begins.
        EndDate:
          type: string
          format: date
          description: The date when the lease agreement for the rented property ends.
        FurnishingStatus:
          type: string
          enum:
            - Furnished
            - SemiFurnished
            - Unfurnished
          description: Furnishing status at start of lease
        LandlordFullName:
          type: string
          minLength: 1
          maxLength: 140
          description: The Landlord's full name
        LandlordTelephoneNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: Phone number of the property Landlord
        LandlordEmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the property Landlord
        MonthlyRentAmount:
          allOf:
            - $ref: '#/components/schemas/AEActiveCurrencyAmount'
          description: The agreed monthly rental amount for the leased property.
      additionalProperties: false
    AERentersInsuranceQuotePolicyHolderProperties:
      type: object
      properties:
        Salutation:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
          description: The salutation of the individual or customer.
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        MiddleName:
          type: string
          minLength: 1
          maxLength: 70
          description: Middle Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        MaritalStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
          description: The marital status of the individual.
        ResidentialLocation:
          type: string
          description: Residential Location of the individual.
        LandlineNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          pattern: ^\+?[1-9]\d{1,14}$
          description: The landline telephone number of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        PrimaryLanguage:
          allOf:
            - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
          description: Primary language spoken by the insurance policy customer
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
          description: Customer's address details
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
        EmployerName:
          type: string
          minLength: 1
          maxLength: 70
          description: Employer name.
        Profession:
          type: string
          minLength: 1
          maxLength: 70
          description: The individuals profession.
      additionalProperties: false
    AERentersInsuranceQuotePolicyProperties:
      type: object
      required:
        - Takaful
      properties:
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        ContentsCover:
          type: boolean
          description: 'Confirmation whether the customer wishes to include Contents cover '
        AccidentalDamageCover:
          type: boolean
          description: Confirmation whether the customer wishes to include Accidental Damage cover.
        PersonalBelongingsCover:
          type: boolean
          description: Confirmation whether the customer wishes to include Personal Belongings cover.
        LiabilityCover:
          type: boolean
          description: Confirmation whether the customer wishes to include Liability cover.
        AlternativeAccommodation:
          type: boolean
          description: >-
            Confirmation whether the customer wishes to include cover for temporary housing expenses if the rented
            property becomes uninhabitable due to an insured peril.
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
      additionalProperties: false
    AERentersInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
        - PropertyDetails
        - PropertyClaims
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          $ref: '#/components/schemas/AERentersInsuranceQuotePolicyProperties'
        PolicyHolder:
          $ref: '#/components/schemas/AERentersInsuranceQuotePolicyHolderProperties'
        PropertyDetails:
          type: object
          properties:
            TypeOfRentalProperty:
              type: string
              enum:
                - House
                - Villa
                - Apartment
                - Flat
                - SharedAccommodation
                - Other
              description: Based on enumeration values.
            OwnershipStatus:
              type: string
              enum:
                - Owner
                - OwnerWithMortgage
                - Landlord
                - Tenant
              description: Based on enumeration values.
            Construction:
              type: string
              enum:
                - ClassA
                - ClassB
                - ClassC
              description: Type of construction
            OverTenYears:
              type: boolean
              description: Confirmation whether the property is over 10 years old
            FloodDamage:
              type: boolean
              description: >-
                Confirmation whether the buildings and/or contents have suffered damage by storm, tempest or flood
                during the past five years
            NumberOfAdults:
              type: integer
              description: The number of adults that will be living in the home
            NumberOfChildren:
              type: integer
              description: The number of children that will be living in the home
            NumberOfFloors:
              type: integer
              description: The total number of floors in the insured property, including all above-ground levels.
            NumberOfRooms:
              type: integer
              description: 'The total number of rooms within the property, excluding bathrooms. '
            InsuredPropertyAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceAddressProperties'
              description: The full address of the property to be insured
            SafetySecurityFeatures:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSafetySecurityFeatures'
              description: Details of property safety and security features.
          required:
            - TypeOfRentalProperty
          additionalProperties: false
        ContentsCoverDetails:
          $ref: '#/components/schemas/AEInsuranceQuoteContentsCoverDetails'
        PersonalBelongings:
          $ref: '#/components/schemas/AEInsuranceQuotePersonalBelongings'
        DomesticHelpers:
          allOf:
            - $ref: '#/components/schemas/AERentersInsuranceQuoteDomesticHelperProperties'
          description: >-
            Details of domestic helper cover to be included in the policy. Omitted if cover for domestic helpers if not
            required.
        LeaseDetails:
          allOf:
            - $ref: '#/components/schemas/AERentersInsuranceQuoteLeaseProperties'
          description: Details of the lease.
        PropertyClaims:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuotePropertyClaims'
          description: Details of property claims.
        ExistingInsurance:
          allOf:
            - $ref: '#/components/schemas/AERentersInsuranceQuoteExistingInsuranceProperties'
          description: >-
            Details of existing insurance. This property can be omitted when the applicant or policyholder does not have
            existing insurance.
        PreviousApplications:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceQuotePreviousApplications'
          description: Details of previous applications.
        ImportantQuestions:
          allOf:
            - $ref: '#/components/schemas/AERentersInsuranceImportantQuestions'
          description: Important questions to be provided with quote.
      additionalProperties: false
    AERevokedByCode:
      type: string
      enum:
        - LFI
        - TPP
        - LFI.InitiatedByUser
        - TPP.InitiatedByUser
    AETravelInsuranceDestinationCountry:
      type: string
      pattern: ^[A-Z]{3}$
    AETravelInsurancePolicyProperties1:
      type: object
      required:
        - InsurancePolicyId
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceResourceIdentifierType'
          description: Unique identifier for a given insurance policy
          example: d330c5bb-0889-4596-86bb-17cc9a4a17b5
        PolicyHolder:
          type: object
          properties:
            Salutation:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceSalutationCodes'
              description: The salutation of the individual or customer.
            FirstName:
              type: string
              minLength: 1
              maxLength: 70
              description: First Name of the individual.
            MiddleName:
              type: string
              minLength: 1
              maxLength: 70
              description: Middle Name of the individual.
            LastName:
              type: string
              minLength: 1
              maxLength: 70
              description: Last Name (Surname) of the individual.
            Gender:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceGender'
              description: The gender of the customer
            DateOfBirth:
              type: string
              format: date
              description: Date of birth of the individual.
            MaritalStatus:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceMaritalStatus'
              description: The marital status of the individual.
            ResidentialLocation:
              type: string
              description: Residential Location of the individual.
            LandlineNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              pattern: ^\+?[1-9]\d{1,14}$
              description: The landline telephone number of the individual.
            Nationality:
              type: string
              pattern: ^[A-Z]{3}$
              description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
            PrimaryLanguage:
              allOf:
                - $ref: '#/components/schemas/AECustomerPrimaryLanguage'
              description: Primary language spoken by the insurance policy customer
            MobileNumber:
              allOf:
                - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
              description: The mobile telephone number of the individual.
            EmailAddress:
              allOf:
                - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
              description: Email address of the individual.
            Address:
              type: array
              items:
                $ref: '#/components/schemas/AEInsuranceAddress'
              minItems: 1
              description: Customer's address details
          required:
            - FirstName
            - LastName
            - Gender
            - DateOfBirth
            - Nationality
            - MobileNumber
            - EmailAddress
          description: Information about the customer. Requires `ReadCustomerBasic` permission to be granted by the User.
          additionalProperties: false
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: >-
            Identity information for the policyholder or insured person. Requires `ReadCustomerDetail` permission to be
            granted by the User for the policyholder identity to be provided.
        Product:
          type: object
          properties:
            Policy:
              type: object
              properties:
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                TripDuration:
                  type: integer
                  description: The total number of days the insured individual will be traveling
                NumberOfInsuredCompanions:
                  type: integer
                  description: >-
                    The total number of individuals traveling with the insured person who will also be covered under the
                    policy.
                NumberOfAdults:
                  type: integer
                  description: The total number of adult travellers included in the policy.
                NumberOfChildren:
                  type: integer
                  description: The total number of child travellers included in the policy.
                NumberOfSeniors:
                  type: integer
                  description: The total number of senior travellers included in the policy
                MultiTrip:
                  type: boolean
                  description: Indicates whether the policy is multi-trip
                PurposeOfTravel:
                  type: string
                  enum:
                    - Personal
                    - Business
                  description: The primary reason for travel
                TravellingWith:
                  type: string
                  enum:
                    - Individual
                    - Couple
                    - Family
                    - Group
                  description: The relationship of the insured individual's travel companions
                TravelDestinationRegion:
                  type: string
                  enum:
                    - WithinUAE
                    - Worldwide
                    - WorldwideExcludingUSAandCanada
                  description: The geographical region where the insured individual will be traveling
                TravelDestinationCountryCountries:
                  type: array
                  items:
                    $ref: '#/components/schemas/AETravelInsuranceDestinationCountry'
                  description: The country or countries where the insured individual will be traveling.
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                ProductName:
                  type: string
                  description: Business name of the policy product as provided externally to the customer.
                PolicyExcess:
                  allOf:
                    - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                  description: When applicable, the amount that would be deductible from any claim.
                PolicyCoverAndBenefits:
                  type: array
                  items:
                    type: object
                    properties:
                      CoverType:
                        type: string
                        description: Type of cover as defined in company systems.
                      Description:
                        type: string
                        description: Description of the cover / benefit.
                      Required:
                        type: boolean
                        description: >-
                          To confirm whether the cover or benefit is required as part of the base insurance policy or is
                          optional.
                      CoverLimit:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the benefit coverage limit that could be paid if a claim was made.
                      CoverInclusionsAndExclusions:
                        type: array
                        items:
                          type: object
                          properties:
                            InclusionAndExclusionDescription:
                              type: string
                              description: Description of the inclusion or exclusion.
                          required:
                            - InclusionAndExclusionDescription
                          additionalProperties: false
                        minItems: 1
                        description: included inclusions and exclusions for cover type.
                      CoverExcess:
                        allOf:
                          - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                        description: When applicable, the amount that would be deductible from any claim.
                      CoverID:
                        type: string
                        description: Insurers internal unique ID for specific cover.
                    required:
                      - CoverType
                      - Description
                      - Required
                    additionalProperties: false
                  minItems: 1
                  description: Cover and benefits provided by the policy.
                PolicyPurchaseChannelType:
                  type: string
                  enum:
                    - Direct
                    - Agent
                    - Broker
                    - Bank
                    - InvFinInst
                    - TPA
                    - OnlineInsideUAE
                    - OnlineOutsideUAE
                    - Aggregation
                    - Outside
                    - Other
                  description: Sales channel of policy.
              required:
                - PolicyStartDate
                - TripDuration
                - NumberOfInsuredCompanions
                - NumberOfAdults
                - NumberOfChildren
                - NumberOfSeniors
                - MultiTrip
                - Takaful
                - ProductName
                - PolicyCoverAndBenefits
                - PolicyPurchaseChannelType
              description: Details of the trip or trips cover by the insurance.
              additionalProperties: false
            InsuredParties:
              type: array
              items:
                type: object
                properties:
                  RelationshipToPrimaryTraveller:
                    type: string
                    enum:
                      - Spouse
                      - Child
                      - FamilyMember
                      - GroupMember
                    description: Relationship to the primary traveller.
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  PassportNumber:
                    type: string
                    description: Passport number
                  NameOnPassport:
                    type: string
                    minLength: 1
                    maxLength: 140
                    description: The applicant, policyholder or insured person name as detailed on their passport
                  EmiratesIdNumber:
                    type: string
                    pattern: ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$
                    description: Emirates identification number
                required:
                  - FirstName
                  - LastName
                  - DateOfBirth
                  - Nationality
                additionalProperties: false
              minItems: 1
              description: Details of the travellers cover by the insurance. Omitted if only the policyholder is covered.
            OptionalTravelCoverOptions:
              allOf:
                - $ref: '#/components/schemas/AETravelInsuranceQuoteOptionalTravelCoverOptionProperties'
              description: Details of optional travel cover items. Omitted if none of the listed options are included.
            HighRiskActivities:
              type: array
              items:
                $ref: '#/components/schemas/AETravelInsuranceQuoteHighRiskActivityProperties'
              description: Details of high risk activities included in the cover. Omitted if no high risk activities are included.
          required:
            - Policy
          description: Details of the insurance product. Requires `ReadInsuranceProduct` permission to be granted by the User.
          additionalProperties: false
        Claims:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingClaimsWithLossCauseProperties'
          description: >-
            Details of claims made against the insurance policy. Requires the `ReadCustomerClaims` permission to be
            granted by the User.
        Premium:
          anyOf:
            - $ref: '#/components/schemas/AEInsuranceDataSharingPremiumProperties'
            - $ref: '#/components/schemas/AEInsurancePremiumJWE'
          description: >-
            Details of the insurance policy premium. Requires the `ReadInsurancePremium` permission to be granted by the
            User.
      additionalProperties: false
    AETravelInsuranceQuoteAcceptQuoteRequestProperties:
      type: object
      required:
        - QuoteStatus
        - QuoteReference
        - InsuranceSubType
        - Premium
        - Commission
        - QuoteCreationDateTime
      properties:
        QuoteStatus:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceAcceptedByUserQuoteStatusCodes'
          description: Quote status.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        InsuranceSubType:
          type: string
          minLength: 1
          maxLength: 140
          description: Insurance sub-type, describing the insurance type specific to the sector.
        Premium:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePremiumProperties'
          description: Details of the quoted premium, as provided in the quote response.
        Commission:
          type: object
          properties:
            CommissionAmount:
              allOf:
                - $ref: '#/components/schemas/AEActiveCurrencyAmount'
              description: >-
                The total monetary value of the commission paid to the TPP if the User proceeds with the quote
                application and purchases the policy based on the quote information provided.
            PaymentMethod:
              type: string
              enum:
                - DirectToTPP
                - ThroughAPIHub
              description: >-
                The method to be used to pay the commission to the TPP if the User elects to proceed with the
                application and successfully purchases the policy.
          required:
            - PaymentMethod
          description: Details of the commission, as provided in the quote response.
          additionalProperties: false
        CustomerSalary:
          type: string
          enum:
            - Under4K
            - Over4K
          description: >-
            Confirmation whether the customer monthly salary is less than or greater than AED 4,000 each month. Required
            for Health Insurance.
        QuoteCreationDateTime:
          type: string
          format: date-time
          description: The quote creation date and time, as supplied by the LFI in the property `CreationDateTime`.
        ExpirationDateTime:
          type: string
          format: date-time
          description: The expiration date of the quote, as provided in the quote response, if provided by the LFI.
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/AEDocumentProperties'
          description: >-
            Customer documents encoded for submission to the LFI. Omitted if not required or quote status is
            `ApplicationPending`.
        VerifiedDetails:
          type: object
          properties:
            Policy:
              type: object
              properties:
                PolicyStartDate:
                  type: string
                  format: date
                  description: Policy start date
                PolicyEndDate:
                  type: string
                  format: date
                  description: Policy end date
                NumberOfInsuredCompanions:
                  type: integer
                  description: >-
                    The total number of individuals traveling with the insured person who will also be covered under the
                    policy.
                Takaful:
                  type: boolean
                  description: Indicates whether the policy is Sharia compliant.
                CoverType:
                  type: string
                  enum:
                    - Single
                    - MultiTrip
                  description: The type and extent of insurance Cover selected for the trip
                PurposeOfTravel:
                  type: string
                  enum:
                    - Personal
                    - Business
                  description: The primary reason for travel
                TravellingWith:
                  type: string
                  enum:
                    - Individual
                    - Couple
                    - Family
                    - Group
                  description: The relationship of the insured individual's travel companions
                TravelDestinationRegion:
                  type: string
                  enum:
                    - WithinUAE
                    - Worldwide
                    - WorldwideExcludingUSAandCanada
                  description: The geographical region where the insured individual will be traveling
                TravelDestinationCountries:
                  type: array
                  items:
                    $ref: '#/components/schemas/AETravelInsuranceDestinationCountry'
                  description: The ISO 3166 alpha-3 code of the country or countries of destination.
                AgesOfInsured:
                  type: array
                  items:
                    type: integer
                  description: Ages of all insured parties
                OriginCountry:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The ISO 3166 alpha-3 code of the country of origin.
                OptionalTravelCoverOptions:
                  type: object
                  properties:
                    Gadgets:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Gadgets insurance cover within the
                        policy Cover
                    WinterSports:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional winter sports insurance cover
                        within the policy Cover
                    Cruise:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Cruise insurance cover within the
                        policy Cover
                    Business:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Business insurance cover within
                        the policy Cover
                    Golf:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Golf insurance cover within the
                        policy Cover
                    ScubaDiving:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Scuba Diving insurance cover
                        within the policy Cover
                    AdventureSports:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Adventure Sports insurance cover
                        within the policy Cover
                    TerrorismExtension:
                      type: boolean
                      description: >-
                        Indicator whether the Customer wishes to include the optional Terrorism Extension insurance
                        cover within the policy
                  minProperties: 1
                  additionalProperties: false
              description: Revised details, verified by the TPP.
              minProperties: 1
              additionalProperties: false
            PolicyHolder:
              type: object
              properties:
                FirstName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: First Name of the individual.
                LastName:
                  type: string
                  minLength: 1
                  maxLength: 70
                  description: Last Name (Surname) of the individual.
                DateOfBirth:
                  type: string
                  format: date
                  description: Date of birth of the individual.
                Nationality:
                  type: string
                  pattern: ^[A-Z]{3}$
                  description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                Gender:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceGender'
                  description: The gender of the customer
                EmailAddress:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                  description: Email address of the individual.
                MobileNumber:
                  allOf:
                    - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                  description: The mobile telephone number of the individual.
                Address:
                  type: array
                  items:
                    type: object
                    properties:
                      AddressType:
                        type: string
                        enum:
                          - Billing
                          - Business
                          - Correspondence
                          - DeliveryTo
                          - MailTo
                          - POBox
                          - Postal
                          - Permanent
                          - Residential
                          - Statement
                          - Other
                        description: The type of address.
                      AddressLine:
                        type: array
                        items:
                          $ref: '#/components/schemas/AEInsuranceAddressLine'
                        minItems: 1
                        maxItems: 7
                        description: >-
                          Information that locates and identifies a specific address for a transaction entry, that is
                          presented in free format text.


                          This value should be used where the address is provided or stored as a single string.
                      BuildingNumber:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The unit, apartment, or villa number within a building or community
                      BuildingName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of the building or house.
                      Floor:
                        type: string
                        minLength: 1
                        maxLength: 70
                        description: Floor or storey within a building.
                      StreetName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The name of the street or road where the property is located
                      DistrictName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: The district, community, or neighbourhood where the property is located
                      PostBox:
                        type: string
                        minLength: 1
                        maxLength: 16
                        description: The P.O. Box number assigned to the recipient for mail delivery
                      TownName:
                        type: string
                        minLength: 1
                        maxLength: 140
                        description: Name of a built-up area, such as a town or city
                      CountrySubDivision:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceEmirate'
                        description: >-
                          Country subdivision, such as state or province. This is the Emirate where the address is
                          registered.
                      Country:
                        allOf:
                          - $ref: '#/components/schemas/AEInsuranceCountryCode'
                        description: >-
                          The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                          code.
                    description: The template for adding optional properties.
                    additionalProperties: false
                  minItems: 1
                  minProperties: 1
                Identity:
                  allOf:
                    - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                  minProperties: 1
                  description: Revised identity details, verified by the TPP.
              minProperties: 1
              description: Revised details, verified by the TPP.
              additionalProperties: false
            InsuredTravelers:
              type: array
              items:
                type: object
                properties:
                  IsPrimaryTraveller:
                    type: boolean
                    description: Is the individual the primary traveler?
                  RelationshipToPrimaryTraveller:
                    type: string
                    enum:
                      - Spouse
                      - Child
                      - FamilyMember
                      - GroupMember
                  FirstName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: First Name of the individual.
                  LastName:
                    type: string
                    minLength: 1
                    maxLength: 70
                    description: Last Name (Surname) of the individual.
                  DateOfBirth:
                    type: string
                    format: date
                    description: Date of birth of the individual.
                  Nationality:
                    type: string
                    pattern: ^[A-Z]{3}$
                    description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
                  Gender:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceGender'
                    description: The gender of the customer
                  EmailAddress:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
                    description: Email address of the individual.
                  MobileNumber:
                    allOf:
                      - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
                    description: The mobile telephone number of the individual.
                  Address:
                    type: array
                    items:
                      type: object
                      properties:
                        AddressType:
                          type: string
                          enum:
                            - Billing
                            - Business
                            - Correspondence
                            - DeliveryTo
                            - MailTo
                            - POBox
                            - Postal
                            - Permanent
                            - Residential
                            - Statement
                            - Other
                          description: The type of address.
                        AddressLine:
                          type: array
                          items:
                            $ref: '#/components/schemas/AEInsuranceAddressLine'
                          minItems: 1
                          maxItems: 7
                          description: >-
                            Information that locates and identifies a specific address for a transaction entry, that is
                            presented in free format text.


                            This value should be used where the address is provided or stored as a single string.
                        BuildingNumber:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The unit, apartment, or villa number within a building or community
                        BuildingName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of the building or house.
                        Floor:
                          type: string
                          minLength: 1
                          maxLength: 70
                          description: Floor or storey within a building.
                        StreetName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The name of the street or road where the property is located
                        DistrictName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: The district, community, or neighbourhood where the property is located
                        PostBox:
                          type: string
                          minLength: 1
                          maxLength: 16
                          description: The P.O. Box number assigned to the recipient for mail delivery
                        TownName:
                          type: string
                          minLength: 1
                          maxLength: 140
                          description: Name of a built-up area, such as a town or city
                        CountrySubDivision:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceEmirate'
                          description: >-
                            Country subdivision, such as state or province. This is the Emirate where the address is
                            registered.
                        Country:
                          allOf:
                            - $ref: '#/components/schemas/AEInsuranceCountryCode'
                          description: >-
                            The country associated with the address, represented using the ISO 3166-1 alpha-2 country
                            code.
                      description: The template for adding optional properties.
                      additionalProperties: false
                    minItems: 1
                  Identity:
                    allOf:
                      - $ref: '#/components/schemas/AEInsuranceQuoteVerifiedIdentityProperties'
                    description: Identification details of the insured traveler.
                description: The template for adding optional properties.
                additionalProperties: false
              minItems: 1
              minProperties: 1
              description: Revised details, verified by the TPP.
          description: Verified details captured by the TPP, when the TPP is a Broker. Omitted if not required.
          additionalProperties: false
      additionalProperties: false
    AETravelInsuranceQuoteHighRiskActivityProperties:
      type: object
      required:
        - TravellerName
        - Activities
      properties:
        TravellerName:
          type: string
          description: The name of the traveller who will be participating in the hazardous activities.
        Activities:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceCustomerHighRiskActivityProperties'
          minProperties: 1
      additionalProperties: false
    AETravelInsuranceQuoteInsuredTravelersProperties:
      type: object
      required:
        - RelationshipToPrimaryTraveller
        - DateOfBirth
      properties:
        IsPrimaryTraveller:
          type: boolean
          description: Is the individual the primary traveler?
        RelationshipToPrimaryTraveller:
          type: string
          enum:
            - Spouse
            - Child
            - FamilyMember
            - GroupMember
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the insured traveler.
      additionalProperties: false
    AETravelInsuranceQuoteOptionalTravelCoverOptionProperties:
      type: object
      required:
        - Gadgets
        - WinterSports
        - Cruise
        - Business
        - Golf
        - ScubaDiving
        - AdventureSports
      properties:
        Gadgets:
          type: boolean
          description: >-
            Indicator whether the Customer wishes to include the optional Gadgets insurance cover within the policy
            Cover
        WinterSports:
          type: boolean
          description: >-
            Indicator whether the Customer wishes to include the optional winter sports insurance cover within the
            policy Cover
        Cruise:
          type: boolean
          description: Indicator whether the Customer wishes to include the optional Cruise insurance cover within the policy Cover
        Business:
          type: boolean
          description: >-
            Indicator whether the Customer wishes to include the optional Business insurance cover within the policy
            Cover
        Golf:
          type: boolean
          description: Indicator whether the Customer wishes to include the optional Golf insurance cover within the policy Cover
        ScubaDiving:
          type: boolean
          description: >-
            Indicator whether the Customer wishes to include the optional Scuba Diving insurance cover within the policy
            Cover
        AdventureSports:
          type: boolean
          description: >-
            Indicator whether the Customer wishes to include the optional Adventure Sports insurance cover within the
            policy Cover
      additionalProperties: false
    AETravelInsuranceQuotePolicyHolderProperties:
      type: object
      required:
        - DateOfBirth
      properties:
        FirstName:
          type: string
          minLength: 1
          maxLength: 70
          description: First Name of the individual.
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: Last Name (Surname) of the individual.
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the individual.
        Nationality:
          type: string
          pattern: ^[A-Z]{3}$
          description: The nationality of the individual based on the ISO 3166-1 alpha-3 codes
        Gender:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceGender'
          description: The gender of the customer
        EmailAddress:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceEmailAddressType'
          description: Email address of the individual.
        MobileNumber:
          allOf:
            - $ref: '#/components/schemas/AEInsurancePhoneNumberType'
          description: The mobile telephone number of the individual.
        Address:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceAddress'
          minItems: 1
        Identity:
          allOf:
            - $ref: '#/components/schemas/AEInsuranceIdentityTypes'
          description: Identification details of the policyholder.
      additionalProperties: false
    AETravelInsuranceQuotePolicyProperties:
      type: object
      required:
        - PolicyStartDate
        - NumberOfInsuredCompanions
        - Takaful
        - CoverType
        - TravelDestinationRegion
        - AgesOfInsured
        - OriginCountry
      properties:
        PolicyStartDate:
          type: string
          format: date
          description: Policy start date
        PolicyEndDate:
          type: string
          format: date
          description: Policy end date
        NumberOfInsuredCompanions:
          type: integer
          description: The total number of individuals traveling with the insured person who will also be covered under the policy.
        Takaful:
          type: boolean
          description: Indicates whether the policy is Sharia compliant.
        CoverType:
          type: string
          enum:
            - Single
            - MultiTrip
          description: The type and extent of insurance Cover selected for the trip
        PurposeOfTravel:
          type: string
          enum:
            - Personal
            - Business
          description: The primary reason for travel
        TravellingWith:
          type: string
          enum:
            - Individual
            - Couple
            - Family
            - Group
          description: The relationship of the insured individual's travel companions
        TravelDestinationRegion:
          type: string
          enum:
            - WithinUAE
            - Worldwide
            - WorldwideExcludingUSAandCanada
          description: The geographical region where the insured individual will be traveling
        TravelDestinationCountries:
          type: array
          items:
            $ref: '#/components/schemas/AETravelInsuranceDestinationCountry'
          description: The ISO 3166 alpha-3 code of the country or countries of destination.
        AgesOfInsured:
          type: array
          items:
            type: integer
          description: Ages of all insured parties
        OriginCountry:
          type: string
          pattern: ^[A-Z]{3}$
          description: The ISO 3166 alpha-3 code of the country of origin.
        OptionalTravelCoverOptions:
          type: object
          properties:
            Gadgets:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Gadgets insurance cover within the policy
                Cover
            WinterSports:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional winter sports insurance cover within the
                policy Cover
            Cruise:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Cruise insurance cover within the policy
                Cover
            Business:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Business insurance cover within the policy
                Cover
            Golf:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Golf insurance cover within the policy
                Cover
            ScubaDiving:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Scuba Diving insurance cover within the
                policy Cover
            AdventureSports:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Adventure Sports insurance cover within
                the policy Cover
            TerrorismExtension:
              type: boolean
              description: >-
                Indicator whether the Customer wishes to include the optional Terrorism Extension insurance cover within
                the policy
          minProperties: 1
          additionalProperties: false
      additionalProperties: false
    AETravelInsuranceQuoteRequestProperties:
      type: object
      required:
        - CustomerId
        - QuoteReference
        - QuoteType
        - PolicyIssuanceRequest
        - Policy
      properties:
        CustomerId:
          type: string
          description: >-
            Identifier that uniquely and consistently identifies the existing policy customer or Broker unique Id for
            customer during policy purchase process.
        QuoteReference:
          $ref: '#/components/schemas/AEInsuranceQuoteReferenceType'
        QuoteType:
          type: string
          enum:
            - New
            - Switch
            - Renewal
          description: |-
            Identification of quote type.

            The following quote type values are supported:

              * New: New Policy Quote

              * Switch: Customer would like to switch policies or brokers

              * Renewal: Customer would like renewal quote
        PolicyIssuanceRequest:
          type: object
          properties:
            CustomerVerification:
              type: boolean
              description: Broker request to complete capture of customer verification information and documents for this quote.
            Payment:
              type: boolean
              description: Broker request to host payment checkout.
            PolicyDocuments:
              type: boolean
              description: Broker request to provide policy documents to customer.
          required:
            - CustomerVerification
            - Payment
            - PolicyDocuments
          description: Broker requests to handle following steps of policy issuance process.
          additionalProperties: false
        Policy:
          $ref: '#/components/schemas/AETravelInsuranceQuotePolicyProperties'
        PolicyHolder:
          $ref: '#/components/schemas/AETravelInsuranceQuotePolicyHolderProperties'
        InsuredTravelers:
          type: array
          items:
            $ref: '#/components/schemas/AETravelInsuranceQuoteInsuredTravelersProperties'
          minItems: 1
          description: Required when additional travelers are insured with proposer.
        MedicalQuestions:
          type: array
          items:
            type: object
            properties:
              PastTreatment:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers have been been prescribed medication, received treatment or
                  had a consultation for any medical condition in the past two years?
              HeartRespiratory:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers have been diagnosed with or treated for a heart or
                  respiratory condition
              Circulatory:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers have been diagnosed with or treated for a Circulatory
                  condition
              Liver:
                type: boolean
                description: Confirmation whether any of the Travellers have been diagnosed with or treated for a liver condition
              Cancerous:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers have been diagnosed with or treated for a cancerous
                  condition
              Terminal:
                type: boolean
                description: Confirmation whether any of the Travellers have been diagnosed with a terminal condition
              WaitingList:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers are currently on a waiting list for treatment or
                  investigation
              MentalHealth:
                type: boolean
                description: >-
                  Confirmation whether any of the Travellers have been diagnosed with or treated for any mental health
                  conditions
              ConditionDetails:
                type: array
                items:
                  type: object
                  properties:
                    TravellerName:
                      type: string
                      description: The name of the Traveller the medical 'Yes' response relates to
                    QuestionName:
                      type: string
                      description: >-
                        The Question property name of the 'Yes' response. For example, if `PastTreatment` is true this
                        value should be set to `PastTreatment`.
                    Description:
                      type: string
                      description: The description of the medical condition, diagnosis or treatment
                    CurrentDiagnosis:
                      type: string
                      enum:
                        - NoSymptoms
                        - OngoingSymptoms
                        - OngoingHospitalization
                        - PendingHospitalization
                        - OngoingTreatment
                        - PendingTreatment
                      description: The current diagnosis of the declared condition.
                    Treated:
                      type: string
                      enum:
                        - Outpatient
                        - Hospitalized
                        - Both
                        - NotApplicable
                      description: Whether the condition relates to hospital treatment
                  required:
                    - TravellerName
                    - QuestionName
                    - Description
                    - CurrentDiagnosis
                    - Treated
                  additionalProperties: false
                minItems: 1
                description: Required when one or more of the medical questions have a 'Yes' response
            description: The template for adding optional properties.
            additionalProperties: false
          minItems: 1
          description: Indications of whether any travellers have medical conditions that need to be reported for the quote.
        PreviousClaims:
          type: object
          properties:
            PreviousClaim:
              type: boolean
              description: Confirmation whether the customer made any travel insurance claims in the previous 3 years.
            PreviousClaimDetails:
              type: array
              items:
                type: object
                properties:
                  DateOfClaim:
                    type: string
                    format: date
                    description: Date the claim was made.
                  ClaimAmount:
                    allOf:
                      - $ref: '#/components/schemas/AEActiveCurrencyAmount'
                    description: The value of the claim.
                  Reason:
                    type: string
                    description: Details of the claim made or nature of the loss.
                  Outcome:
                    type: string
                    enum:
                      - Ongoing
                      - Paid
                      - PartiallyPaid
                      - Rejected
                      - Other
                required:
                  - DateOfClaim
                  - ClaimAmount
                  - Reason
                  - Outcome
                additionalProperties: false
              minItems: 1
              description: Details of previous claims.
          required:
            - PreviousClaim
          description: Details of previous travel insurance claims
          additionalProperties: false
        ExistingInsurance:
          type: array
          items:
            $ref: '#/components/schemas/AEInsuranceExistingInsuranceProperties'
          minItems: 1
          description: One-or-more existing insurance policies, omitted if none are held.
      additionalProperties: false
    AEUpdateConsent1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEPatchConsent'
        Subscription:
          $ref: '#/components/schemas/EventNotification'
      description: Patch Account Access Consent
      additionalProperties: false
    AEUpdateConsent1Signed:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      properties:
        iss:
          type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)'
        exp:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)'
        nbf:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)'
        aud:
          type: array
          items:
            type: string
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)'
        iat:
          type: number
          description: '[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)'
        message:
          $ref: '#/components/schemas/AEUpdateConsent1'
      additionalProperties: false
    AEWebhook:
      type: object
      required:
        - IsActive
      properties:
        Url:
          type: string
          pattern: ^https:\/\/.+
          description: >-
            The registered Webhook URL at which event notifications will be received. Required on first registration of
            the Webhook.
        IsActive:
          type: boolean
          description: >-
            Indicator for whether event notifications should be sent to the TPP. When true event notifications will be
            sent to the registered URL.
      description: A Webhook Subscription Schema
      additionalProperties: false
    EventNotification:
      type: object
      required:
        - Webhook
      properties:
        Webhook:
          allOf:
            - $ref: '#/components/schemas/AEWebhook'
          description: Properties of the Webhook registered to receive event notifications related to entity status.
      additionalProperties: false
    First:
      type: string
      format: uri
      description: A link to the first page in a paginated result set
    Last:
      type: string
      format: uri
      description: A link to the last page in a paginated result set
    LinksResource:
      type: object
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
        First:
          $ref: '#/components/schemas/First'
        Prev:
          $ref: '#/components/schemas/Prev'
        Next:
          $ref: '#/components/schemas/Next'
        Last:
          $ref: '#/components/schemas/Last'
      description: Links relevant to the resource
      additionalProperties: false
    LinksSelf:
      type: object
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
      description: Links relevant to the resource
      additionalProperties: false
    Meta:
      type: object
      description: Metadata relevant to the resource
      additionalProperties: false
    MetaTotalPages:
      type: object
      required:
        - TotalPages
      properties:
        TotalPages:
          $ref: '#/components/schemas/TotalPages'
      additionalProperties: false
    Next:
      type: string
      format: uri
      description: A link to the next page in a paginated result set
    Prev:
      type: string
      format: uri
      description: A link to the previous page in a paginated result set
    Self:
      type: string
      format: uri
      description: A link to the current resource
    TotalPages:
      type: integer
      format: int32
      minimum: 0
      description: Total number of pages where a result set is paginated
    UpdateEmploymentInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AEEmploymentInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateHealthInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AEHealthInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateHomeInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AEHomeInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateLifeInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AELifeInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateMotorInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AEMotorInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateRentersInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AERentersInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    UpdateTravelInsuranceQuoteStatusMessageProperties:
      type: object
      properties:
        Data:
          allOf:
            - $ref: '#/components/schemas/AETravelInsuranceQuoteAcceptQuoteRequestProperties'
          description: >-
            Properties of the accepted quote. Must be supplied when accepting the quote, but can be omitted when
            managing Webhook subscriptions.
        Subscription:
          allOf:
            - $ref: '#/components/schemas/EventNotification'
          description: |-
            Event notification subscription for updates to quote, optionally provided by TPP.

            If Webhooks are not used the TPP will need to poll for updates to the resource.
      additionalProperties: false
    uuid:
      type: string
      minLength: 1
      maxLength: 128
      format: uuid
      description: >-
        A unique identifier, which may be a UUID. `format: uuid` is provided as a hint to OpenAPI parsers, but LFIs can
        implement a unique identification mechanism of their choosing.
  securitySchemes:
    TPPOAuth2Security:
      type: oauth2
      description: >-
        TPP confidential client authorization with the LFI to stage a consent. **Please refer to [OpenID FAPI Security
        Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server) - 5.2.2 point 14 -
        shall authenticate the confidential client using one of the following methods private_key_jwt and [OpenID
        Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication) 9. Client
        Authentication private_key_jwt**
      flows:
        clientCredentials:
          tokenUrl: https://authserver.example/token
          scopes:
            openid: Activates OpenID Connect Support
            confirmation-of-payee: Right to invoke a Confirmation of Payee operation
            accounts: Ability to read Accounts Information
            insurance: Right to read insurance policies
            tpp-reports: Right to read Open Finance Platform reports for a given TPP
            fx: Ability to get FX quotes from participating LFIs
            account-opening: Ability to open an account at a given LFI for the deposit of funds
    UserOAuth2Security:
      type: oauth2
      description: >-
        [OAuth2 PAR flow](https://datatracker.ietf.org/doc/html/rfc9126), it is required when the User needs to perform
        SCA with the LFI when a TPP wants to access an LFI resource owned by the User. **Please refer to [OpenID FAPI
        Security Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server) - 5.2.2 point 14 -
        shall authenticate the confidential client using one of the following methods private_key_jwt and [OpenID
        Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication) 9. Client
        Authentication private_key_jwt**
      flows:
        authorizationCode:
          authorizationUrl: https://authserver.example/authorization
          tokenUrl: https://authserver.example/token
          scopes:
            openid: Activates OpenID Connect Support
            accounts: Ability to read Accounts Information. This is a parameterized scope with the ConsentId
            insurance: Right to read insurance policies based on authorization by the End User
    LFIWebhookSecurity:
      type: http
      description: >-
        The LFI generates a Self Signed JWT Authorization Token for Client Authentication with the TPP. **Please refer
        to Self-Signed JWT Authorization Token Specification in the UAE Standard API User Guide**
      scheme: bearer
      bearerFormat: JWT
  responses:
    204DeclinedToQuote:
      description: The LFI did not respond with a quote as the request policy requirements could not be fulfilled.
      headers:
        x-fapi-interaction-id:
          required: false
          description: An RFC4122 UID used as a correlation ID.
          schema:
            type: string
    204Patch:
      description: Quote successfully patched
      headers:
        x-fapi-interaction-id:
          required: false
          description: An RFC4122 UID used as a correlation ID.
          schema:
            type: string
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEError400ResponseBodySigned'
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEError400ResponseBody'
        application/json:
          schema:
            $ref: '#/components/schemas/AEError400ResponseBody'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEError403ResponseBodySigned'
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEError403ResponseBody'
        application/json:
          schema:
            $ref: '#/components/schemas/AEError403ResponseBody'
    404Error:
      description: Not found
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    415Error:
      description: Unsupported Media Type
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    429Error:
      description: Too Many Requests
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
        retry-after:
          required: true
          description: Number in seconds to wait
          schema:
            type: integer
            format: int64
    500Error:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEError500ResponseBodySigned'
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEError500ResponseBody'
        application/json:
          schema:
            $ref: '#/components/schemas/AEError500ResponseBodySigned'
servers:
  - url: /open-finance/insurance/v2.1
