paths:
  /api/v1/client/search/{cci_rif}:
    get:
      summary: Buscar cliente por RIF/Cédula
      description: |
        Obtiene la información completa del cliente: datos personales, teléfonos,
        correos, direcciones y atributos adicionales.

        **Salida utilizada por:**
        - `GET /api/v1/client/search/policies/{cci_rif}` → campo `cci_rif` (numérico)
      tags:
        - Cliente
      parameters:
        - in: path
          name: cci_rif
          schema:
            oneOf:
              - type: integer
              - type: string
                minLength: 1
                maxLength: 30
          required: true
          description: |
            Identificación del cliente (RIF o Cédula).
            Puede ser numérico (ej. `25221952`) o alfanumérico (ej. `V25221952`).
            Sin puntos ni guiones.
          example: 25221952
      responses:
        '200':
          description: Cliente encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  data:
                    type: object
                    properties:
                      client:
                        type: object
                      clientTel:
                        type: array
                        items:
                          type: object
                      clientCorreo:
                        type: array
                        items:
                          type: object
                      clientDir:
                        type: array
                        items:
                          type: object
                      clientAtr:
                        type: array
                        items:
                          type: object
        '400':
          description: Parámetro faltante o inválido
          content:
            application/json:
              example:
                status: false
                message: "Parámetros de entrada inválidos."
                errors:
                  - campo: cci_rif
                    mensaje: "El parámetro 'cci_rif' es requerido."
        '403':
          description: Error de permisos
        '500':
          description: Error interno del servidor

  /api/v1/client/search/policies/{cci_rif}:
    get:
      summary: Pólizas de un cliente por RIF numérico
      description: |
        Retorna el listado de pólizas activas e históricas asociadas a CI/RIF indicado.
        El parámetro debe ser **estrictamente numérico**.

        **Dependencias de entrada:**
        | Campo | Obtener de |
        |-------|------------|
        | `cci_rif` (numérico) | `GET /api/v1/client/search/{cci_rif}` → `data.client.cci_rif` |
      tags:
        - Cliente
      parameters:
        - in: path
          name: cci_rif
          schema:
            type: integer
          required: true
          description: >
            RIF numérico del cliente (sin letras, sin puntos ni guiones).
            **Obtener de** `GET /api/v1/client/search/{cci_rif}` → `data.client.cci_rif`.
          example: 19583542
      responses:
        '200':
          description: Listado de pólizas del cliente
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        cnpoliza:
                          type: string
                          description: Número de póliza.
                        cramo:
                          type: integer
                          description: Código del ramo.
                        xramo:
                          type: string
                          description: Descripción del ramo.
                        cplan:
                          type: string
                          description: Código del plan.
                        istatpol:
                          type: string
                          description: Estado de la póliza (`V` Vigente, `A` Anulada, etc.).
              example:
                status: true
                data:
                  - cnpoliza: "18-1-0000000820"
                    cramo: 18
                    xramo: "AUTOMOVIL"
                    cplan: "RCVBAS"
                    istatpol: "V"
        '400':
          description: Parámetro faltante o no numérico
          content:
            application/json:
              example:
                status: false
                message: "Parámetros de entrada inválidos."
                errors:
                  - campo: cci_rif
                    mensaje: "El parámetro 'cci_rif' es requerido y debe ser numérico."
        '403':
          description: Error de permisos
        '500':
          description: Error interno del servidor
