openapi: 3.1.0
info:
  title: API Intermediarios
  description: >-
    # Bienvenido al API de Intermediarios


    El **API de Intermediarios** ha sido diseñado para que puedas acceder e
    integrar fácilmente las principales funcionalidades que ofrecemos a nuestros
    socios y aliados.


    ## Con esta API podrás:


    - **Cotizar** productos de Salud, Generales y Vida

    - **Emitir** pólizas de manera digital

    - **Consultar** tus pólizas, facturas, consumos y más


    Todo **en un solo lugar**, con seguridad, rapidez y disponibilidad 24/7.


    ## ¿Qué encontrarás en esta documentación?


    En esta página encontrarás toda la información necesaria para comenzar a
    usar el API, incluyendo:


    - **Descripción general** del API

    - **Especificación OpenAPI** en formato YAML, lista para ser utilizada en
    Postman, Swagger u otras herramientas

    - **Ejemplos prácticos** de uso para integrarte más rápido

    - **Guías paso a paso** para autenticación, cotización, emisión y consulta
    de información


    ## Primeros pasos


    1. Consulta la especificación OpenAPI

    2. Explora los endpoints disponibles en la sección de referencia

    3. Integra las funcionalidades en tus sistemas internos para comenzar a
    operar


    ## Beneficios clave


    ### 🔄 Automatización

    Automatización de procesos de cotización y emisión.


    ### 🔒 Seguridad

    Seguridad con estándares modernos de autenticación.


    ### ⚡ Disponibilidad 24/7

    Siempre tengas acceso a tu información.


    ### 📈 Escalabilidad

    Lista para crecer con tus operaciones.
  version: 1.0.0
  contact:
    name: Equipo de APIs Humano Seguros
    email: apis@humano.com.do
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  x-logo:
    url: https://humanoseguros.com.do/logo.png
    altText: Humano Seguros
servers:
  - url: https://devapi.humano.com.do/api
    description: DEV API
  - url: https://huapi.humano.com.do/api
    description: Production API
security:
  - Ocp-Apim-Subscription-Key: []
    x-user-key: []
    x-codigo-mediador: []
tags:
  - name: Pólizas
    description: Endpoints para consultar información de tus pólizas
    x-displayName: Servicio de Pólizas
  - name: Facturas
    description: Endpoints para consultar información de facturas
    x-displayName: Servicio de Facturas
  - name: Comisiones
    description: Endpoints para consultar comisiones generadas
    x-displayName: Servicio de Comisiones
  - name: Cobros
    description: Endpoints para consultar cobros e ingresos aplicados a pólizas
    x-displayName: Servicio de Cobros
  - name: Catálogos
    description: Endpoints para consultar catálogos y datos de referencia
    x-displayName: Servicio de Catálogos
  - name: Cotizaciones
    description: Endpoints para gestionar cotizaciones
    x-displayName: Servicio de Cotizaciones
  - name: Vehículos
    description: >-
      Endpoints para consultar información de vehículos (marcas, modelos,
      versiones)
    x-displayName: Servicio de Vehículos
x-tagGroups:
  - name: APIs Disponibles
    tags:
      - Pólizas
      - Facturas
      - Comisiones
      - Cobros
      - Catálogos
      - Cotizaciones
      - Vehículos
paths:
  /poliza/consulta:
    get:
      summary: Consultar Pólizas de Generales y Vida
      description: >
        Obtiene información detallada de las pólizas emitidas, modificadas y/o
        renovadas.


        Este servicio debe ser consumido al final del día para sincronizar la
        información de las pólizas.


        **Tipos de Consulta:**

        - `0`: Todo

        - `1`: Emisión

        - `2`: Modificación

        - `3`: Renovación


        **Indicador de Certificado:**

        - `0`: Todo

        - `1`: Matriz

        - `2`: Certificados (Recomendado)
      operationId: consultarPolizasGeneralesVida
      tags:
        - Pólizas
      parameters:
        - $ref: '#/components/parameters/fechaDesde'
        - $ref: '#/components/parameters/fechaHasta'
        - name: tpConsulta
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
              - 3
          description: |
            Tipo de Consulta:
            * `0` - Todo
            * `1` - Emisión
            * `2` - Modificación
            * `3` - Renovación
          example: 0
        - name: cdUsuario
          in: query
          required: true
          schema:
            type: string
            default: INTINTERMEDIARIO
          description: Código de usuario (enviar fijo INTINTERMEDIARIO)
          example: INTINTERMEDIARIO
        - name: inCertificado
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
          description: |
            Indicador de certificado:
            * `0` - Todo
            * `1` - Matriz
            * `2` - Certificados (Recomendado)
          example: 2
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/PolizaGeneralVida'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - P_CD_ENTIDAD: 30
                        P_CD_AREA: 35
                        P_NU_POLIZA: 9999
                        P_NU_CERTIFICADO: 2
                        P_DE_POLIZA: 30-35-9999
                        P_NU_ENDOSO: 0
                        P_ST_CERTIFICADO: 1
                        P_DE_ST_CERTIFICADO: Vigente
                        P_CD_MONEDA: 1
                        P_DE_MONEDA: Peso Dominicano
                        P_DE_SIGLAS_MONEDA: RD$
                        P_FE_EMISION_CERTIFICADO: '2018-10-30T00:00:00.000Z'
                        P_INFO_PARTICULAR: >-
                          HYUNDAI / TUCSON / 2015 / SQRPL90DDRT352941 / G123456
                          / No Aplica / Prepago No
                        P_FE_REGISTRO: '2018-10-30T00:00:00.000Z'
                        P_FE_DESDE: '2018-10-30T00:00:00.000Z'
                        P_FE_HASTA: '2019-10-30T00:00:00.000Z'
                        P_DE_ENTIDAD: Humano Seguros
                        P_DE_AREA: Automovil
                        P_IN_MULTIRIESGO: 0
                        P_DE_IN_MULTIRIESGO: Colectivo
                        P_CD_FORMA_DE_PAGO: 1
                        P_DE_FORMA_DE_PAGO: Pago Directo
                        P_MT_PRIMA_NETA: 6562.06
                        P_MT_PRIMA_BRUTA: 7611.99
                        P_MT_COMPONENTE: 1049.93
                        P_MT_COMISION: 1148.36
                        P_PO_PARTICIPACION_MEDIADOR: 100
                        P_PO_COMISION: 17.5
                        P_CD_PERSONA_CONTRATANTE: 2726806
                        P_NM_CONTRATANTE: JUAN PEREZ
                        P_TP_DOCUMENTO_CONTRATANTE: RNC
                        P_NU_DOCUMENTO_CONTRATANTE: '101733111'
                        P_CD_PERSONA_ASEGURADO: 2726806
                        P_NM_ASEGURADO: JUAN PEREZ
                        P_TP_DOCUMENTO: RNC
                        P_NU_DOCUMENTO: '101939333'
                        P_FE_VENCIMIENTO_DOCUMENTO: null
                        P_FE_NACIMIENTO: null
                        P_CD_SEXO: null
                        P_CD_OCUPACION: null
                        P_DE_OCUPACION: null
                        P_CD_PAIS: 809
                        P_DE_PAIS: República Dominicana
                        P_CD_PROVINCIA: 1
                        P_DE_PROVINCIA: DISTRITO NACIONAL
                        P_CD_CIUDAD: 1
                        P_DE_CIUDAD: SANTO DOMINGO
                        P_DI_COMPLETA: >-
                          Avenida Abraham Lincoln No.7 Edificio Humano Piso 19
                          Apto/Oficina 999 Piantini Distrito Nacional República
                          Dominicana
                        P_NU_AREA: 809
                        P_NU_TELEFONO: '4763535'
                        P_DE_EMAIL: juanperez@gmail.com
                        P_CD_PRODUCTO: 350100
                        P_DE_PRODUCTO: Seguros Vehículos de Motor
                        P_MT_SUMA_ASEGURADA: 0
                        P_CD_CAUSA_ANULACION: null
                        P_DE_CAUSA_ANULACION: null
                        P_FE_EXCLUSION: null
                        P_CD_PERSONA_MEDIADOR: 2999999
                        P_CD_MEDIADOR: 79999
                        P_NM_MEDIADOR: CORREDOR & ASOCIADOS, SRL
                        P_TP_DOCUMENTO_MEDIADOR: RNC
                        P_NU_DOCUMENTO_MEDIADOR: '150202563'
                        P_TP_TRANSACCION: 1
                        P_CD_MOTIVO_TRANSACCION: 2
                        P_DE_TRANSACCION: Emisión
                        P_DE_MOTIVO_TRANSACCION: Emision De Certificado De Colectivos
                        P_TP_NEGOCIO: 1
                        P_DE_TP_NEGOCIO: 100% Humano Seguro
                        P_CUR_BIENES:
                          - P_NU_BIEN: 1
                            P_DE_BIEN: Auto
                        P_CUR_COBERTURAS:
                          - P_CD_ENTIDAD: 30
                            P_CD_AREA: 35
                            P_NU_POLIZA: 9999
                            P_NU_CERTIFICADO: 2
                            P_CD_PRODUCTO: 350100
                            P_DE_PLAN: Mi Auto Básico (Seguro de Ley)
                            P_CD_GARANTIA: 1512
                            P_DE_GARANTIA: Daños a la Propiedad de Terceros
                            P_DE_SERVICIO: Daños a la Propiedad de Terceros
                            P_DE_DETALLE: 'Suma Asegurada: 500,000.00'
                            P_MT_SUMA_ASEGURADA: 500000
                            P_VA_DEDUCIBLE: null
                            P_PO_DEDUCIBLE: null
                            P_IN_INCLUIDO: 0
                        P_CUR_DATOS:
                          - P_NU_BIEN: 1
                            P_CD_DATO: 250000
                            P_VALOR: '42'
                            P_NU_CONSECUTIVO: 20
                            P_LABEL: Marca Vehículo
                            P_DE_VALOR: HYUNDAI
                        P_CUR_ANEXOS:
                          - P_NU_BIEN_ASEGURADO: 1
                            P_CD_GARANTIA: 1512
                            P_CD_ANEXO: 1
                            P_NU_CONSECUTIVO_ANEXO: 1
                            P_TX_ANEXO: Texto Anexo
                            P_FE_INCLUSION_ANEXO: null
                            P_TP_INCLUSION_ANEXO: null
                        P_CUR_BENEFICIARIOS:
                          - P_NU_BIEN_ASEGURADO: 1
                            P_NU_CONSECUTIVO_BENEFICIARIO: 1
                            P_CD_PERSONA: null
                            P_NU_CONSECUTIVO_TP_DOCUMENTO: null
                            P_TP_DOCUMENTO: null
                            P_NU_DOCUMENTO: null
                            P_NM_ZONARAZONSOCIAL: null
                            P_CD_SEXO: null
                            P_DE_SEXO: null
                            P_CD_PARENTESCO: 90
                            P_DE_PARTENTESCO: Herederos Legales
                            P_FE_NACIMIENTO: null
                            P_FE_INCLUSION: '2018-10-30T00:00:00.000Z'
                            P_PO_PARTICIPACION: 100
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    payload: []
        '400':
          description: Solicitud incorrecta - Parámetros inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                parametrosInvalidos:
                  summary: Parámetros inválidos
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" must be a valid date'
                      - '"fechaHasta" must be a valid date'
                      - '"tpConsulta" must be a number'
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Recurso no encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
              example:
                statusCode: 404
                message: Resource not found
  /poliza/consulta-polizas:
    get:
      summary: Consultar Pólizas de Salud
      description: >
        Obtiene información de los movimientos de las pólizas de Salud según los
        parámetros indicados.


        **Tipos de Movimiento:**

        - `0`: Todos

        - `1`: Inclusión

        - `2`: Cambio de Póliza

        - `3`: Cambio de Plan Categoría

        - `4`: Cambio Tipo Dependiente

        - `5`: Exclusión


        **Parámetros opcionales:** compania, ramo y secuencial
      operationId: consultarPolizasSalud
      tags:
        - Pólizas
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: tipoMovimiento
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
              - 3
              - 4
              - 5
          description: |
            Tipo de movimiento:
            * `0` - Todos
            * `1` - Inclusión
            * `2` - Cambio de Póliza
            * `3` - Cambio de Plan Categoría
            * `4` - Cambio Tipo Dependiente
            * `5` - Exclusión
          example: 0
        - name: fechaInicio
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de inicio (Formato año-mes-día)
          example: '2025-01-01'
        - name: fechaFin
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de fin (Formato año-mes-día)
          example: '2025-01-31'
        - name: compania
          in: query
          required: false
          schema:
            type: integer
          description: Código de la compañía (opcional)
          example: 30
        - name: ramo
          in: query
          required: false
          schema:
            type: integer
          description: Código del ramo (opcional)
          example: 95
        - name: secuencial
          in: query
          required: false
          schema:
            type: integer
          description: Secuencial de la póliza (opcional)
          example: 177999
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  polizas:
                    type: array
                    items:
                      $ref: '#/components/schemas/PolizaSalud'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    polizas:
                      - compania: 30
                        ramo: 95
                        secuencial: 177999
                        tipoMovimiento: Exclusión
                        producto: SALUD LOCAL
                        codigoPlan: 18
                        descripcionPlan: Royal
                        fechaVigencia: '2025-02-01T00:00:00.000-04:00'
                        fechaRealizacion: '2025-01-13T09:37:09.000-04:00'
                        fechaEfectiva: '2025-02-01T00:00:00.000-04:00'
                        persona:
                          nombreAsegurado: Juan Pérez
                          numeroAsegurado: 1047123-003
                          numeroDocumentoAsegurado: '00112345678'
                          categoria: Familiar
                          tipoAsegurado: Dependiente
                      - compania: 30
                        ramo: 95
                        secuencial: 177608
                        tipoMovimiento: Inclusión
                        producto: SALUD INTERNACIONAL
                        codigoPlan: 25
                        descripcionPlan: Premium Plus
                        fechaVigencia: '2025-01-15T00:00:00.000-04:00'
                        fechaRealizacion: '2025-01-10T14:22:00.000-04:00'
                        fechaEfectiva: '2025-01-15T00:00:00.000-04:00'
                        persona:
                          nombreAsegurado: Carlos Pérez Gómez
                          numeroAsegurado: 1048456-000
                          numeroDocumentoAsegurado: '00112345678'
                          categoria: Individual
                          tipoAsegurado: Titular
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    polizas: []
        '400':
          description: Solicitud incorrecta - Parámetros inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros inválidos
                  value:
                    status: 400
                    message: Request failed with status code 400
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Recurso no encontrado - Faltan parámetros requeridos
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
              example:
                statusCode: 404
                message: Resource not found
  /poliza/inspeccion/cargar-documento:
    post:
      summary: Cargar Archivo de Inspección de Automóvil
      description: >
        Permite cargar documentos de inspección de automóvil para una cotización
        específica.


        Los archivos deben enviarse codificados en Base64.


        **Campos obligatorios:** Todos los campos son requeridos.


        **Nota:** Se requiere especificar al menos un documento en el array.
      operationId: cargarInspeccionAutomovil
      tags:
        - Pólizas
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CargarInspeccionRequest'
            examples:
              cargaUnDocumento:
                summary: Carga de un documento de inspección
                value:
                  cdEntidad: 30
                  nuCotizacion: 2240799996
                  documents:
                    - nmArchivo: 2007-mazda3-owners-manual.pdf
                      docBytes: SGVsbG8sIHdvcmxkIQ==
              cargaMultiplesDocumentos:
                summary: Carga de múltiples documentos
                value:
                  cdEntidad: 30
                  nuCotizacion: 2240799996
                  documents:
                    - nmArchivo: frente-vehiculo.jpg
                      docBytes: >-
                        iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
                    - nmArchivo: lado-izquierdo.jpg
                      docBytes: >-
                        iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==
                    - nmArchivo: inspeccion-tecnica.pdf
                      docBytes: >-
                        JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL0NvbnRlbnRzIDQgMCBSPj4KZW5kb2JqCg==
      responses:
        '200':
          description: Carga exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CargarInspeccionResponse'
              examples:
                cargaExitosa:
                  summary: Carga completada exitosamente
                  value:
                    respuesta:
                      codigo: 0
                      descripcion: Completado de manera satisfactoria
        '400':
          description: Solicitud incorrecta - Faltan campos requeridos
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Todos los campos son requeridos
              examples:
                camposFaltantes:
                  summary: Faltan campos requeridos
                  value:
                    error: Todos los campos son requeridos
                sinDocumentos:
                  summary: Array de documentos vacío
                  value:
                    error: Todos los campos son requeridos
                documentoIncompleto:
                  summary: Documento sin todos los campos
                  value:
                    error: Todos los campos son requeridos
        '401':
          $ref: '#/components/responses/Unauthorized'
  /facturas/consulta/salud:
    get:
      summary: Consultar Facturas de Salud
      description: >
        Retorna las facturas de salud que han sido procesadas por Humano en el
        rango de fechas indicado.


        Este servicio soporta paginación para manejar grandes volúmenes de
        datos.


        **Parámetros obligatorios:** todos los parámetros son requeridos.
      operationId: consultarFacturasSalud
      tags:
        - Facturas
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: fechaInicio
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de inicio del período a consultar
          example: '2024-12-01'
        - name: fechaFin
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de fin del período a consultar
          example: '2024-12-31'
        - name: pagina
          in: query
          required: true
          schema:
            type: integer
            minimum: 1
          description: Número de página a consultar
          example: 1
        - name: tamanoPagina
          in: query
          required: true
          schema:
            type: integer
            minimum: 1
            maximum: 100
          description: Cantidad de registros por página
          example: 50
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      payload:
                        type: array
                        items:
                          $ref: '#/components/schemas/FacturaSalud'
                  - type: object
                    properties:
                      respuesta:
                        type: object
                        properties:
                          codigo:
                            type: string
                            example: '2001'
                          descripcion:
                            type: string
                            example: No se encontraron datos.
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - compania: 30
                        ramo: 95
                        secuencial: 177999
                        cliente: 1699999
                        factura: 4164999
                        fechaEmision: '2024-12-19T00:00:00.000-04:00'
                        fechaInicio: '2025-01-01T00:00:00.000-04:00'
                        fechaFin: '2025-01-31T00:00:00.000-04:00'
                        valorNeto: 16574.6
                        codigoMoneda: '001'
                        descripcionMoneda: PESOS
                        siglasMoneda: RD$
                        ncf: E310000999999
                        concepto: FACTURA RENOVACION
                        tipoFactura: FT
                        clienteNombre: AUTO REPUESTOS (HUMANO PARTS)  C. X A.  AUTO REPUESTOS
                        clienteApellido: AUTO REPUESTOS (HUMANO PARTS)  C. X A.  AUTO REPUESTOS
                        descuento: 0
                        montoTotal: 16574.6
                        tipoPlan: Suplementario
                      - compania: 30
                        ramo: 95
                        secuencial: 178000
                        cliente: 1700000
                        factura: 4165000
                        fechaEmision: '2024-12-20T00:00:00.000-04:00'
                        fechaInicio: '2025-01-01T00:00:00.000-04:00'
                        fechaFin: '2025-01-31T00:00:00.000-04:00'
                        valorNeto: 8500
                        codigoMoneda: '001'
                        descripcionMoneda: PESOS
                        siglasMoneda: RD$
                        ncf: E310000999998
                        concepto: FACTURA MENSUAL
                        tipoFactura: FT
                        clienteNombre: EMPRESA DEMO SA
                        clienteApellido: EMPRESA DEMO SA
                        descuento: 500
                        montoTotal: 8000
                        tipoPlan: Básico
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    respuesta:
                      codigo: '2001'
                      descripcion: No se encontraron datos.
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"fechaInicio" must be a valid date'
                      - '"fechaFin" must be a valid date'
                      - '"pagina" must be a number'
                      - '"tamanoPagina" must be a number'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"fechaInicio" is required'
                      - '"fechaFin" is required'
                      - '"pagina" is required'
                      - '"tamanoPagina" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /facturas/consulta:
    get:
      summary: Consultar Facturas de Generales y Vida
      description: >
        Consulta las facturas emitidas para los productos de Seguros Generales y
        Vida.


        Este servicio retorna todas las facturas procesadas en el rango de
        fechas especificado.


        **Parámetros obligatorios:** todos los parámetros son requeridos.
      operationId: consultarFacturasGeneralesVida
      tags:
        - Facturas
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: fechaDesde
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha desde (inicio del período a consultar)
          example: '2025-01-01'
        - name: fechaHasta
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha hasta (fin del período a consultar)
          example: '2025-01-31'
        - name: cdUsuario
          in: query
          required: true
          schema:
            type: string
            default: INTINTERMEDIARIO
          description: Código de usuario (enviar fijo INTINTERMEDIARIO)
          example: INTINTERMEDIARIO
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/FacturaGeneralesVida'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - P_CD_ENTIDAD: 30
                        P_CD_RECIBO: 849999
                        P_TP_RECIBO: 2
                        P_DE_TP_RECIBO: Nota Crédito
                        P_NU_SECUENCIA_RECIBO: 180999
                        P_CD_AREA: 35
                        P_DE_AREA: Automovil
                        P_NU_POLIZA: 82999
                        P_NU_CERTIFICADO: 0
                        P_DE_POLIZA: 30-35-82999
                        P_NU_ENDOSO: 5
                        P_TP_TRANSACCION: 6
                        P_DE_TP_TRANSACCION: Anulación
                        P_FE_EMISION_RECIBO: '2025-02-08T00:00:00.000Z'
                        P_FE_DESDE: '2025-02-08T00:00:00.000Z'
                        P_FE_HASTA: '2026-02-08T00:00:00.000Z'
                        P_FE_REGISTRO: '2025-01-17T00:00:00.000Z'
                        P_TP_COMPROBANTE_FISCAL: '34'
                        P_DE_TP_COMPROBANTE_FISCAL: Nota de Crédito Electrónica
                        P_NU_COMPROBANTE_FISCAL: E340000099999
                        P_FE_VENCIMIENTO_NUMERADOR: '9999-12-31T00:00:00.000Z'
                        P_CD_PERSONA: 1090349
                        P_TP_DOCUMENTO: CED
                        P_NU_DOCUMENTO: '00123456789'
                        P_NM_ZONARAZONSOCIAL: JUAN PEREZ
                        P_ST_RECIBO: 5
                        P_DE_ST_RECIBO: Devuelto
                        P_CD_MONEDA: 1
                        P_DE_SIGLAS_MONEDA: RD$
                        P_MT_RECIBO: -8790.51
                        P_MT_PRIMA: -7578.03
                        P_MT_TOTAL_COMPONENTE: -1212.48
                        P_MT_COMISION: -1326.16
                        P_PO_PARTICIPACION_MEDIADOR: 100
                        P_FACTURAS_AFECTADAS:
                          - P_CD_ENTIDAD: 30
                            P_CD_RECIBO: 842480
                            P_TP_RECIBO: 1
                            P_DE_TP_RECIBO: Factura
                            P_NU_SECUENCIA_RECIBO: 664382
                            P_TP_TRANSACCION: 4
                            P_DE_TP_TRANSACCION: Renovación
                            P_FE_EMISION_RECIBO: '2025-02-08T00:00:00.000Z'
                            P_FE_DESDE: '2025-02-08T00:00:00.000Z'
                            P_FE_HASTA: '2026-02-08T00:00:00.000Z'
                            P_TP_COMPROBANTE_FISCAL: '32'
                            P_DE_TP_COMPROBANTE_FISCAL: Factura de Consumo Electrónica
                            P_NU_COMPROBANTE_FISCAL: E320000999999
                            P_FE_VENCIMIENTO_NUMERADOR: '9999-12-31T00:00:00.000Z'
                            P_ST_RECIBO: 4
                            P_DE_ST_RECIBO: Cobrado
                            P_MT_RECIBO: 8790.51
                            P_MT_PRIMA: 7578.03
                            P_MT_TOTAL_COMPONENTE: 1212.48
                            P_MT_RECIBO_AFECTADO: -8790.51
                            P_MT_PRIMA_AFECTADO: -7578.03
                            P_MT_COMPONENTE_AFECTADO: -1212.48
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    payload: []
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" must be a valid date'
                      - '"fechaHasta" must be a valid date'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" is required'
                      - '"fechaHasta" is required'
                      - '"cdUsuario" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /cobros/consulta:
    get:
      summary: Consultar Cobros de Generales y Vida
      description: >
        Consulta los cobros de un rango de fecha para productos de Seguros
        Generales y Vida.


        Este servicio retorna información detallada de los ingresos/pagos
        aplicados a las pólizas.


        **Identificador único de ingreso:** `P_CD_ENTIDAD + P_CD_SUCURSAL +
        P_NU_INGRESO`


        **Parámetros obligatorios:** todos los parámetros son requeridos.
      operationId: consultarCobrosGeneralesVida
      tags:
        - Cobros
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: fechaDesde
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha inicial del período a consultar
          example: '2025-01-01'
        - name: fechaHasta
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha final del período a consultar
          example: '2025-01-31'
        - name: cdUsuario
          in: query
          required: true
          schema:
            type: string
            default: INTINTERMEDIARIO
          description: Código de usuario (enviar fijo INTINTERMEDIARIO)
          example: INTINTERMEDIARIO
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/CobroGeneralesVida'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - P_CD_ENTIDAD: 30
                        P_DE_ENTIDAD: Humano Seguros
                        P_CD_SUCURSAL: 52
                        P_DE_SUCURSAL: Depositos y transferencias Bancarias
                        P_NU_INGRESO: 37999
                        P_FE_INGRESO: '2025-10-08T00:00:00.000Z'
                        P_CD_MONEDA_INGRESO: 1
                        P_DE_SIGLAS_MONEDA_INGRESO: RD$
                        P_CD_CANAL_COBRO: 34
                        P_DE_CANAL_COBRO: Deposito/Transferencia Banco
                        P_CD_AREA: 35
                        P_DE_AREA: Automovil
                        P_NU_POLIZA: 21999
                        P_NU_CERTIFICADO: 0
                        P_DE_POLIZA: 30-35-21999
                        P_NM_CLIENTE: JUAN PEREZ
                        P_TP_DOCUMENTO: CED
                        P_NU_DOCUMENTO: '40212345678'
                        P_DE_INGRESO1: ' Pol 30-35-21999-0 Rec 913194 Rec 913194'
                        P_CD_CAUSA_ANULACION: null
                        P_DE_CAUSA_ANULACION: null
                        P_NU_CONSECUTIVO_MOV_CUENTA: 28
                        P_CD_RECIBO: 913194
                        P_TP_RECIBO: 1
                        P_DE_TP_RECIBO: Factura
                        P_NU_SECUENCIA_RECIBO: 718805
                        P_NU_CONVENIO_PAGO: 9
                        P_NU_CUOTA: 3
                        P_CD_PLAN_PAGO: 204
                        P_DE_PLAN_PAGO: Anual
                        P_CD_FRECUENCIA_PAGO_CUOTA: null
                        P_DE_FRECUENCIA_PAGO_CUOTA: null
                        P_CA_CUOTA: null
                        P_CD_MONEDA_POLIZA: 1
                        P_DE_SIGLAS_MONEDA_POLIZA: RD$
                        P_MT_RECIBO_COBRO: 2228.89
                        P_MT_PRIMA_COBRO: 1921.45
                        P_MT_COMPONENTE_COBRO: 307.44
                        P_MT_COMISION_COBRO: 336.26
                        P_PO_PARTICIPACION_MEDIADOR: 100
                        P_FE_PROXIMO_COBRO: null
                        P_FACTURAS_AFECTADAS: []
                        P_NU_INGRESO_ORIGINAL: null
                        P_FE_DESDE: '2025-07-04T00:00:00.000Z'
                        P_FE_HASTA: '2026-07-04T00:00:00.000Z'
                      - P_CD_ENTIDAD: 30
                        P_DE_ENTIDAD: Humano Seguros
                        P_CD_SUCURSAL: 52
                        P_DE_SUCURSAL: Depositos y transferencias Bancarias
                        P_NU_INGRESO: 37697
                        P_FE_INGRESO: '2025-10-09T00:00:00.000Z'
                        P_CD_MONEDA_INGRESO: 1
                        P_DE_SIGLAS_MONEDA_INGRESO: RD$
                        P_CD_CANAL_COBRO: 34
                        P_DE_CANAL_COBRO: Deposito/Transferencia Banco
                        P_CD_AREA: 40
                        P_DE_AREA: Vida Individual
                        P_NU_POLIZA: 15234
                        P_NU_CERTIFICADO: 0
                        P_DE_POLIZA: 30-40-15234
                        P_NM_CLIENTE: JUAN CARLOS MENDEZ GARCIA
                        P_TP_DOCUMENTO: CED
                        P_NU_DOCUMENTO: '00113456789'
                        P_DE_INGRESO1: ' Pol 30-40-15234-0 Rec 913195 Rec 913195'
                        P_CD_CAUSA_ANULACION: null
                        P_DE_CAUSA_ANULACION: null
                        P_NU_CONSECUTIVO_MOV_CUENTA: 15
                        P_CD_RECIBO: 913195
                        P_TP_RECIBO: 1
                        P_DE_TP_RECIBO: Factura
                        P_NU_SECUENCIA_RECIBO: 718806
                        P_NU_CONVENIO_PAGO: 12
                        P_NU_CUOTA: 1
                        P_CD_PLAN_PAGO: 201
                        P_DE_PLAN_PAGO: Mensual
                        P_CD_FRECUENCIA_PAGO_CUOTA: 1
                        P_DE_FRECUENCIA_PAGO_CUOTA: Mensual
                        P_CA_CUOTA: 12
                        P_CD_MONEDA_POLIZA: 1
                        P_DE_SIGLAS_MONEDA_POLIZA: RD$
                        P_MT_RECIBO_COBRO: 1500
                        P_MT_PRIMA_COBRO: 1293.1
                        P_MT_COMPONENTE_COBRO: 206.9
                        P_MT_COMISION_COBRO: 226.31
                        P_PO_PARTICIPACION_MEDIADOR: 100
                        P_FE_PROXIMO_COBRO: '2025-11-09T00:00:00.000Z'
                        P_FACTURAS_AFECTADAS: []
                        P_NU_INGRESO_ORIGINAL: null
                        P_FE_DESDE: '2025-10-09T00:00:00.000Z'
                        P_FE_HASTA: '2026-10-09T00:00:00.000Z'
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    payload: []
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" must be a valid date'
                      - '"fechaHasta" must be a valid date'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" is required'
                      - '"fechaHasta" is required'
                      - '"cdUsuario" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /comisiones/periodo:
    get:
      summary: Consultar Comisiones de Periodo Salud
      description: >
        Obtiene las comisiones generadas en un período específico para productos
        de Salud.


        Este servicio retorna el detalle de comisiones voluntarias y
        complementarias por cada factura/recibo procesado.


        **Parámetros obligatorios:** todos los parámetros son requeridos.
      operationId: consultarComisionesPeriodoSalud
      tags:
        - Comisiones
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: fechaInicio
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de inicio del período a consultar
          example: '2025-01-01'
        - name: fechaFin
          in: query
          required: true
          schema:
            type: string
            format: date
          description: Fecha de fin del período a consultar
          example: '2025-01-31'
        - name: compania
          in: query
          required: true
          schema:
            type: integer
          description: Código de la compañía
          example: 30
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      comisionesAseguradora:
                        type: array
                        items:
                          $ref: '#/components/schemas/ComisionSalud'
                  - type: object
                    properties:
                      error:
                        type: string
                        example: >-
                          El intermediario indicado no posee movimientos para
                          ese rango de fechas
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    comisionesAseguradora:
                      - compania: 30
                        producto: 95
                        nombreProducto: SALUD LOCAL
                        numeroPoliza: 3095378698
                        nombreCliente: Ingenieros Sanitarios Asociados Srl
                        codigoIntermediario: 70803
                        numeroFactura: 4164651
                        numeroRecibo: 4340589
                        numeroTipoDocumento: 1
                        nombreTipoDocumento: RECIBO DE COBROS
                        fechaPago: '2025-01-02T00:00:00.000-04:00'
                        montoPrima: 17962.2499982075
                        porcentajeComisionVoluntaria: 10
                        montoComisionVoluntaria: 1796.22499982075
                        porcentajeComisionComplementaria: 0
                        montoComisionComplementaria: 0
                        origenComision: CR
                        primaBruta: 17962.25
                        primaRealComision: -17962.2499982075
                        montoComisionSumario: 1796.22499982075
                      - compania: 30
                        producto: 95
                        nombreProducto: SALUD INTERNACIONAL
                        numeroPoliza: 3095378699
                        nombreCliente: Empresa Demo SA
                        codigoIntermediario: 70803
                        numeroFactura: 4164652
                        numeroRecibo: 4340590
                        numeroTipoDocumento: 1
                        nombreTipoDocumento: RECIBO DE COBROS
                        fechaPago: '2025-01-05T00:00:00.000-04:00'
                        montoPrima: 25000
                        porcentajeComisionVoluntaria: 12
                        montoComisionVoluntaria: 3000
                        porcentajeComisionComplementaria: 2
                        montoComisionComplementaria: 500
                        origenComision: CR
                        primaBruta: 25000
                        primaRealComision: 25000
                        montoComisionSumario: 3500
                sinRegistros:
                  summary: Sin registros encontrados
                  value:
                    error: >-
                      El intermediario indicado no posee movimientos para ese
                      rango de fechas
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"fechaInicio" must be a valid date'
                      - '"fechaFin" must be a valid date'
                      - '"compania" must be a number'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"fechaInicio" is required'
                      - '"fechaFin" is required'
                      - '"compania" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /catalogos/catalogo/provincias:
    get:
      summary: Catálogo de Provincias
      description: >
        Consulta el catálogo completo de provincias de República Dominicana para
        servicios que requieren especificar direcciones físicas del cliente.


        Este endpoint retorna las 32 provincias sin requerir parámetros.
      operationId: consultarProvincias
      tags:
        - Catálogos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Provincia'
              examples:
                conRegistros:
                  summary: Consulta exitosa con todas las provincias
                  value:
                    payload:
                      - P_CD_DATO: '1'
                        P_DE_DATO: DISTRITO NACIONAL
                      - P_CD_DATO: '2'
                        P_DE_DATO: AZUA
                      - P_CD_DATO: '3'
                        P_DE_DATO: BAHORUCO
                      - P_CD_DATO: '4'
                        P_DE_DATO: BARAHONA
                      - P_CD_DATO: '5'
                        P_DE_DATO: DAJABON
                      - P_CD_DATO: '6'
                        P_DE_DATO: DUARTE
                      - P_CD_DATO: '7'
                        P_DE_DATO: ELIAS PINA
                      - P_CD_DATO: '8'
                        P_DE_DATO: EL SEIBO
                      - P_CD_DATO: '9'
                        P_DE_DATO: ESPAILLAT
                      - P_CD_DATO: '10'
                        P_DE_DATO: INDEPENDENCIA
                      - P_CD_DATO: '11'
                        P_DE_DATO: LA ALTAGRACIA
                      - P_CD_DATO: '12'
                        P_DE_DATO: LA ROMANA
                      - P_CD_DATO: '13'
                        P_DE_DATO: LA VEGA
                      - P_CD_DATO: '14'
                        P_DE_DATO: MARIA TRINIDAD SANCHEZ
                      - P_CD_DATO: '15'
                        P_DE_DATO: MONTE CRISTI
                      - P_CD_DATO: '16'
                        P_DE_DATO: PEDERNALES
                      - P_CD_DATO: '17'
                        P_DE_DATO: PERAVIA
                      - P_CD_DATO: '18'
                        P_DE_DATO: PUERTO PLATA
                      - P_CD_DATO: '19'
                        P_DE_DATO: HERMANAS MIRABAL
                      - P_CD_DATO: '20'
                        P_DE_DATO: SAMANA
                      - P_CD_DATO: '21'
                        P_DE_DATO: SAN CRISTOBAL
                      - P_CD_DATO: '22'
                        P_DE_DATO: SAN JUAN
                      - P_CD_DATO: '23'
                        P_DE_DATO: SAN PEDRO DE MACORIS
                      - P_CD_DATO: '24'
                        P_DE_DATO: SANCHEZ RAMIREZ
                      - P_CD_DATO: '25'
                        P_DE_DATO: SANTIAGO
                      - P_CD_DATO: '26'
                        P_DE_DATO: SANTIAGO RODRIGUEZ
                      - P_CD_DATO: '27'
                        P_DE_DATO: VALVERDE
                      - P_CD_DATO: '28'
                        P_DE_DATO: MONSENOR NOUEL
                      - P_CD_DATO: '29'
                        P_DE_DATO: MONTE PLATA
                      - P_CD_DATO: '30'
                        P_DE_DATO: HATO MAYOR
                      - P_CD_DATO: '31'
                        P_DE_DATO: SAN JOSE DE OCOA
                      - P_CD_DATO: '32'
                        P_DE_DATO: SANTO DOMINGO
        '400':
          description: Solicitud incorrecta - Headers faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /catalogos/catalogo/municipios:
    get:
      summary: Catálogo de Municipios
      description: >
        Consulta el catálogo de municipios para servicios que requieren
        especificar direcciones físicas del cliente.


        Los municipios están organizados jerárquicamente por provincia.


        **Parámetro obligatorio:** cdProvincia es requerido.
      operationId: consultarMunicipios
      tags:
        - Catálogos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: cdProvincia
          in: query
          required: true
          schema:
            type: integer
          description: Código de la provincia
          example: 32
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Municipio'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - P_CD_DATO: '160'
                        P_DE_DATO: SANTO DOMINGO ESTE
                      - P_CD_DATO: '161'
                        P_DE_DATO: SANTO DOMINGO OESTE
                      - P_CD_DATO: '162'
                        P_DE_DATO: SANTO DOMINGO NORTE
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"cdProvincia" must be a number'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"cdProvincia" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 500
                  message:
                    type: string
                    example: >-
                      Ha ocurrido un error: 1Error al consultar lista de
                      Municipios: No se encontraron datos
              examples:
                errorInterno:
                  summary: Error al consultar municipios
                  value:
                    status: 500
                    message: >-
                      Ha ocurrido un error: 1Error al consultar lista de
                      Municipios: No se encontraron datos
  /catalogos/catalogos/sectores:
    get:
      summary: Catálogo de Sectores
      description: >
        Consulta el catálogo de sectores para servicios que requieren
        especificar direcciones físicas del cliente.


        Los sectores están organizados jerárquicamente por provincia y
        municipio.


        **Parámetros obligatorios:** todos los parámetros son requeridos.
      operationId: consultarSectores
      tags:
        - Catálogos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: cdProvincia
          in: query
          required: true
          schema:
            type: integer
          description: Código de la provincia
          example: 1
        - name: cdMunicipio
          in: query
          required: true
          schema:
            type: integer
          description: Código del municipio
          example: 1
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Sector'
              examples:
                conRegistros:
                  summary: Consulta con registros encontrados
                  value:
                    payload:
                      - P_CD_DATO: '100002'
                        P_DE_DATO: EL LIMON
                      - P_CD_DATO: '100003'
                        P_DE_DATO: LOS PRADOS
                      - P_CD_DATO: '100004'
                        P_DE_DATO: BELLA VISTA
                      - P_CD_DATO: '100005'
                        P_DE_DATO: NACO
                      - P_CD_DATO: '100006'
                        P_DE_DATO: GAZCUE
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"cdProvincia" must be a number'
                      - '"cdMunicipio" must be a number'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"cdProvincia" is required'
                      - '"cdMunicipio" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 500
                  message:
                    type: string
                    example: >-
                      Ha ocurrido un error: 1Error al consultar lista de
                      Sectores: No se encontraron datos
              examples:
                errorInterno:
                  summary: Error al consultar sectores
                  value:
                    status: 500
                    message: >-
                      Ha ocurrido un error: 1Error al consultar lista de
                      Sectores: No se encontraron datos
  /cotizacion/productos/cotizar:
    post:
      summary: Cotizar Seguro de Automóvil
      description: >
        Genera una cotización para un seguro de automóvil basándose en las
        características del vehículo y del asegurado.


        **Nota importante:** La fecha de cotización (`fechaDesde`) debe ser la
        fecha del día en que se envía la petición.


        **Vigencias disponibles:**

        - `M` - Mensual (renueva mensualmente)

        - `B` - Bimestral (renueva cada dos meses)

        - `T` - Trimestral (renueva cada tres meses)

        - `C` - Cuatrimestral (renueva cada cuatro meses)

        - `S` - Semestral (renueva cada seis meses)

        - `N` - 9 meses (renueva cada nueve meses)

        - `A` - Anual (renueva al año) - **Recomendado**

        - `U` - Única (renueva al año)

        - `BA` - Bianual (renueva cada dos años)


        **Monedas disponibles:**

        - `1` - Peso Dominicano (RD$)

        - `2` - Dólar Americano (US$)

        - `3` - Euro (€)
      operationId: cotizarAutomovil
      tags:
        - Cotizaciones
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CotizacionAutomovilRequest'
            examples:
              cotizacionBasica:
                summary: Cotización básica - Mi Auto Full (Privado)
                value:
                  codigoMoneda: 1
                  fechaDesde: '2025-11-07'
                  direccionIp: 172.24.214.139
                  codigoVigencia: A
                  datos:
                    - codigoDato: 250091
                      valorDato: '1'
                      label: Plan
                      numeroBien: 1
                    - codigoDato: 250000
                      valorDato: '40'
                      label: Marca Vehículo
                      numeroBien: 1
                    - codigoDato: 250001
                      valorDato: '4'
                      label: Modelo Vehículo
                      numeroBien: 1
                    - codigoDato: 250004
                      valorDato: '1'
                      label: Versión
                      numeroBien: 1
                    - codigoDato: 250003
                      valorDato: '2016'
                      label: Año de Fabricación
                      numeroBien: 1
                    - codigoDato: 250015
                      valorDato: '4'
                      label: Uso del Vehículo
                      numeroBien: 1
                    - codigoDato: 250016
                      valorDato: '750300'
                      label: Valor del Vehículo
                      numeroBien: 1
                    - codigoDato: 250069
                      valorDato: 24-08-1993
                      label: Fecha de nacimiento
                      numeroBien: 1
                    - codigoDato: 250320
                      valorDato: '28'
                      label: Edad del Asegurado
                      numeroBien: 1
                    - codigoDato: 250321
                      valorDato: S
                      label: Estado Civil
                      numeroBien: 1
                    - codigoDato: 250322
                      valorDato: M
                      label: Genero
                      numeroBien: 1
                    - codigoDato: 250323
                      valorDato: '1'
                      label: Zona de Circulación
                      numeroBien: 1
                    - codigoDato: 250105
                      valorDato: '1'
                      label: R.C. Exceso ?
                      numeroBien: 1
                    - codigoDato: 250088
                      valorDato: '5000000'
                      label: Suma Asegurada Auto Exceso
                      numeroBien: 1
                  tipoDocumentoReferidor: CED
                  numeroDocumentoReferidor: '22312345678'
              cotizacionPremier:
                summary: Cotización Mi Auto Premier (Todo Riesgo Cero Deducible)
                value:
                  codigoMoneda: 1
                  fechaDesde: '2025-11-07'
                  direccionIp: 172.24.214.139
                  codigoVigencia: A
                  datos:
                    - codigoDato: 250091
                      valorDato: '0'
                      label: Plan
                      numeroBien: 1
                    - codigoDato: 250000
                      valorDato: '40'
                      label: Marca Vehículo
                      numeroBien: 1
                    - codigoDato: 250001
                      valorDato: '4'
                      label: Modelo Vehículo
                      numeroBien: 1
                    - codigoDato: 250004
                      valorDato: '1'
                      label: Versión
                      numeroBien: 1
                    - codigoDato: 250003
                      valorDato: '2024'
                      label: Año de Fabricación
                      numeroBien: 1
                    - codigoDato: 250015
                      valorDato: '4'
                      label: Uso del Vehículo
                      numeroBien: 1
                    - codigoDato: 250016
                      valorDato: '2500000'
                      label: Valor del Vehículo
                      numeroBien: 1
                    - codigoDato: 250069
                      valorDato: 15-03-1985
                      label: Fecha de nacimiento
                      numeroBien: 1
                    - codigoDato: 250320
                      valorDato: '39'
                      label: Edad del Asegurado
                      numeroBien: 1
                    - codigoDato: 250321
                      valorDato: C
                      label: Estado Civil
                      numeroBien: 1
                    - codigoDato: 250322
                      valorDato: F
                      label: Genero
                      numeroBien: 1
                    - codigoDato: 250323
                      valorDato: '2'
                      label: Zona de Circulación
                      numeroBien: 1
                    - codigoDato: 250105
                      valorDato: '1'
                      label: R.C. Exceso ?
                      numeroBien: 1
                    - codigoDato: 250088
                      valorDato: '10000000'
                      label: Suma Asegurada Auto Exceso
                      numeroBien: 1
              cotizacionTaxi:
                summary: Cotización para Taxi - Zona Este
                value:
                  codigoMoneda: 1
                  fechaDesde: '2025-11-07'
                  direccionIp: 172.24.214.139
                  codigoVigencia: A
                  datos:
                    - codigoDato: 250091
                      valorDato: '2'
                      label: Plan
                      numeroBien: 1
                    - codigoDato: 250000
                      valorDato: '40'
                      label: Marca Vehículo
                      numeroBien: 1
                    - codigoDato: 250001
                      valorDato: '4'
                      label: Modelo Vehículo
                      numeroBien: 1
                    - codigoDato: 250004
                      valorDato: '1'
                      label: Versión
                      numeroBien: 1
                    - codigoDato: 250003
                      valorDato: '2018'
                      label: Año de Fabricación
                      numeroBien: 1
                    - codigoDato: 250015
                      valorDato: '6'
                      label: Uso del Vehículo
                      numeroBien: 1
                    - codigoDato: 250016
                      valorDato: '800000'
                      label: Valor del Vehículo
                      numeroBien: 1
                    - codigoDato: 250069
                      valorDato: 10-06-1980
                      label: Fecha de nacimiento
                      numeroBien: 1
                    - codigoDato: 250320
                      valorDato: '44'
                      label: Edad del Asegurado
                      numeroBien: 1
                    - codigoDato: 250321
                      valorDato: C
                      label: Estado Civil
                      numeroBien: 1
                    - codigoDato: 250322
                      valorDato: M
                      label: Genero
                      numeroBien: 1
                    - codigoDato: 250323
                      valorDato: '3'
                      label: Zona de Circulación
                      numeroBien: 1
                    - codigoDato: 250105
                      valorDato: '1'
                      label: R.C. Exceso ?
                      numeroBien: 1
                    - codigoDato: 250088
                      valorDato: '5000000'
                      label: Suma Asegurada Auto Exceso
                      numeroBien: 1
              cotizacionMoto:
                summary: Cotización Mi Moto Básico
                value:
                  codigoMoneda: 1
                  fechaDesde: '2025-11-07'
                  direccionIp: 172.24.214.139
                  codigoVigencia: A
                  datos:
                    - codigoDato: 250091
                      valorDato: '4'
                      label: Plan
                      numeroBien: 1
                    - codigoDato: 250000
                      valorDato: '65'
                      label: Marca Vehículo
                      numeroBien: 1
                    - codigoDato: 250001
                      valorDato: '12'
                      label: Modelo Vehículo
                      numeroBien: 1
                    - codigoDato: 250004
                      valorDato: '1'
                      label: Versión
                      numeroBien: 1
                    - codigoDato: 250003
                      valorDato: '2022'
                      label: Año de Fabricación
                      numeroBien: 1
                    - codigoDato: 250015
                      valorDato: '4'
                      label: Uso del Vehículo
                      numeroBien: 1
                    - codigoDato: 250016
                      valorDato: '150000'
                      label: Valor del Vehículo
                      numeroBien: 1
                    - codigoDato: 250069
                      valorDato: 20-12-1995
                      label: Fecha de nacimiento
                      numeroBien: 1
                    - codigoDato: 250320
                      valorDato: '29'
                      label: Edad del Asegurado
                      numeroBien: 1
                    - codigoDato: 250321
                      valorDato: S
                      label: Estado Civil
                      numeroBien: 1
                    - codigoDato: 250322
                      valorDato: M
                      label: Genero
                      numeroBien: 1
                    - codigoDato: 250323
                      valorDato: '1'
                      label: Zona de Circulación
                      numeroBien: 1
                    - codigoDato: 250105
                      valorDato: '1'
                      label: R.C. Exceso ?
                      numeroBien: 1
                    - codigoDato: 250088
                      valorDato: '3000000'
                      label: Suma Asegurada Auto Exceso
                      numeroBien: 1
      responses:
        '200':
          description: >-
            Cotización generada (puede incluir errores de negocio en la
            respuesta)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CotizacionAutomovilResponse'
              examples:
                cotizacionExitosa:
                  summary: Cotización exitosa
                  value:
                    codigoError: null
                    fechaHasta: '2026-11-07T00:00:00.000-04:00'
                    datos:
                      - codigoDato: 990010
                        valorDato: '1'
                        label: Monedas
                        numeroBien: 1
                      - codigoDato: 250091
                        valorDato: '1'
                        label: Plan
                        numeroBien: 1
                      - codigoDato: 250000
                        valorDato: '40'
                        label: Marca Vehículo
                        numeroBien: 1
                      - codigoDato: 250016
                        valorDato: '781952'
                        label: Valor del Vehículo
                        numeroBien: 1
                    cotizaciones:
                      - numeroCotizacion: 2256835231
                        numeroItem: 0
                        codigoPlan: 100
                        descripcionPlan: Vehículo
                        montoPrimaAnual: 43332.36
                        montoComponenteAnual: 6933.18
                        montoTotalAnual: 50265.54
                        montoPrimaProrrata: 43332.36
                        montoComponenteProrrata: 6933.18
                        montoTotalProrrata: 50265.54
                        planesDePago:
                          - codigoPlan: 100
                            descripcionPlan: Vehículo
                            codigoPlanPago: 204
                            descripcionPlanPago: Anual
                            numeroTotalCuotas: 1
                            montoPrimaPago: 50265.54
                            seleccion: 1
                            montoSiguienteCuota: 0
                          - codigoPlan: 100
                            descripcionPlan: Vehículo
                            codigoPlanPago: 201
                            descripcionPlanPago: Mensual
                            numeroTotalCuotas: 12
                            montoPrimaPago: 4188.79
                            seleccion: 0
                            montoSiguienteCuota: 0
                errorVigenciaInvalida:
                  summary: Código de vigencia inválido
                  value:
                    codigoError: >-
                      La vigencia indicada no es valida. Favor modificar.
                      Vigencia: E cot 2256835233 en 1
                    fechaHasta: null
                    datos: []
                errorValorVehiculo:
                  summary: Valor del vehículo fuera de rango
                  value:
                    codigoError: >-
                      EL VALOR MINIMO PARA ESTE VEHICULO ES DE: 781,952.00 RD$ Y
                      EL VALOR MAXIMO ES DE: 1,172,928.00 RD$  cot 2256835224 en
                      120.2
                    fechaHasta: '2026-11-07T00:00:00.000-04:00'
                    datos: []
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"fechaDesde" must be a valid date'
                      - '"direccionIp" must be a string'
                      - '"codigoVigencia" must be a string'
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"codigoMoneda" is required'
                      - '"fechaDesde" is required'
                      - '"direccionIp" is required'
                      - '"codigoVigencia" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /cotizacion/detalle:
    get:
      summary: Consultar Detalle de Cotización Generales y Vida
      description: >
        Obtiene el detalle completo de una cotización de Seguros Generales y
        Vida.


        Este servicio retorna información exhaustiva incluyendo:

        - Datos del asegurado y del intermediario

        - Información del producto y plan

        - Bienes asegurados con todos sus datos

        - Coberturas detalladas con primas y deducibles

        - Estado de inspección


        **Parámetro obligatorio:** nuCotizacion es requerido.
      operationId: consultarDetalleCotizacionGeneralesVida
      tags:
        - Cotizaciones
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: nuCotizacion
          in: query
          required: true
          schema:
            type: integer
          description: Número de la cotización
          example: 2256835231
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetalleCotizacion'
              examples:
                consultaExitosa:
                  summary: Consulta exitosa con datos completos
                  value:
                    codigoError: null
                    descripcionError: null
                    codigoSucursal: 1
                    descripcionSucursal: OFICINA PRINCIPAL
                    codigoPersonaMediador: 2487109
                    codigoMediador: 70803
                    nombreMediador: HIDABAS & ASOCIADOS, SRL
                    codigoMoneda: 1
                    descripcionMoneda: Peso Dominicano
                    tipoDocumentoAsegurado: null
                    numeroDocumentoAsegurado: null
                    nombreAsegurado: null
                    codigoCanalVenta: 27
                    descripcionCanalVenta: API Integración Intermediarios
                    codigoArea: 35
                    descripcionArea: Automovil
                    codigoProducto: 350100
                    descripcionProducto: Seguros Vehículos de Motor
                    fechaDesde: '2025-11-07T00:00:00.000-04:00'
                    fechaHasta: '2026-11-07T00:00:00.000-04:00'
                    codigoCotizacion: 1
                    descripcionCotizacion: Pendiente Por Procesar Emisión/Endoso
                    codigoTipoNegocio: 1
                    descripcionTipoNegocio: 100% Humano Seguro
                    numeroInspeccion: null
                    codigoUsuario: INTINTERMEDIARIO
                    primerNombre: null
                    segundoNombre: null
                    primerApellido: null
                    segundoApellido: null
                    conduceSalida: null
                    bienes:
                      - numeroBien: 1
                        descripcionBien: Mi Auto
                        datos:
                          - numeroBien: 1
                            codigoDato: 250001
                            valor: '4'
                            tabla: 250001
                            dato1: 250000
                            dato2: 250001
                            dato3: null
                            dato4: null
                            dato5: null
                            dato6: null
                            req: 1
                            adicional: null
                            indexar: 0
                            numeroConsecutivo: 30
                            label: Modelo Vehículo
                            uso: 2
                            descripcionValor: CIVIC
                          - numeroBien: 1
                            codigoDato: 250000
                            valor: '40'
                            tabla: 250000
                            dato1: 250000
                            dato2: null
                            dato3: null
                            dato4: null
                            dato5: null
                            dato6: null
                            req: 1
                            adicional: null
                            indexar: 0
                            numeroConsecutivo: 20
                            label: Marca Vehículo
                            uso: 2
                            descripcionValor: HONDA
                          - numeroBien: 1
                            codigoDato: 250016
                            valor: '781952'
                            tabla: null
                            dato1: null
                            dato2: null
                            dato3: null
                            dato4: null
                            dato5: null
                            dato6: null
                            req: 1
                            adicional: null
                            indexar: 0
                            numeroConsecutivo: 170
                            label: Valor del Vehículo
                            uso: 2
                            descripcionValor: null
                    codigoPlan: 100
                    descripcionPlan: Vehículo
                    codigoPlanPago: 204
                    descripcionPlanPago: Anual
                    montoPrimaAnual: 43332.36
                    montoImpuestoAnual: 6933.18
                    montoPrimaProrrata: 43332.36
                    montoImpuestoProrrata: 6933.18
                    coberturas:
                      - numeroBien: 1
                        descripcionBien: Mi Auto
                        codigoGarantia: 1512
                        descripcionGarantia: Daños a la Propiedad de Terceros
                        montoSumaAsegurada: 500000
                        montoPrimaBruta: 0
                        montoPrimaNeta: 0
                        montoPrimaProrrata: 0
                        montoComision: 0
                        codigoProducto: 350100
                        descripcionPlan: Mi Auto Full (Todo Riesgo Con Deducible)
                        descripcionServicio: Daños a la Propiedad de Terceros
                        descripcionDetalle: 'Suma Asegurada: 500,000.00'
                        valorDeducible: null
                        porcentajeDeducible: null
                        incluido: 0
                      - numeroBien: 1
                        descripcionBien: Mi Auto
                        codigoGarantia: 1500
                        descripcionGarantia: Pérdida Parcial por Daños Materiales
                        montoSumaAsegurada: 781952
                        montoPrimaBruta: 0
                        montoPrimaNeta: 0
                        montoPrimaProrrata: 0
                        montoComision: 0
                        codigoProducto: 350100
                        descripcionPlan: Mi Auto Full (Todo Riesgo Con Deducible)
                        descripcionServicio: Pérdida Parcial por Daños Materiales
                        descripcionDetalle: >-
                          Suma Asegurada: 781,952.00 Deducible: 1.00% sobre la
                          Suma Asegurada con un mínimo de 10,000.00
                        valorDeducible: 10000
                        porcentajeDeducible: 1
                        incluido: 0
                      - numeroBien: 1
                        descripcionBien: Mi Auto
                        codigoGarantia: 1504
                        descripcionGarantia: Rotura de Cristales
                        montoSumaAsegurada: 781952
                        montoPrimaBruta: 0
                        montoPrimaNeta: 0
                        montoPrimaProrrata: 0
                        montoComision: 0
                        codigoProducto: 350100
                        descripcionPlan: Mi Auto Full (Todo Riesgo Con Deducible)
                        descripcionServicio: Rotura de Cristales
                        descripcionDetalle: >-
                          Incluido Deducible: 10.00% sobre la Pérdida
                          Indemnizable con un mínimo de 500.00
                        valorDeducible: 500
                        porcentajeDeducible: 10
                        incluido: 1
                    estatusInspeccion: null
                    descripcionEstatusInspeccion: null
                    estatusDictamenInspeccion: null
                    descripcionEstatusDictamenInspeccion: null
                    permiteEmitir: 0
                    indicadorMarbeteProvisional: 0
                    inHogarEsencial: null
                    tipoTransaccion: 1
                    descripcionTransaccion: Emisión
                    codigoMotivoTransaccion: 1
                    descripcionMotivoTransaccion: Emision Certificado Multiriesgo
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o cotización no existe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                headersFaltantes:
                  summary: Headers requeridos faltantes
                  value:
                    status: 400
                    message: El parámetro de cabecera x-codigo-mediador es requerido.
                cotizacionNoExiste:
                  summary: Cotización no existe
                  value:
                    status: 400
                    message: 'Error: Número de cotización no existe'
                parametrosInvalidos:
                  summary: Parámetros con formato inválido
                  value:
                    status: 400
                    message:
                      - '"nuCotizacion" must be a number'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Recurso no encontrado - Falta parámetro nuCotizacion
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
              example:
                statusCode: 404
                message: Resource not found
  /vehiculos/marcas:
    get:
      summary: Obtener Marcas de Vehículos
      description: >
        Obtiene el listado de marcas de automóviles elegibles según el código de
        plan especificado.


        Las marcas disponibles varían dependiendo del plan seleccionado.


        **Parámetro obligatorio:** cdPlan es requerido.
      operationId: obtenerMarcas
      tags:
        - Vehículos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: cdPlan
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
              - 3
              - 4
          description: |
            Código del plan:
            * `0` - Mi Auto Premier (Todo Riesgo Cero Deducible)
            * `1` - Mi Auto Full (Todo Riesgo Con Deducible)
            * `2` - Mi Auto Básico (Seguro de Ley)
            * `3` - Mi Auto Flex (Todo Riesgo Perdida Total)
            * `4` - Mi Moto Básico
          example: 1
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Marca'
              examples:
                conRegistros:
                  summary: Consulta exitosa con marcas disponibles
                  value:
                    payload:
                      - P_CD_DATO: '1'
                        P_DE_DATO: ACURA
                      - P_CD_DATO: '2'
                        P_DE_DATO: ALFA ROMEO
                      - P_CD_DATO: '3'
                        P_DE_DATO: AUDI
                      - P_CD_DATO: '4'
                        P_DE_DATO: BAIC
                      - P_CD_DATO: '5'
                        P_DE_DATO: BAJAJ
                      - P_CD_DATO: '6'
                        P_DE_DATO: BENTLEY
                      - P_CD_DATO: '8'
                        P_DE_DATO: BMW
                      - P_CD_DATO: '10'
                        P_DE_DATO: BRILLIANCE
                      - P_CD_DATO: '11'
                        P_DE_DATO: BUICK
                      - P_CD_DATO: '12'
                        P_DE_DATO: BYD
                      - P_CD_DATO: '13'
                        P_DE_DATO: CADILLAC
        '400':
          description: Solicitud incorrecta - Parámetro faltante
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                parametrosFaltantes:
                  summary: Parámetro requerido faltante
                  value:
                    status: 400
                    message:
                      - '"cdPlan" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Solicitud incorrecta - Parámetro inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                parametrosFaltantes:
                  summary: Parámetro inválido
                  value:
                    status: 500
                    message:
                      - >-
                        Ha ocurrido un error: El codigo de plan enviado es
                        incorrecto.
  /vehiculos/modelos:
    get:
      summary: Obtener Modelos de Vehículos
      description: >
        Obtiene el listado de modelos de automóviles elegibles según el código
        de plan y código de marca especificados.


        Los modelos disponibles varían dependiendo del plan y la marca
        seleccionados.


        **Parámetros obligatorios:** cdPlan y cdMarca son requeridos.
      operationId: obtenerModelos
      tags:
        - Vehículos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: cdPlan
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
              - 3
              - 4
          description: |
            Código del plan:
            * `0` - Mi Auto Premier (Todo Riesgo Cero Deducible)
            * `1` - Mi Auto Full (Todo Riesgo Con Deducible)
            * `2` - Mi Auto Básico (Seguro de Ley)
            * `3` - Mi Auto Flex (Todo Riesgo Perdida Total)
            * `4` - Mi Moto Básico
          example: 1
        - name: cdMarca
          in: query
          required: true
          schema:
            type: integer
          description: Código de la marca de vehículo
          example: 1
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Modelo'
              examples:
                modelosAcura:
                  summary: Modelos de ACURA (cdPlan=1, cdMarca=1)
                  value:
                    payload:
                      - P_CD_DATO: '1'
                        P_DE_DATO: MDX
                      - P_CD_DATO: '2'
                        P_DE_DATO: RDX
                      - P_CD_DATO: '3'
                        P_DE_DATO: RSX
                      - P_CD_DATO: '4'
                        P_DE_DATO: TL
                      - P_CD_DATO: '5'
                        P_DE_DATO: TLX
                      - P_CD_DATO: '6'
                        P_DE_DATO: TSX
                      - P_CD_DATO: '7'
                        P_DE_DATO: LEGEND
                      - P_CD_DATO: '8'
                        P_DE_DATO: ZDX
                      - P_CD_DATO: '9'
                        P_DE_DATO: NSX
                      - P_CD_DATO: '10'
                        P_DE_DATO: ILX
                      - P_CD_DATO: '11'
                        P_DE_DATO: INTEGRA
                      - P_CD_DATO: '12'
                        P_DE_DATO: SLX
                      - P_CD_DATO: '13'
                        P_DE_DATO: RL
                      - P_CD_DATO: '14'
                        P_DE_DATO: RLX
                modelosHonda:
                  summary: Modelos de HONDA (cdPlan=1, cdMarca=40)
                  value:
                    payload:
                      - P_CD_DATO: '1'
                        P_DE_DATO: ACCORD
                      - P_CD_DATO: '3'
                        P_DE_DATO: CAPA
                      - P_CD_DATO: '4'
                        P_DE_DATO: CIVIC
                      - P_CD_DATO: '5'
                        P_DE_DATO: CROSSTOUR
                      - P_CD_DATO: '6'
                        P_DE_DATO: CR-V
                      - P_CD_DATO: '7'
                        P_DE_DATO: CRZ
                      - P_CD_DATO: '8'
                        P_DE_DATO: ELEMENT
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                parametrosFaltantes:
                  summary: Parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"cdPlan" is required'
                      - '"cdMarca" is required'
                soloUnParametroFaltante:
                  summary: Falta solo un parámetro
                  value:
                    status: 400
                    message:
                      - '"cdMarca" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Error interno del servidor - No se encontraron datos
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 500
                  message:
                    type: string
                    example: 'Ha ocurrido un error: No se encontraron datos'
              examples:
                noSeEncontraronDatos:
                  summary: No se encontraron modelos para la combinación plan-marca
                  value:
                    status: 500
                    message: 'Ha ocurrido un error: No se encontraron datos'
  /vehiculos/versiones:
    get:
      summary: Obtener Versiones de Vehículos
      description: >
        Obtiene el listado de versiones de modelos de automóviles elegibles
        según el código de plan, código de marca y código de modelo
        especificados.


        Las versiones disponibles varían dependiendo del plan, la marca y el
        modelo seleccionados.


        **Parámetros obligatorios:** cdPlan, cdMarca y cdModelo son requeridos.
      operationId: obtenerVersiones
      tags:
        - Vehículos
      security:
        - Ocp-Apim-Subscription-Key: []
          x-user-key: []
          x-codigo-mediador: []
      parameters:
        - name: cdPlan
          in: query
          required: true
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
              - 3
              - 4
          description: |
            Código del plan:
            * `0` - Mi Auto Premier (Todo Riesgo Cero Deducible)
            * `1` - Mi Auto Full (Todo Riesgo Con Deducible)
            * `2` - Mi Auto Básico (Seguro de Ley)
            * `3` - Mi Auto Flex (Todo Riesgo Perdida Total)
            * `4` - Mi Moto Básico
          example: 1
        - name: cdMarca
          in: query
          required: true
          schema:
            type: integer
          description: Código de la marca de vehículo
          example: 40
        - name: cdModelo
          in: query
          required: true
          schema:
            type: integer
          description: Código del modelo de vehículo
          example: 1
      responses:
        '200':
          description: Consulta exitosa
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Version'
              examples:
                versionesHondaAccord:
                  summary: Versiones de HONDA ACCORD (cdPlan=1, cdMarca=40, cdModelo=1)
                  value:
                    payload:
                      - P_CD_DATO: '1'
                        P_DE_DATO: COUPE
                      - P_CD_DATO: '2'
                        P_DE_DATO: CROSSTOUR
                      - P_CD_DATO: '3'
                        P_DE_DATO: DX
                      - P_CD_DATO: '4'
                        P_DE_DATO: EX
                      - P_CD_DATO: '5'
                        P_DE_DATO: EXL
                      - P_CD_DATO: '6'
                        P_DE_DATO: LX
                      - P_CD_DATO: '7'
                        P_DE_DATO: LX-P
                      - P_CD_DATO: '8'
                        P_DE_DATO: SPECIAL EDITION
                      - P_CD_DATO: '9'
                        P_DE_DATO: SPORT
                      - P_CD_DATO: '10'
                        P_DE_DATO: STANDARD
                      - P_CD_DATO: '11'
                        P_DE_DATO: TOURING
                      - P_CD_DATO: '12'
                        P_DE_DATO: V6
                      - P_CD_DATO: '13'
                        P_DE_DATO: V6-COUPE
                      - P_CD_DATO: '14'
                        P_DE_DATO: HIBRIDO
                versionesHondaCivic:
                  summary: Versiones de HONDA CIVIC (cdPlan=1, cdMarca=40, cdModelo=4)
                  value:
                    payload:
                      - P_CD_DATO: '2'
                        P_DE_DATO: COUPE
                      - P_CD_DATO: '3'
                        P_DE_DATO: DX
                      - P_CD_DATO: '4'
                        P_DE_DATO: EX
                      - P_CD_DATO: '5'
                        P_DE_DATO: EX COUPE
                      - P_CD_DATO: '6'
                        P_DE_DATO: EX SPECIAL EDITION
                      - P_CD_DATO: '7'
                        P_DE_DATO: EX TURBO
                      - P_CD_DATO: '8'
                        P_DE_DATO: EXL
        '400':
          description: Solicitud incorrecta - Parámetros inválidos o faltantes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                parametrosFaltantes:
                  summary: Todos los parámetros requeridos faltantes
                  value:
                    status: 400
                    message:
                      - '"cdPlan" is required'
                      - '"cdMarca" is required'
                      - '"cdModelo" is required'
                dosParametrosFaltantes:
                  summary: Faltan dos parámetros
                  value:
                    status: 400
                    message:
                      - '"cdMarca" is required'
                      - '"cdModelo" is required'
                unParametroFaltante:
                  summary: Falta solo un parámetro
                  value:
                    status: 400
                    message:
                      - '"cdModelo" is required'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Error interno del servidor - No se encontraron datos
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 500
                  message:
                    type: string
                    example: 'Ha ocurrido un error: No se encontraron datos'
              examples:
                noSeEncontraronDatos:
                  summary: >-
                    No se encontraron versiones para la combinación
                    plan-marca-modelo
                  value:
                    status: 500
                    message: 'Ha ocurrido un error: No se encontraron datos'
components:
  securitySchemes:
    Ocp-Apim-Subscription-Key:
      type: apiKey
      in: header
      name: Ocp-Apim-Subscription-Key
      description: >
        Llave de suscripción proporcionada por Humano Seguros.


        Esta llave es única para cada intermediario y debe ser incluida en todas
        las peticiones al API.


        **Ejemplo:**

        Ocp-Apim-Subscription-Key: 5fd0ebcd8ead4d019b6fdb4c18e3fbd51
    x-user-key:
      type: apiKey
      in: header
      name: x-user-key
      description: >
        Llave de usuario proporcionada por Humano Seguros.


        Esta llave identifica al usuario específico que realiza la petición.


        **Ejemplo:**

        x-user-key: 8c3a9f0e1b5d6a7f2e4c3b1d0f8a7e6c


        Para obtener tu llave de usuario, contacta al equipo de APIs:
        apis@humano.com.do
    x-codigo-mediador:
      type: apiKey
      in: header
      name: x-codigo-mediador
      description: >
        Código del intermediario; identifica al intermediario que realiza la
        petición.

        Debe ser el intermediario al que le corresponde el x-user-key que se
        proporcione.


        **Ejemplo:**

        x-codigo-mediador: 79999
  schemas:
    PolizaGeneralVida:
      type: object
      description: Información detallada de una póliza de Generales y Vida
      properties:
        P_CD_ENTIDAD:
          type: integer
          description: Código de la aseguradora. Valor siempre fijo 30
          example: 30
        P_CD_AREA:
          type: integer
          description: Código del ramo al cual pertenece la póliza
          example: 35
        P_NU_POLIZA:
          type: integer
          description: Número de la póliza, perteneciente al cd_area correspondiente
          example: 9999
        P_NU_CERTIFICADO:
          type: integer
          description: >-
            Valor 0 corresponde a la póliza matriz y el resto de los valores
            constituye los certificados. Certificado representa lo que se está
            asegurando, dependiendo el producto puede ser un auto, un núcleo
            familiar, etc.
          example: 2
        P_DE_POLIZA:
          type: string
          description: >-
            Concatenación de los campos p_cd_entidad, p_cd_area, p_nu_poliza y
            p_nu_certificado
          example: 30-35-9999
        P_NU_ENDOSO:
          type: integer
          description: >-
            Endoso es cualquier movimiento que se le hace a póliza/certificado.
            Número de endoso identifica ese movimiento
          example: 0
        P_ST_CERTIFICADO:
          type: integer
          description: >-
            Código del estatus del certificado. Representado en valor numérico.
            1, 11...
          example: 1
        P_DE_ST_CERTIFICADO:
          type: string
          description: Descripción del estatus del certificado. Vigente, Anulado, etc.
          example: Vigente
        P_CD_MONEDA:
          type: integer
          description: Código de la moneda de la póliza
          example: 1
        P_DE_MONEDA:
          type: string
          description: Descripción de la moneda de la póliza
          example: Peso Dominicano
        P_DE_SIGLAS_MONEDA:
          type: string
          description: Siglas de la moneda de la póliza
          example: RD$
        P_FE_EMISION_CERTIFICADO:
          type: string
          format: date-time
          description: Fecha en que se emitió certificado
          example: '2018-10-30T00:00:00.000Z'
        P_INFO_PARTICULAR:
          type: string
          description: >-
            Información particular del certificado. En caso de automóvil muestra
            marca / modelo / año / chasis y placa
          example: >-
            HYUNDAI / TUCSON / 2015 / SQRPL90DDRT352941 / G123456 / No Aplica /
            Prepago No
        P_FE_REGISTRO:
          type: string
          format: date-time
          description: >-
            Fecha en que se registró/realizó el movimiento
            (emisión/endoso/renovación)
          example: '2018-10-30T00:00:00.000Z'
        P_FE_DESDE:
          type: string
          format: date-time
          description: >-
            Fecha efectividad e inicio vigencia de póliza/certificado. Esta
            fecha varía por cada renovación de la póliza
          example: '2018-10-30T00:00:00.000Z'
        P_FE_HASTA:
          type: string
          format: date-time
          description: >-
            Fecha término vigencia póliza/certificado. Esta fecha varía por cada
            renovación de la póliza
          example: '2019-10-30T00:00:00.000Z'
        P_DE_ENTIDAD:
          type: string
          description: Descripción del código de entidad (cd_entidad). 30 -> Humano Seguros
          example: Humano Seguros
        P_DE_AREA:
          type: string
          description: Descripción del código de ramo (cd_area). 35 -> Automóvil
          example: Automovil
        P_IN_MULTIRIESGO:
          type:
            - integer
            - 'null'
          description: >-
            Es un indicador, sobre si la póliza es individual o no. Valores
            esperados 1, 0 o null
          example: 0
        P_DE_IN_MULTIRIESGO:
          type: string
          description: >-
            Descripción del indicador (in_multiriesgo). Valores esperados
            Individual, Colectivo
          example: Colectivo
        P_CD_FORMA_DE_PAGO:
          type: integer
          description: >-
            Código que representa la forma de pago de la póliza. Valores
            esperados 1, 2, 3 o 4
          example: 1
        P_DE_FORMA_DE_PAGO:
          type: string
          description: >-
            Descripción del código (cd_forma_de_pago). Valores esperados Pago
            Directo, Domiciliación Tarjeta, Domiciliación Cuenta, Nómina
          example: Pago Directo
        P_MT_PRIMA_NETA:
          type: number
          format: double
          description: Monto neto de la prima
          example: 6562.06
        P_MT_PRIMA_BRUTA:
          type: number
          format: double
          description: Monto bruto de la prima
          example: 7611.99
        P_MT_COMPONENTE:
          type: number
          format: double
          description: Monto impuesto
          example: 1049.93
        P_MT_COMISION:
          type: number
          format: double
          description: Monto comisión
          example: 1148.36
        P_PO_PARTICIPACION_MEDIADOR:
          type: number
          format: double
          description: Porcentaje de participación del intermediario
          example: 100
        P_PO_COMISION:
          type: number
          format: double
          description: Porcentaje de comisión
          example: 17.5
        P_CD_PERSONA_CONTRATANTE:
          type: integer
          description: >-
            Código único interno del cliente que corresponde al contratante de
            la póliza
          example: 2726806
        P_NM_CONTRATANTE:
          type: string
          description: Nombre del contratante
          example: CORREDOR & ASOCIADOS
        P_TP_DOCUMENTO_CONTRATANTE:
          type: string
          description: >-
            Tipo de documento de identificación del contratante. Valores
            esperados CED, RNC, PAS (Cédula, RNC, Pasaporte)
          example: RNC
        P_NU_DOCUMENTO_CONTRATANTE:
          type: string
          description: Número de documento de identificación del contratante
          example: '101733111'
        P_CD_PERSONA_ASEGURADO:
          type: integer
          description: >-
            Código único interno del cliente que corresponde al asegurado del
            certificado
          example: 2726806
        P_NM_ASEGURADO:
          type: string
          description: Nombre del asegurado
          example: JUAN PEREZ
        P_TP_DOCUMENTO:
          type: string
          description: >-
            Tipo de documento de identificación del asegurado. Valores esperados
            CED, RNC, PAS (Cédula, RNC, Pasaporte)
          example: RNC
        P_NU_DOCUMENTO:
          type: string
          description: Número de documento de identificación del asegurado
          example: '101939333'
        P_FE_VENCIMIENTO_DOCUMENTO:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha de vencimiento del documento de identificación del asegurado
          example: null
        P_FE_NACIMIENTO:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha de nacimiento del asegurado
          example: null
        P_CD_SEXO:
          type:
            - string
            - 'null'
          description: Código de sexo del asegurado. Valores esperados M o F
          example: null
        P_CD_OCUPACION:
          type:
            - string
            - 'null'
          description: Código de la ocupación del asegurado
          example: null
        P_DE_OCUPACION:
          type:
            - string
            - 'null'
          description: Descripción de la ocupación (cd_ocupacion) del asegurado
          example: null
        P_CD_PAIS:
          type: integer
          description: Código del país del asegurado
          example: 809
        P_DE_PAIS:
          type: string
          description: Descripción del código (cd_pais) del asegurado
          example: República Dominicana
        P_CD_PROVINCIA:
          type: integer
          description: Código de la provincia donde reside asegurado
          example: 1
        P_DE_PROVINCIA:
          type: string
          description: Descripción del código (cd_provincia) del asegurado
          example: DISTRITO NACIONAL
        P_CD_CIUDAD:
          type: integer
          description: Código de ciudad donde reside el asegurado
          example: 1
        P_DE_CIUDAD:
          type: string
          description: Descripción del código (cd_ciudad) del asegurado
          example: SANTO DOMINGO
        P_DI_COMPLETA:
          type: string
          description: Dirección completa del asegurado
          example: >-
            Avenida Abraham Lincoln No.7 Edificio Humano Piso 19 Apto/Oficina
            999 Piantini Distrito Nacional República Dominicana
        P_NU_AREA:
          type: integer
          description: Número del área del teléfono del asegurado
          example: 809
        P_NU_TELEFONO:
          type: string
          description: Número de teléfono del asegurado (sin el número de área incluido)
          example: '4763535'
        P_DE_EMAIL:
          type: string
          format: email
          description: Dirección de correo electrónico del asegurado
          example: juanperez@gmail.com
        P_CD_PRODUCTO:
          type: integer
          description: Código del producto al que pertenece la póliza
          example: 350100
        P_DE_PRODUCTO:
          type: string
          description: Descripción/Nombre del producto de la póliza
          example: Seguros Vehículos de Motor
        P_MT_SUMA_ASEGURADA:
          type: number
          format: double
          description: Monto de la suma asegurada de la póliza
          example: 0
        P_CD_CAUSA_ANULACION:
          type:
            - string
            - 'null'
          description: >-
            Código de la causa de anulación de póliza o certificado, en caso de
            estar anulada
          example: null
        P_DE_CAUSA_ANULACION:
          type:
            - string
            - 'null'
          description: Descripción de la causa de anulación de póliza o certificado
          example: null
        P_FE_EXCLUSION:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha de exclusión de certificado, en caso de estar excluido
          example: null
        P_CD_PERSONA_MEDIADOR:
          type: integer
          description: Código único interno de cliente que corresponde al intermediario
          example: 2999999
        P_CD_MEDIADOR:
          type: integer
          description: >-
            Código del intermediario. Este código es el conocido por el
            intermediario
          example: 79999
        P_NM_MEDIADOR:
          type: string
          description: Nombre del intermediario
          example: CORREDOR & ASOCIADOS, SRL
        P_TP_DOCUMENTO_MEDIADOR:
          type: string
          description: >-
            Tipo de documento de identificación del intermediario. Valores
            esperados CED, RNC, PAS (Cédula, RNC, Pasaporte)
          example: RNC
        P_NU_DOCUMENTO_MEDIADOR:
          type: string
          description: Número de documento de identificación del intermediario
          example: '150202563'
        P_TP_TRANSACCION:
          type: integer
          description: Tipo de transacción que representa el movimiento/endoso
          example: 1
        P_CD_MOTIVO_TRANSACCION:
          type: integer
          description: >-
            Código del motivo de la transacción que representa el
            movimiento/endoso
          example: 2
        P_DE_TRANSACCION:
          type: string
          description: Descripción del tipo de transacción (tp_transaccion)
          example: Emisión
        P_DE_MOTIVO_TRANSACCION:
          type: string
          description: Descripción del motivo de transacción
          example: Emision De Certificado De Colectivos
        P_TP_NEGOCIO:
          type: integer
          description: >-
            Indica el tipo de negocio de la póliza. 100% Humano Seguro,
            Coaseguro Líder o Coaseguro Minoritario
          example: 1
        P_DE_TP_NEGOCIO:
          type: string
          description: Descripción del campo de tipo de negocio
          example: 100% Humano Seguro
        P_CUR_BIENES:
          type: array
          description: Lista de bienes asegurados
          items:
            $ref: '#/components/schemas/BienAsegurado'
        P_CUR_COBERTURAS:
          type: array
          description: Lista de coberturas de la póliza
          items:
            $ref: '#/components/schemas/CoberturaPoliza'
        P_CUR_DATOS:
          type: array
          description: Datos particulares del producto
          items:
            $ref: '#/components/schemas/DatoParticular'
        P_CUR_ANEXOS:
          type: array
          description: Anexos de la póliza
          items:
            $ref: '#/components/schemas/AnexoPoliza'
        P_CUR_BENEFICIARIOS:
          type: array
          description: Beneficiarios de la póliza
          items:
            $ref: '#/components/schemas/Beneficiario'
    BienAsegurado:
      type: object
      description: Información de un bien asegurado en la póliza
      properties:
        P_NU_BIEN:
          type: integer
          description: Número identificador del bien asegurado
          example: 1
        P_DE_BIEN:
          type: string
          description: Descripción del tipo de bien asegurado
          example: Auto
          enum:
            - Auto
            - Vivienda
            - Comercio
            - Equipo
            - Otro
    CoberturaPoliza:
      type: object
      description: Información detallada de una cobertura incluida en la póliza
      properties:
        P_CD_ENTIDAD:
          type: integer
          description: Código de la aseguradora
          example: 30
        P_CD_AREA:
          type: integer
          description: Código del ramo de la póliza
          example: 35
        P_NU_POLIZA:
          type: integer
          description: Número de la póliza
          example: 9999
        P_NU_CERTIFICADO:
          type: integer
          description: Número del certificado
          example: 2
        P_CD_PRODUCTO:
          type: integer
          description: Código del producto
          example: 350100
        P_DE_PLAN:
          type: string
          description: Descriptivo del plan que agrupa la cobertura
          example: Mi Auto Básico (Seguro de Ley)
        P_CD_GARANTIA:
          type: integer
          description: Código único de la cobertura/garantía
          example: 1512
        P_DE_GARANTIA:
          type: string
          description: Nombre de la cobertura/garantía
          example: Daños a la Propiedad de Terceros
        P_DE_SERVICIO:
          type: string
          description: Descripción del servicio asociado a la cobertura
          example: Daños a la Propiedad de Terceros
        P_DE_DETALLE:
          type: string
          description: >-
            Detalle completo de la cobertura (incluye suma asegurada,
            deducibles, etc.)
          example: 'Suma Asegurada: 500,000.00'
        P_MT_SUMA_ASEGURADA:
          type: number
          format: double
          description: Monto de la suma asegurada para esta cobertura
          example: 500000
        P_VA_DEDUCIBLE:
          type:
            - number
            - 'null'
          format: double
          description: Monto fijo del deducible
          example: 5000
        P_PO_DEDUCIBLE:
          type:
            - number
            - 'null'
          format: double
          description: Porcentaje del deducible sobre la suma asegurada
          minimum: 0
          maximum: 100
          example: 10
        P_IN_INCLUIDO:
          type: integer
          description: |
            Indicador de inclusión de la cobertura:
            * `0` - Cobertura con suma asegurada específica
            * `1` - Cobertura incluida sin suma asegurada definida
          enum:
            - 0
            - 1
          example: 0
      required:
        - P_CD_ENTIDAD
        - P_CD_AREA
        - P_NU_POLIZA
        - P_NU_CERTIFICADO
        - P_CD_GARANTIA
        - P_DE_GARANTIA
    PolizaSalud:
      type: object
      description: Información detallada de una póliza de Salud y sus movimientos
      properties:
        compania:
          type: integer
          description: Código de la compañía
          example: 30
        ramo:
          type: integer
          description: Código del ramo
          example: 95
        secuencial:
          type: integer
          description: Secuencial de la póliza
          example: 177999
        tipoMovimiento:
          type: string
          description: Tipo de movimiento realizado
          example: Exclusión
          enum:
            - Todos
            - Inclusión
            - Cambio de Póliza
            - Cambio de Plan Categoría
            - Cambio Tipo Dependiente
            - Exclusión
        producto:
          type: string
          description: Nombre del producto
          example: SALUD LOCAL
        codigoPlan:
          type: integer
          description: Código del plan
          example: 18
        descripcionPlan:
          type: string
          description: Descripción del plan
          example: Royal
        fechaVigencia:
          type: string
          format: date-time
          description: Fecha de vigencia
          example: '2025-02-01T00:00:00.000-04:00'
        fechaRealizacion:
          type: string
          format: date-time
          description: Fecha de realización del movimiento
          example: '2025-01-13T09:37:09.000-04:00'
        fechaEfectiva:
          type: string
          format: date-time
          description: Fecha de efectividad del movimiento
          example: '2025-02-01T00:00:00.000-04:00'
        persona:
          $ref: '#/components/schemas/PersonaAsegurada'
      required:
        - compania
        - ramo
        - secuencial
        - tipoMovimiento
        - producto
        - codigoPlan
        - descripcionPlan
        - fechaVigencia
        - fechaRealizacion
        - fechaEfectiva
        - persona
    PersonaAsegurada:
      type: object
      description: Información de la persona asegurada
      properties:
        nombreAsegurado:
          type: string
          description: Nombre completo de la persona asegurada
          example: Juan Pérez
        numeroAsegurado:
          type: string
          description: Número del asegurado
          example: 1047123-003
        numeroDocumentoAsegurado:
          type: string
          description: Número de documento del asegurado
          example: '00112345678'
        categoria:
          type: string
          description: Categoría del asegurado
          example: Familiar
        tipoAsegurado:
          type: string
          description: Tipo de asegurado
          example: Dependiente
          enum:
            - Titular
            - Dependiente
      required:
        - nombreAsegurado
        - numeroAsegurado
        - numeroDocumentoAsegurado
        - categoria
        - tipoAsegurado
    FacturaGeneralesVida:
      type: object
      description: Información detallada de una factura de Seguros Generales y Vida
      properties:
        P_CD_ENTIDAD:
          type: integer
          description: Código de la aseguradora. Valor siempre fijo 30
          example: 30
        P_CD_RECIBO:
          type: integer
          description: Código del recibo
          example: 849999
        P_TP_RECIBO:
          type: integer
          description: Código tipo recibo
          example: 2
        P_DE_TP_RECIBO:
          type: string
          description: Descripción tipo recibo
          example: Nota Crédito
        P_NU_SECUENCIA_RECIBO:
          type: integer
          description: Número de secuencia del recibo
          example: 180999
        P_CD_AREA:
          type: integer
          description: Código de ramo
          example: 35
        P_DE_AREA:
          type: string
          description: Descripción del ramo
          example: Automovil
        P_NU_POLIZA:
          type: integer
          description: Número de póliza perteneciente al cd_area correspondiente
          example: 82999
        P_NU_CERTIFICADO:
          type: integer
          description: >-
            Valor 0 corresponde a la póliza matriz y el resto de los valores
            constituye los certificados. Certificado representa lo que se está
            asegurando, dependiendo el producto puede ser un auto, un núcleo
            familiar, etc.
          example: 0
        P_DE_POLIZA:
          type: string
          description: >-
            Concatenación de los campos p_cd_entidad, p_cd_area, p_nu_poliza y
            p_nu_certificado
          example: 30-35-82999
        P_NU_ENDOSO:
          type: integer
          description: >-
            Endoso es cualquier movimiento que se le hace a póliza/certificado.
            Número de endoso identifica ese movimiento
          example: 5
        P_TP_TRANSACCION:
          type: integer
          description: Código tipo de transacción
          example: 6
        P_DE_TP_TRANSACCION:
          type: string
          description: Descripción tipo de transacción
          example: Anulación
        P_FE_EMISION_RECIBO:
          type: string
          format: date-time
          description: Fecha de emisión del recibo
          example: '2025-02-08T00:00:00.000Z'
        P_FE_DESDE:
          type: string
          format: date-time
          description: Fecha desde vigencia
          example: '2025-02-08T00:00:00.000Z'
        P_FE_HASTA:
          type: string
          format: date-time
          description: Fecha hasta vigencia
          example: '2026-02-08T00:00:00.000Z'
        P_FE_REGISTRO:
          type: string
          format: date-time
          description: Fecha de registro de la transacción
          example: '2025-01-17T00:00:00.000Z'
        P_TP_COMPROBANTE_FISCAL:
          type: string
          description: Código del tipo de comprobante fiscal
          example: '34'
        P_DE_TP_COMPROBANTE_FISCAL:
          type: string
          description: Descripción del tipo de comprobante fiscal
          example: Nota de Crédito Electrónica
        P_NU_COMPROBANTE_FISCAL:
          type: string
          description: Número de comprobante fiscal (NCF)
          example: E340000099999
        P_FE_VENCIMIENTO_NUMERADOR:
          type: string
          format: date-time
          description: Fecha vencimiento numerador comprobante
          example: '9999-12-31T00:00:00.000Z'
        P_CD_PERSONA:
          type: integer
          description: Código interno del cliente como persona
          example: 1090349
        P_TP_DOCUMENTO:
          type: string
          description: >-
            Tipo de documento de identificación del cliente. Valores esperados
            CED, RNC, PAS (Cédula, RNC, Pasaporte)
          example: CED
        P_NU_DOCUMENTO:
          type: string
          description: Número de documento de identificación del cliente
          example: '00123456789'
        P_NM_ZONARAZONSOCIAL:
          type: string
          description: Nombre o razón social del cliente
          example: JUAN PEREZ
        P_ST_RECIBO:
          type: integer
          description: Código de estatus del recibo
          example: 5
        P_DE_ST_RECIBO:
          type: string
          description: Descripción del estatus del recibo
          example: Devuelto
        P_CD_MONEDA:
          type: integer
          description: Código de la moneda
          example: 1
        P_DE_SIGLAS_MONEDA:
          type: string
          description: Siglas de la moneda
          example: RD$
        P_MT_RECIBO:
          type: number
          format: double
          description: Monto del recibo/factura
          example: -8790.51
        P_MT_PRIMA:
          type: number
          format: double
          description: Monto prima
          example: -7578.03
        P_MT_TOTAL_COMPONENTE:
          type: number
          format: double
          description: Monto total impuesto
          example: -1212.48
        P_MT_COMISION:
          type: number
          format: double
          description: Monto comisión
          example: -1326.16
        P_PO_PARTICIPACION_MEDIADOR:
          type: number
          format: double
          description: Porcentaje de participación del intermediario
          example: 100
        P_FACTURAS_AFECTADAS:
          type: array
          description: Facturas afectadas por esta transacción
          items:
            $ref: '#/components/schemas/FacturaAfectada'
      required:
        - P_CD_ENTIDAD
        - P_CD_RECIBO
        - P_TP_RECIBO
        - P_DE_TP_RECIBO
        - P_NU_SECUENCIA_RECIBO
        - P_CD_AREA
        - P_DE_AREA
        - P_NU_POLIZA
        - P_NU_CERTIFICADO
        - P_DE_POLIZA
        - P_NU_ENDOSO
        - P_TP_TRANSACCION
        - P_DE_TP_TRANSACCION
        - P_FE_EMISION_RECIBO
        - P_FE_DESDE
        - P_FE_HASTA
        - P_FE_REGISTRO
        - P_TP_COMPROBANTE_FISCAL
        - P_DE_TP_COMPROBANTE_FISCAL
        - P_NU_COMPROBANTE_FISCAL
        - P_CD_PERSONA
        - P_TP_DOCUMENTO
        - P_NU_DOCUMENTO
        - P_NM_ZONARAZONSOCIAL
        - P_ST_RECIBO
        - P_DE_ST_RECIBO
        - P_CD_MONEDA
        - P_DE_SIGLAS_MONEDA
        - P_MT_RECIBO
        - P_MT_PRIMA
        - P_MT_TOTAL_COMPONENTE
        - P_MT_COMISION
        - P_PO_PARTICIPACION_MEDIADOR
        - P_FACTURAS_AFECTADAS
    FacturaAfectada:
      type: object
      description: >-
        Información de una factura afectada por una transacción (nota de
        crédito, anulación, etc.)
      properties:
        P_CD_ENTIDAD:
          type: integer
          description: Código de la aseguradora. Valor siempre fijo 30
          example: 30
        P_CD_RECIBO:
          type: integer
          description: Código del recibo
          example: 842480
        P_TP_RECIBO:
          type: integer
          description: Código tipo recibo
          example: 1
        P_DE_TP_RECIBO:
          type: string
          description: Descripción tipo recibo
          example: Factura
        P_NU_SECUENCIA_RECIBO:
          type: integer
          description: Número de secuencia del recibo
          example: 664382
        P_TP_TRANSACCION:
          type: integer
          description: Código tipo de transacción
          example: 4
        P_DE_TP_TRANSACCION:
          type: string
          description: Descripción tipo de transacción
          example: Renovación
        P_FE_EMISION_RECIBO:
          type: string
          format: date-time
          description: Fecha de emisión del recibo
          example: '2025-02-08T00:00:00.000Z'
        P_FE_DESDE:
          type: string
          format: date-time
          description: Fecha desde vigencia
          example: '2025-02-08T00:00:00.000Z'
        P_FE_HASTA:
          type: string
          format: date-time
          description: Fecha hasta vigencia
          example: '2026-02-08T00:00:00.000Z'
        P_TP_COMPROBANTE_FISCAL:
          type: string
          description: Código del tipo de comprobante fiscal
          example: '32'
        P_DE_TP_COMPROBANTE_FISCAL:
          type: string
          description: Descripción del tipo de comprobante fiscal
          example: Factura de Consumo Electrónica
        P_NU_COMPROBANTE_FISCAL:
          type: string
          description: Número de comprobante fiscal (NCF)
          example: E320000999999
        P_FE_VENCIMIENTO_NUMERADOR:
          type: string
          format: date-time
          description: Fecha vencimiento numerador comprobante
          example: '9999-12-31T00:00:00.000Z'
        P_ST_RECIBO:
          type: integer
          description: Código de estatus del recibo
          example: 4
        P_DE_ST_RECIBO:
          type: string
          description: Descripción del estatus del recibo
          example: Cobrado
        P_MT_RECIBO:
          type: number
          format: double
          description: Monto del recibo/factura
          example: 8790.51
        P_MT_PRIMA:
          type: number
          format: double
          description: Monto prima
          example: 7578.03
        P_MT_TOTAL_COMPONENTE:
          type: number
          format: double
          description: Monto total impuesto
          example: 1212.48
        P_MT_RECIBO_AFECTADO:
          type: number
          format: double
          description: Monto recibo afectado
          example: -8790.51
        P_MT_PRIMA_AFECTADO:
          type: number
          format: double
          description: Monto prima recibo afectado
          example: -7578.03
        P_MT_COMPONENTE_AFECTADO:
          type: number
          format: double
          description: Monto impuesto recibo afectado
          example: -1212.48
      required:
        - P_CD_ENTIDAD
        - P_CD_RECIBO
        - P_TP_RECIBO
        - P_DE_TP_RECIBO
        - P_NU_SECUENCIA_RECIBO
        - P_TP_TRANSACCION
        - P_DE_TP_TRANSACCION
        - P_FE_EMISION_RECIBO
        - P_FE_DESDE
        - P_FE_HASTA
        - P_TP_COMPROBANTE_FISCAL
        - P_DE_TP_COMPROBANTE_FISCAL
        - P_NU_COMPROBANTE_FISCAL
        - P_ST_RECIBO
        - P_DE_ST_RECIBO
        - P_MT_RECIBO
        - P_MT_PRIMA
        - P_MT_TOTAL_COMPONENTE
        - P_MT_RECIBO_AFECTADO
        - P_MT_PRIMA_AFECTADO
        - P_MT_COMPONENTE_AFECTADO
    Problem:
      type: object
      description: >-
        Estructura estándar de error basada en RFC 7807 (Problem Details for
        HTTP APIs)
      properties:
        statusCode:
          type: integer
          description: Código de estado HTTP que se aplica a este problema
          example: 401
        message:
          type: string
          description: Explicación específica y detallada de esta ocurrencia del problema
          example: La fecha de inicio debe ser posterior a la fecha actual
      required:
        - statusCode
        - message
    DatoParticular:
      type: object
      description: Datos específicos del producto asegurado
      properties:
        P_NU_BIEN:
          type: integer
          description: Número del bien asegurado al que pertenece este dato
          example: 1
        P_CD_DATO:
          type: integer
          description: Código único del dato particular
          example: 250000
        P_VALOR:
          type: string
          description: Valor del dato (usar si P_DE_VALOR está vacío)
          example: '42'
        P_NU_CONSECUTIVO:
          type: integer
          description: Orden de visualización del dato
          example: 20
        P_LABEL:
          type: string
          description: Etiqueta descriptiva del dato
          example: Marca Vehículo
        P_DE_VALOR:
          type: string
          description: >-
            Descripción del valor (usar preferentemente sobre P_VALOR si no está
            vacío)
          example: HYUNDAI
      required:
        - P_NU_BIEN
        - P_CD_DATO
        - P_LABEL
    AnexoPoliza:
      type: object
      description: Anexos o cláusulas adicionales de la póliza
      properties:
        P_NU_BIEN_ASEGURADO:
          type:
            - integer
            - 'null'
          description: >-
            Número del bien asegurado al que aplica el anexo (null si aplica a
            toda la póliza)
          example: 1
        P_CD_GARANTIA:
          type:
            - integer
            - 'null'
          description: >-
            Código de la cobertura a la que aplica el anexo (null si aplica a
            toda la póliza)
          example: 1512
        P_CD_ANEXO:
          type:
            - integer
            - 'null'
          description: Código único del anexo
          example: 100
        P_NU_CONSECUTIVO_ANEXO:
          type:
            - integer
            - 'null'
          description: Orden de visualización del anexo
          example: 1
        P_TX_ANEXO:
          type:
            - string
            - 'null'
          description: Texto completo del anexo o cláusula
          example: >-
            El asegurado deberá notificar cualquier siniestro dentro de las 48
            horas siguientes al evento.
        P_FE_INCLUSION_ANEXO:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha en que se incluyó el anexo
          example: '2018-10-30T00:00:00.000Z'
        P_TP_INCLUSION_ANEXO:
          type:
            - string
            - 'null'
          description: |
            Tipo de inclusión del anexo:
            * `F` - Anexo fijo (permanente en la póliza)
            * `E` - Anexo por periodo de renovación
          enum:
            - F
            - E
            - null
          example: F
    Beneficiario:
      type: object
      description: Información de un beneficiario de la póliza
      properties:
        P_NU_BIEN_ASEGURADO:
          type: integer
          description: Número del bien asegurado al que está asociado el beneficiario
          example: 1
        P_NU_CONSECUTIVO_BENEFICIARIO:
          type: integer
          description: Número consecutivo del beneficiario en la lista
          example: 1
        P_CD_PERSONA:
          type:
            - integer
            - 'null'
          description: Código interno de la persona beneficiaria en el sistema
          example: 123456
        P_NU_CONSECUTIVO_TP_DOCUMENTO:
          type:
            - integer
            - 'null'
          description: Número consecutivo del tipo de documento
          example: 1
        P_TP_DOCUMENTO:
          type:
            - string
            - 'null'
          description: Tipo de documento de identificación del beneficiario
          example: CED
          enum:
            - CED
            - RNC
            - PAS
            - null
        P_NU_DOCUMENTO:
          type:
            - string
            - 'null'
          description: Número de documento de identificación del beneficiario
          example: 001-1234567-8
        P_NM_ZONARAZONSOCIAL:
          type:
            - string
            - 'null'
          description: Nombre completo de la persona o razón social
          example: Juan Pérez Gómez
        P_CD_SEXO:
          type:
            - string
            - 'null'
          description: Código del sexo del beneficiario
          enum:
            - M
            - F
            - null
          example: M
        P_DE_SEXO:
          type:
            - string
            - 'null'
          description: Descripción del sexo del beneficiario
          enum:
            - Masculino
            - Femenino
            - null
          example: Masculino
        P_CD_PARENTESCO:
          type: integer
          description: Código del parentesco con el asegurado
          example: 90
        P_DE_PARTENTESCO:
          type: string
          description: Descripción del parentesco con el asegurado
          example: Herederos Legales
          enum:
            - Herederos Legales
            - Cónyuge
            - Hijo/a
            - Padre/Madre
            - Hermano/a
            - Otro
        P_FE_NACIMIENTO:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha de nacimiento del beneficiario
          example: '1990-05-15T00:00:00.000Z'
        P_FE_INCLUSION:
          type: string
          format: date-time
          description: Fecha en que el beneficiario fue incluido en la póliza
          example: '2018-10-30T00:00:00.000Z'
        P_PO_PARTICIPACION:
          type: number
          format: double
          description: Porcentaje de participación del beneficiario en la indemnización
          minimum: 0
          maximum: 100
          example: 100
      required:
        - P_NU_BIEN_ASEGURADO
        - P_NU_CONSECUTIVO_BENEFICIARIO
        - P_CD_PARENTESCO
        - P_DE_PARTENTESCO
        - P_FE_INCLUSION
        - P_PO_PARTICIPACION
    Documento:
      type: object
      description: Documento de inspección codificado en Base64
      properties:
        nmArchivo:
          type: string
          description: Nombre del archivo con su extensión
          example: 2007-mazda3-owners-manual.pdf
        docBytes:
          type: string
          format: byte
          description: Representación en Base64 del archivo a cargar
          example: SGVsbG8sIHdvcmxkIQ==
      required:
        - nmArchivo
        - docBytes
    CargarInspeccionRequest:
      type: object
      description: Solicitud para cargar archivos de inspección de automóvil.
      properties:
        cdEntidad:
          type: integer
          description: Código de la aseguradora. Valor fijo 30 (Humano Seguros)
          enum:
            - 30
          example: 30
        nuCotizacion:
          type: integer
          description: Número de la cotización
          example: 2240799996
        documents:
          type: array
          description: Lista de documentos a cargar (se requiere al menos uno)
          minItems: 1
          items:
            $ref: '#/components/schemas/Documento'
      required:
        - cdEntidad
        - nuCotizacion
        - documents
    CargarInspeccionResponse:
      type: object
      description: Respuesta de la carga de inspección
      properties:
        respuesta:
          type: object
          properties:
            codigo:
              type: integer
              description: Código de respuesta (0 = exitoso)
              example: 0
            descripcion:
              type: string
              description: Descripción del resultado
              example: Completado de manera satisfactoria
          required:
            - codigo
            - descripcion
      required:
        - respuesta
    FacturaSalud:
      type: object
      description: Información detallada de una factura de salud procesada
      properties:
        compania:
          type: integer
          description: Código de la compañía
          example: 30
        ramo:
          type: integer
          description: Código del ramo
          example: 95
        secuencial:
          type: integer
          description: Secuencial de la póliza
          example: 177999
        cliente:
          type: integer
          description: Código del cliente
          example: 1699999
        factura:
          type: integer
          description: Número de la factura
          example: 4164999
        fechaEmision:
          type: string
          format: date-time
          description: Fecha de emisión de la factura
          example: '2024-12-19T00:00:00.000-04:00'
        fechaInicio:
          type: string
          format: date-time
          description: Fecha de inicio del período facturado
          example: '2025-01-01T00:00:00.000-04:00'
        fechaFin:
          type: string
          format: date-time
          description: Fecha de fin del período facturado
          example: '2025-01-31T00:00:00.000-04:00'
        valorNeto:
          type: number
          format: double
          description: Valor neto de la factura
          example: 16574.6
        codigoMoneda:
          type: string
          description: Código de la moneda
          example: '001'
        descripcionMoneda:
          type: string
          description: Descripción de la moneda
          example: PESOS
        siglasMoneda:
          type: string
          description: Siglas de la moneda
          example: RD$
        ncf:
          type: string
          description: Número de Comprobante Fiscal (NCF)
          example: E310000999999
        concepto:
          type: string
          description: Concepto de la factura
          example: FACTURA RENOVACION
        tipoFactura:
          type: string
          description: Tipo de factura
          example: FT
        clienteNombre:
          type: string
          description: Nombre del cliente
          example: AUTO REPUESTOS (HUMANO PARTS)  C. X A.  AUTO REPUESTOS
        clienteApellido:
          type: string
          description: Apellido del cliente
          example: AUTO REPUESTOS (HUMANO PARTS)  C. X A.  AUTO REPUESTOS
        descuento:
          type: number
          format: double
          description: Monto de descuento aplicado
          example: 0
        montoTotal:
          type: number
          format: double
          description: Monto total de la factura
          example: 16574.6
        tipoPlan:
          type: string
          description: Tipo de plan de salud
          example: Suplementario
      required:
        - compania
        - ramo
        - secuencial
        - cliente
        - factura
        - fechaEmision
        - fechaInicio
        - fechaFin
        - valorNeto
        - codigoMoneda
        - descripcionMoneda
        - siglasMoneda
        - ncf
        - concepto
        - tipoFactura
        - clienteNombre
        - clienteApellido
        - descuento
        - montoTotal
        - tipoPlan
    CobroGeneralesVida:
      type: object
      description: >
        Información detallada de un cobro/ingreso aplicado a una póliza de
        Generales y Vida.


        El identificador único de ingreso es: P_CD_ENTIDAD + P_CD_SUCURSAL +
        P_NU_INGRESO
      properties:
        P_CD_ENTIDAD:
          type: integer
          description: Código de la aseguradora. Valor siempre fijo 30
          example: 30
        P_DE_ENTIDAD:
          type: string
          description: Descripción del código de entidad (cd_entidad). 30 -> Humano Seguros
          example: Humano Seguros
        P_CD_SUCURSAL:
          type: integer
          description: Código de sucursal donde se aplicó pago
          example: 52
        P_DE_SUCURSAL:
          type: string
          description: Descripción de sucursal donde se aplicó pago
          example: Depositos y transferencias Bancarias
        P_NU_INGRESO:
          type: integer
          description: Número del ingreso
          example: 37999
        P_FE_INGRESO:
          type: string
          format: date-time
          description: Fecha del ingreso
          example: '2025-10-08T00:00:00.000Z'
        P_CD_MONEDA_INGRESO:
          type: integer
          description: Código de moneda de ingreso
          example: 1
        P_DE_SIGLAS_MONEDA_INGRESO:
          type: string
          description: Siglas de la moneda de ingreso
          example: RD$
        P_CD_CANAL_COBRO:
          type: integer
          description: Código del canal de cobro
          example: 34
        P_DE_CANAL_COBRO:
          type: string
          description: Descripción del canal de cobro
          example: Deposito/Transferencia Banco
        P_CD_AREA:
          type: integer
          description: Código del ramo al cual pertenece la póliza
          example: 35
        P_DE_AREA:
          type: string
          description: Descripción del código de ramo (cd_area). 35 -> Automóvil
          example: Automovil
        P_NU_POLIZA:
          type: integer
          description: Número de la póliza, perteneciente al cd_area correspondiente
          example: 21999
        P_NU_CERTIFICADO:
          type: integer
          description: >-
            Valor 0 corresponde a la póliza matriz y el resto de los valores
            constituye los certificados. Certificado representa lo que se está
            asegurando, dependiendo el producto puede ser un auto, un núcleo
            familiar, etc.
          example: 0
        P_DE_POLIZA:
          type: string
          description: >-
            Concatenación de los campos p_cd_entidad, p_cd_area, p_nu_poliza y
            p_nu_certificado
          example: 30-35-21999
        P_NM_CLIENTE:
          type: string
          description: Nombre completo del cliente
          example: JUAN PEREZ
        P_TP_DOCUMENTO:
          type: string
          description: >-
            Tipo de documento de identificación del cliente. Valores esperados
            CED, RNC, PAS (Cédula, RNC, Pasaporte)
          example: CED
        P_NU_DOCUMENTO:
          type: string
          description: Número de documento de identificación del cliente
          example: '40212345678'
        P_DE_INGRESO1:
          type: string
          description: Descripción del ingreso
          example: ' Pol 30-35-21999-0 Rec 913194 Rec 913194'
        P_CD_CAUSA_ANULACION:
          type:
            - integer
            - 'null'
          description: Código causa de anulación
          example: null
        P_DE_CAUSA_ANULACION:
          type:
            - string
            - 'null'
          description: Descripción de la anulación
          example: null
        P_NU_CONSECUTIVO_MOV_CUENTA:
          type: integer
          description: Número consecutivo movimiento cuenta
          example: 28
        P_CD_RECIBO:
          type: integer
          description: Código interno del recibo
          example: 913194
        P_TP_RECIBO:
          type: integer
          description: Código tipo de factura
          example: 1
        P_DE_TP_RECIBO:
          type: string
          description: Descripción tipo de factura
          example: Factura
        P_NU_SECUENCIA_RECIBO:
          type: integer
          description: Número de factura
          example: 718805
        P_NU_CONVENIO_PAGO:
          type: integer
          description: Número de convenio de pago
          example: 9
        P_NU_CUOTA:
          type: integer
          description: Número de la cuota
          example: 3
        P_CD_PLAN_PAGO:
          type: integer
          description: Código plan de pago
          example: 204
        P_DE_PLAN_PAGO:
          type: string
          description: Descripción del plan de pago
          example: Anual
        P_CD_FRECUENCIA_PAGO_CUOTA:
          type:
            - integer
            - 'null'
          description: Código frecuencia de pago de cuota
          example: null
        P_DE_FRECUENCIA_PAGO_CUOTA:
          type:
            - string
            - 'null'
          description: Descripción frecuencia de pago de cuota
          example: null
        P_CA_CUOTA:
          type:
            - integer
            - 'null'
          description: Cantidad de cuotas
          example: null
        P_CD_MONEDA_POLIZA:
          type: integer
          description: Código de moneda de la póliza
          example: 1
        P_DE_SIGLAS_MONEDA_POLIZA:
          type: string
          description: Siglas de la moneda de la póliza
          example: RD$
        P_MT_RECIBO_COBRO:
          type: number
          format: double
          description: Monto factura cobro
          example: 2228.89
        P_MT_PRIMA_COBRO:
          type: number
          format: double
          description: Monto prima cobro
          example: 1921.45
        P_MT_COMPONENTE_COBRO:
          type: number
          format: double
          description: Monto del impuesto
          example: 307.44
        P_MT_COMISION_COBRO:
          type: number
          format: double
          description: Monto comisión
          example: 336.26
        P_PO_PARTICIPACION_MEDIADOR:
          type: number
          format: double
          description: Porcentaje de la participación del intermediario
          example: 100
        P_FE_PROXIMO_COBRO:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha en que se efectuará próximo cobro
          example: null
        P_FACTURAS_AFECTADAS:
          type: array
          description: Facturas afectadas por este cobro
          items:
            type: object
        P_NU_INGRESO_ORIGINAL:
          type:
            - integer
            - 'null'
          description: Número de ingreso original
          example: null
        P_FE_DESDE:
          type: string
          format: date-time
          description: Fecha desde vigencia
          example: '2025-07-04T00:00:00.000Z'
        P_FE_HASTA:
          type: string
          format: date-time
          description: Fecha hasta vigencia
          example: '2026-07-04T00:00:00.000Z'
      required:
        - P_CD_ENTIDAD
        - P_DE_ENTIDAD
        - P_CD_SUCURSAL
        - P_DE_SUCURSAL
        - P_NU_INGRESO
        - P_FE_INGRESO
        - P_CD_MONEDA_INGRESO
        - P_DE_SIGLAS_MONEDA_INGRESO
        - P_CD_CANAL_COBRO
        - P_DE_CANAL_COBRO
        - P_CD_AREA
        - P_DE_AREA
        - P_NU_POLIZA
        - P_NU_CERTIFICADO
        - P_DE_POLIZA
        - P_NM_CLIENTE
        - P_TP_DOCUMENTO
        - P_NU_DOCUMENTO
        - P_DE_INGRESO1
        - P_NU_CONSECUTIVO_MOV_CUENTA
        - P_CD_RECIBO
        - P_TP_RECIBO
        - P_DE_TP_RECIBO
        - P_NU_SECUENCIA_RECIBO
        - P_NU_CONVENIO_PAGO
        - P_NU_CUOTA
        - P_CD_PLAN_PAGO
        - P_DE_PLAN_PAGO
        - P_CD_MONEDA_POLIZA
        - P_DE_SIGLAS_MONEDA_POLIZA
        - P_MT_RECIBO_COBRO
        - P_MT_PRIMA_COBRO
        - P_MT_COMPONENTE_COBRO
        - P_MT_COMISION_COBRO
        - P_PO_PARTICIPACION_MEDIADOR
        - P_FACTURAS_AFECTADAS
        - P_FE_DESDE
        - P_FE_HASTA
    ComisionSalud:
      type: object
      description: Información detallada de comisiones generadas por productos de Salud
      properties:
        compania:
          type: integer
          description: Código de la compañía
          example: 30
        producto:
          type: integer
          description: Código del producto
          example: 95
        nombreProducto:
          type: string
          description: Nombre del producto
          example: SALUD LOCAL
        numeroPoliza:
          type: integer
          description: Número de la póliza
          example: 3095378698
        nombreCliente:
          type: string
          description: Nombre del cliente
          example: Ingenieros Sanitarios Asociados Srl
        codigoIntermediario:
          type: integer
          description: Código del intermediario
          example: 70803
        numeroFactura:
          type: integer
          description: Número de la factura
          example: 4164651
        numeroRecibo:
          type: integer
          description: Número del recibo
          example: 4340589
        numeroTipoDocumento:
          type: integer
          description: Código del tipo de documento
          example: 1
        nombreTipoDocumento:
          type: string
          description: Nombre del tipo de documento
          example: RECIBO DE COBROS
        fechaPago:
          type: string
          format: date-time
          description: Fecha de pago del recibo
          example: '2025-01-02T00:00:00.000-04:00'
        montoPrima:
          type: number
          format: double
          description: Monto de la prima
          example: 17962.2499982075
        porcentajeComisionVoluntaria:
          type: number
          format: double
          description: Porcentaje de comisión voluntaria
          example: 10
        montoComisionVoluntaria:
          type: number
          format: double
          description: Monto de comisión voluntaria
          example: 1796.22499982075
        porcentajeComisionComplementaria:
          type: number
          format: double
          description: Porcentaje de comisión complementaria
          example: 0
        montoComisionComplementaria:
          type: number
          format: double
          description: Monto de comisión complementaria
          example: 0
        origenComision:
          type: string
          description: Código de origen de la comisión
          example: CR
        primaBruta:
          type: number
          format: double
          description: Monto de prima bruta
          example: 17962.25
        primaRealComision:
          type: number
          format: double
          description: Prima real sobre la que se calcula la comisión
          example: -17962.2499982075
        montoComisionSumario:
          type: number
          format: double
          description: Monto total de comisión (sumario)
          example: 1796.22499982075
      required:
        - compania
        - producto
        - nombreProducto
        - numeroPoliza
        - nombreCliente
        - codigoIntermediario
        - numeroFactura
        - numeroRecibo
        - numeroTipoDocumento
        - nombreTipoDocumento
        - fechaPago
        - montoPrima
        - porcentajeComisionVoluntaria
        - montoComisionVoluntaria
        - porcentajeComisionComplementaria
        - montoComisionComplementaria
        - origenComision
        - primaBruta
        - primaRealComision
        - montoComisionSumario
    Provincia:
      type: object
      description: Información de una provincia de República Dominicana
      properties:
        P_CD_DATO:
          type: string
          description: Código de la provincia
          example: '1'
        P_DE_DATO:
          type: string
          description: Descripción/nombre de la provincia
          example: DISTRITO NACIONAL
      required:
        - P_CD_DATO
        - P_DE_DATO
    Municipio:
      type: object
      description: Información de un municipio
      properties:
        P_CD_DATO:
          type: string
          description: Código del municipio
          example: '1'
        P_DE_DATO:
          type: string
          description: Descripción/nombre del municipio
          example: SANTO DOMINGO
      required:
        - P_CD_DATO
        - P_DE_DATO
    Sector:
      type: object
      description: Información de un sector geográfico
      properties:
        P_CD_DATO:
          type: string
          description: Código del sector
          example: '100002'
        P_DE_DATO:
          type: string
          description: Descripción/nombre del sector
          example: EL LIMON
      required:
        - P_CD_DATO
        - P_DE_DATO
    DatoCotizacion:
      type: object
      description: Dato específico del vehículo o asegurado para la cotización
      properties:
        codigoDato:
          type: integer
          description: |
            Identificador del dato. Códigos fijos:
            * `250091` - Plan
            * `250000` - Marca Vehículo
            * `250001` - Modelo Vehículo
            * `250004` - Versión
            * `250003` - Año de Fabricación
            * `250015` - Uso del Vehículo
            * `250016` - Valor del Vehículo
            * `250069` - Fecha de Nacimiento
            * `250320` - Edad del Asegurado
            * `250321` - Estado Civil
            * `250322` - Sexo
            * `250323` - Zona de Circulación
            * `250105` - R.C. Exceso
            * `250088` - Suma Asegurada Auto Exceso
          example: 250091
        valorDato:
          type: string
          description: >
            Valor del dato (variable según el codigoDato):


            **Plan (250091):**

            * `0` - Mi Auto Premier (Todo Riesgo Cero Deducible)

            * `1` - Mi Auto Full (Todo Riesgo Con Deducible)

            * `2` - Mi Auto Básico (Seguro de Ley)

            * `3` - Mi Auto Flex (Todo Riesgo Perdida Total)

            * `4` - Mi Moto Básico


            **Uso del Vehículo (250015):**

            * `1` - Ambulancia

            * `2` - De Renta (Alquiler)

            * `3` - Placa Exhibición

            * `4` - Privado

            * `5` - Público

            * `6` - Taxi

            * `7` - Transporte Priv. de Personal

            * `8` - Transporte Escolar

            * `9` - Vehículo Fúnebre

            * `10` - Transporte Dinero y Valores

            * `11` - Transporte Turístico

            * `12` - Empresa Contratista

            * `13` - Transporte de Combustible

            * `14` - Transporte Mercancia Inflamable

            * `15` - Transporte Mercancia no Inflamable

            * `16` - Recogida de Basura

            * `17` - Escuela de Aprendizaje


            **Zona de Circulación (250323):**

            * `1` - Santo Domingo

            * `2` - Zona Norte

            * `3` - Zona Este

            * `4` - Zona Sur


            **Estado Civil (250321):**

            * `S` - Soltero

            * `C` - Casado


            **Sexo (250322):**

            * `M` - Masculino

            * `F` - Femenino

            * `N` - No Aplica


            **Otros campos:** valores numéricos o alfanuméricos según
            corresponda
          example: '1'
        label:
          type: string
          description: Etiqueta para identificar a qué hace referencia el codigoDato
          example: Plan
        numeroBien:
          type: integer
          description: Número del bien asegurado (siempre 1 para automóvil)
          example: 1
      required:
        - codigoDato
        - valorDato
        - label
        - numeroBien
    CotizacionAutomovilRequest:
      type: object
      description: Datos necesarios para cotizar un seguro de automóvil
      properties:
        codigoMoneda:
          type: integer
          description: |
            Código de la moneda:
            * `1` - Peso Dominicano (RD$)
            * `2` - Dólar Americano (US$)
            * `3` - Euro (€)
          enum:
            - 1
            - 2
            - 3
          example: 1
        fechaDesde:
          type: string
          format: date
          description: >-
            Fecha en que se realiza la cotización. Debe ser la fecha del día en
            que se envía la petición
          example: '2025-11-07'
        direccionIp:
          type: string
          description: Dirección IP de la máquina/cliente desde donde se envía la petición
          example: 172.24.214.139
        codigoVigencia:
          type: string
          description: |
            Código de vigencia:
            * `M` - Mensual, `B` - Bimestral, `T` - Trimestral
            * `C` - Cuatrimestral, `S` - Semestral, `N` - 9 meses
            * `A` - Anual (recomendado), `U` - Única, `BA` - Bianual
          enum:
            - M
            - B
            - T
            - C
            - S
            - 'N'
            - A
            - U
            - BA
          example: A
        datos:
          type: array
          description: >-
            Datos del vehículo y del asegurado. Todos los objetos en este array
            son obligatorios
          minItems: 14
          items:
            $ref: '#/components/schemas/DatoCotizacion'
        tipoDocumentoReferidor:
          type: string
          description: Tipo de documento de la persona que refiere (opcional)
          enum:
            - CED
            - RNC
            - PAS
          example: CED
        numeroDocumentoReferidor:
          type: string
          description: >-
            Número de documento de la persona que refiere (requerido si se
            especifica tipoDocumentoReferidor)
          example: '22312345678'
      required:
        - codigoMoneda
        - fechaDesde
        - direccionIp
        - codigoVigencia
        - datos
    PlanPago:
      type: object
      description: Información de un plan de pago disponible
      properties:
        codigoPlan:
          type: integer
          description: Código del plan
          example: 100
        descripcionPlan:
          type: string
          description: Descripción del plan
          example: Vehículo
        codigoPlanPago:
          type: integer
          description: Código del plan de pago
          example: 204
        descripcionPlanPago:
          type: string
          description: Descripción del plan de pago
          example: Anual
        numeroTotalCuotas:
          type: integer
          description: Número total de cuotas al año
          example: 1
        montoPrimaPago:
          type: number
          format: double
          description: Monto de prima a pagar
          example: 50265.54
        seleccion:
          type: integer
          description: >-
            Indicador de plan seleccionado al cotizar (1 = seleccionado, 0 = no
            seleccionado)
          enum:
            - 0
            - 1
          example: 1
        montoSiguienteCuota:
          type: number
          format: double
          description: Monto de la siguiente cuota
          example: 0
      required:
        - codigoPlan
        - descripcionPlan
        - codigoPlanPago
        - descripcionPlanPago
        - numeroTotalCuotas
        - montoPrimaPago
        - seleccion
        - montoSiguienteCuota
    CotizacionDetalle:
      type: object
      description: Detalle de una cotización generada
      properties:
        numeroCotizacion:
          type: integer
          description: Número de la cotización generada
          example: 2256835231
        numeroItem:
          type: integer
          description: Número de ítem
          example: 0
        codigoPlan:
          type: integer
          description: Código del plan
          example: 100
        descripcionPlan:
          type: string
          description: Descripción del plan
          example: Vehículo
        montoPrimaAnual:
          type: number
          format: double
          description: Monto de la prima anual, representado en la moneda en que se cotizó
          example: 43332.36
        montoComponenteAnual:
          type: number
          format: double
          description: Monto impuesto anual
          example: 6933.18
        montoTotalAnual:
          type: number
          format: double
          description: Monto total anual (Prima + Impuesto)
          example: 50265.54
        montoPrimaProrrata:
          type: number
          format: double
          description: Monto prima prorrata
          example: 43332.36
        montoComponenteProrrata:
          type: number
          format: double
          description: Monto impuesto prorrata
          example: 6933.18
        montoTotalProrrata:
          type: number
          format: double
          description: Monto total prorrata
          example: 50265.54
        planesDePago:
          type: array
          description: Planes de pago disponibles
          items:
            $ref: '#/components/schemas/PlanPago'
      required:
        - numeroCotizacion
        - numeroItem
        - codigoPlan
        - descripcionPlan
        - montoPrimaAnual
        - montoComponenteAnual
        - montoTotalAnual
        - montoPrimaProrrata
        - montoComponenteProrrata
        - montoTotalProrrata
        - planesDePago
    CotizacionAutomovilResponse:
      type: object
      description: Respuesta de la cotización de automóvil
      properties:
        codigoError:
          type:
            - string
            - 'null'
          description: >-
            Si la petición fue exitosa, devolverá null. Si hay error, contendrá
            el mensaje de error
          example: null
        fechaHasta:
          type:
            - string
            - 'null'
          format: date-time
          description: Fecha fin de vigencia
          example: '2026-11-07T00:00:00.000-04:00'
        datos:
          type: array
          description: >-
            Datos con los que se cotizó, basados en lo enviado en la petición y
            valores establecidos según el plan
          items:
            $ref: '#/components/schemas/DatoCotizacion'
        cotizaciones:
          type: array
          description: Listado de cotizaciones generadas (usualmente un solo registro)
          items:
            $ref: '#/components/schemas/CotizacionDetalle'
      required:
        - codigoError
        - fechaHasta
        - datos
    DatoBienCotizacion:
      type: object
      description: Dato específico de un bien en la cotización
      properties:
        numeroBien:
          type: integer
          description: Número del bien al que pertenece este dato
          example: 1
        codigoDato:
          type: integer
          description: Código identificador del dato
          example: 250001
        valor:
          type:
            - string
            - 'null'
          description: Valor del dato
          example: '4'
        tabla:
          type:
            - integer
            - 'null'
          description: Tabla de referencia
          example: 250001
        dato1:
          type:
            - integer
            - 'null'
          description: Dato relacionado 1
          example: 250000
        dato2:
          type:
            - integer
            - 'null'
          description: Dato relacionado 2
          example: 250001
        dato3:
          type:
            - integer
            - 'null'
          description: Dato relacionado 3
          example: null
        dato4:
          type:
            - integer
            - 'null'
          description: Dato relacionado 4
          example: null
        dato5:
          type:
            - integer
            - 'null'
          description: Dato relacionado 5
          example: null
        dato6:
          type:
            - integer
            - 'null'
          description: Dato relacionado 6
          example: null
        req:
          type: integer
          description: Indicador si el dato es requerido (0 = No, 1 = Sí)
          enum:
            - 0
            - 1
          example: 1
        adicional:
          type:
            - integer
            - 'null'
          description: Indicador si es dato adicional
          example: null
        indexar:
          type: integer
          description: Indicador para indexar
          example: 0
        numeroConsecutivo:
          type: integer
          description: Número consecutivo para ordenamiento
          example: 30
        label:
          type: string
          description: Etiqueta descriptiva del dato
          example: Modelo Vehículo
        uso:
          type: integer
          description: Indicador de uso
          example: 2
        descripcionValor:
          type:
            - string
            - 'null'
          description: Descripción legible del valor
          example: CIVIC
      required:
        - numeroBien
        - codigoDato
        - numeroConsecutivo
        - label
        - uso
    BienCotizacion:
      type: object
      description: Información de un bien asegurado en la cotización
      properties:
        numeroBien:
          type: integer
          description: Número del bien asegurado
          example: 1
        descripcionBien:
          type: string
          description: Descripción del bien
          example: Mi Auto
        datos:
          type: array
          description: Datos específicos del bien
          items:
            $ref: '#/components/schemas/DatoBienCotizacion'
      required:
        - numeroBien
        - descripcionBien
        - datos
    CoberturaCotizacion:
      type: object
      description: Información detallada de una cobertura en la cotización
      properties:
        numeroBien:
          type: integer
          description: Número del bien asegurado
          example: 1
        descripcionBien:
          type: string
          description: Descripción del bien
          example: Mi Auto
        codigoGarantia:
          type: integer
          description: Código de la garantía/cobertura
          example: 1512
        descripcionGarantia:
          type: string
          description: Descripción de la garantía/cobertura
          example: Daños a la Propiedad de Terceros
        montoSumaAsegurada:
          type: number
          format: double
          description: Monto de la suma asegurada
          example: 500000
        montoPrimaBruta:
          type: number
          format: double
          description: Monto de prima bruta
          example: 0
        montoPrimaNeta:
          type: number
          format: double
          description: Monto de prima neta
          example: 0
        montoPrimaProrrata:
          type: number
          format: double
          description: Monto de prima prorrata
          example: 0
        montoComision:
          type: number
          format: double
          description: Monto de comisión
          example: 0
        codigoProducto:
          type: integer
          description: Código del producto
          example: 350100
        descripcionPlan:
          type: string
          description: Descripción del plan
          example: Mi Auto Full (Todo Riesgo Con Deducible)
        descripcionServicio:
          type: string
          description: Descripción del servicio
          example: Daños a la Propiedad de Terceros
        descripcionDetalle:
          type: string
          description: Detalle completo de la cobertura
          example: 'Suma Asegurada: 500,000.00'
        valorDeducible:
          type:
            - number
            - 'null'
          format: double
          description: Valor del deducible
          example: null
        porcentajeDeducible:
          type:
            - number
            - 'null'
          format: double
          description: Porcentaje del deducible
          example: null
        incluido:
          type: integer
          description: Indicador si está incluido (0 = No, 1 = Sí)
          enum:
            - 0
            - 1
          example: 0
      required:
        - numeroBien
        - descripcionBien
        - codigoGarantia
        - descripcionGarantia
        - montoSumaAsegurada
        - montoPrimaBruta
        - montoPrimaNeta
        - montoPrimaProrrata
        - montoComision
        - codigoProducto
        - descripcionPlan
        - descripcionServicio
        - descripcionDetalle
        - incluido
    DetalleCotizacion:
      type: object
      description: Detalle completo de una cotización de Generales y Vida
      properties:
        codigoError:
          type:
            - string
            - 'null'
          description: Código de error, en caso de haber
          example: null
        descripcionError:
          type:
            - string
            - 'null'
          description: Descripción de error, en caso de haber
          example: null
        codigoSucursal:
          type: integer
          description: Código de la sucursal
          example: 1
        descripcionSucursal:
          type: string
          description: Descripción de la sucursal
          example: OFICINA PRINCIPAL
        codigoPersonaMediador:
          type: integer
          description: Código interno del intermediario
          example: 2487109
        codigoMediador:
          type: integer
          description: Código del intermediario
          example: 70803
        nombreMediador:
          type: string
          description: Nombre del intermediario
          example: HIDABAS & ASOCIADOS, SRL
        codigoMoneda:
          type: integer
          description: Código de la moneda
          example: 1
        descripcionMoneda:
          type: string
          description: Descripción de la moneda
          example: Peso Dominicano
        tipoDocumentoAsegurado:
          type:
            - string
            - 'null'
          description: >-
            Tipo de documento del asegurado. Puede ser CED (Cédula), RNC, PAS
            (Pasaporte)
          example: null
        numeroDocumentoAsegurado:
          type:
            - string
            - 'null'
          description: Número de documento del asegurado
          example: null
        nombreAsegurado:
          type:
            - string
            - 'null'
          description: Nombre del asegurado
          example: null
        codigoCanalVenta:
          type: integer
          description: Código del canal de venta
          example: 27
        descripcionCanalVenta:
          type: string
          description: Descripción del canal de venta
          example: API Integración Intermediarios
        codigoArea:
          type: integer
          description: Código del ramo
          example: 35
        descripcionArea:
          type: string
          description: Descripción del ramo
          example: Automovil
        codigoProducto:
          type: integer
          description: Código del producto
          example: 350100
        descripcionProducto:
          type: string
          description: Descripción del producto
          example: Seguros Vehículos de Motor
        fechaDesde:
          type: string
          format: date-time
          description: Fecha desde vigencia
          example: '2025-11-07T00:00:00.000-04:00'
        fechaHasta:
          type: string
          format: date-time
          description: Fecha hasta vigencia
          example: '2026-11-07T00:00:00.000-04:00'
        codigoCotizacion:
          type: integer
          description: Código de la cotización
          example: 1
        descripcionCotizacion:
          type: string
          description: Descripción de la cotización
          example: Pendiente Por Procesar Emisión/Endoso
        codigoTipoNegocio:
          type: integer
          description: Código de tipo negocio
          example: 1
        descripcionTipoNegocio:
          type: string
          description: Descripción de tipo de negocio
          example: 100% Humano Seguro
        numeroInspeccion:
          type:
            - integer
            - 'null'
          description: Número de inspección
          example: null
        codigoUsuario:
          type: string
          description: Código de usuario
          example: INTINTERMEDIARIO
        primerNombre:
          type:
            - string
            - 'null'
          description: Primer nombre del asegurado
          example: null
        segundoNombre:
          type:
            - string
            - 'null'
          description: Segundo nombre del asegurado
          example: null
        primerApellido:
          type:
            - string
            - 'null'
          description: Primer apellido del asegurado
          example: null
        segundoApellido:
          type:
            - string
            - 'null'
          description: Segundo apellido del asegurado
          example: null
        conduceSalida:
          type:
            - string
            - 'null'
          description: Conduce de salida
          example: null
        bienes:
          type: array
          description: Bienes asegurados con sus datos
          items:
            $ref: '#/components/schemas/BienCotizacion'
        codigoPlan:
          type: integer
          description: Código del plan
          example: 100
        descripcionPlan:
          type: string
          description: Descripción del plan
          example: Vehículo
        codigoPlanPago:
          type: integer
          description: Código del plan de pago
          example: 204
        descripcionPlanPago:
          type: string
          description: Descripción del plan de pago
          example: Anual
        montoPrimaAnual:
          type: number
          format: double
          description: Monto de la prima anual
          example: 43332.36
        montoImpuestoAnual:
          type: number
          format: double
          description: Monto del impuesto anual
          example: 6933.18
        montoPrimaProrrata:
          type: number
          format: double
          description: Monto de prima prorrata
          example: 43332.36
        montoImpuestoProrrata:
          type: number
          format: double
          description: Monto de impuesto prorrata
          example: 6933.18
        coberturas:
          type: array
          description: Coberturas de la cotización
          items:
            $ref: '#/components/schemas/CoberturaCotizacion'
        estatusInspeccion:
          type:
            - integer
            - 'null'
          description: Estado de inspección
          example: null
        descripcionEstatusInspeccion:
          type:
            - string
            - 'null'
          description: Descripción del estado de inspección
          example: null
        estatusDictamenInspeccion:
          type:
            - integer
            - 'null'
          description: Estado del dictamen de inspección
          example: null
        descripcionEstatusDictamenInspeccion:
          type:
            - string
            - 'null'
          description: Descripción del estado del dictamen de inspección
          example: null
        permiteEmitir:
          type: integer
          description: Indicador si permite emitir (0 = No, 1 = Sí)
          enum:
            - 0
            - 1
          example: 0
        indicadorMarbeteProvisional:
          type: integer
          description: Indicador de marbete provisional
          enum:
            - 0
            - 1
          example: 0
        inHogarEsencial:
          type:
            - integer
            - 'null'
          description: Indicador hogar esencial
          example: null
        tipoTransaccion:
          type: integer
          description: Tipo de transacción
          example: 1
        descripcionTransaccion:
          type: string
          description: Descripción de la transacción
          example: Emisión
        codigoMotivoTransaccion:
          type: integer
          description: Código del motivo de transacción
          example: 1
        descripcionMotivoTransaccion:
          type: string
          description: Descripción del motivo de transacción
          example: Emision Certificado Multiriesgo
    Marca:
      type: object
      description: Información de una marca de vehículo
      properties:
        P_CD_DATO:
          type: string
          description: Código de la marca
          example: '1'
        P_DE_DATO:
          type: string
          description: Nombre de la marca
          example: ACURA
      required:
        - P_CD_DATO
        - P_DE_DATO
    Modelo:
      type: object
      description: Información de un modelo de vehículo
      properties:
        P_CD_DATO:
          type: string
          description: Código del modelo
          example: '1'
        P_DE_DATO:
          type: string
          description: Nombre del modelo
          example: MDX
      required:
        - P_CD_DATO
        - P_DE_DATO
    Version:
      type: object
      description: Información de una versión de modelo de vehículo
      properties:
        P_CD_DATO:
          type: string
          description: Código de la versión
          example: '1'
        P_DE_DATO:
          type: string
          description: Nombre de la versión
          example: COUPE
      required:
        - P_CD_DATO
        - P_DE_DATO
  responses:
    Unauthorized:
      description: No autorizado - Token inválido, expirado o faltante
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            tokenInvalido:
              summary: Token inválido
              value:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
            tokenFaltante:
              summary: Token faltante
              value:
                statusCode: 401
                message: >-
                  Access denied due to missing subscription key. Make sure to
                  include subscription key when making requests to an API.
    ServerError:
      description: Error interno del servidor
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            errorInterno:
              summary: Error interno del servidor
              value:
                type: https://api.humano.com.do/problems/server-error
                title: Error Interno
                status: 500
                detail: >-
                  Ocurrió un error inesperado. Por favor contacte a soporte
                  técnico.
                instance: /problems/server-error/20251104-008
                timestamp: '2025-11-04T10:30:00Z'
            servicioNoDisponible:
              summary: Servicio temporalmente no disponible
              value:
                type: https://api.humano.com.do/problems/service-unavailable
                title: Servicio No Disponible
                status: 503
                detail: >-
                  El servicio está temporalmente no disponible. Por favor
                  intente más tarde.
                instance: /problems/service-unavailable/20251104-009
                timestamp: '2025-11-04T10:30:00Z'
  parameters:
    fechaDesde:
      name: fechaDesde
      in: query
      required: true
      schema:
        type: string
        format: date
      description: Fecha inicial de consulta
      example: '2025-01-01'
    fechaHasta:
      name: fechaHasta
      in: query
      required: true
      schema:
        type: string
        format: date
      description: Fecha final de consulta
      example: '2025-01-31'
