{ "openapi": "3.0.0", "servers": [ { "description": "Calidad", "url": "https://colsubsidio-test.apigee.net/api" }, { "description": "Producción", "url": "https://colsubsidio-prod.apigee.net/api" } ], "info": { "description": "Información de los servicios del producto recreacion y turismo afiliados.", "version": "1.0.0", "title": "Recreacion y turismo afiliados", "termsOfService": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger", "contact": { "email": "operacionesti@colsubsidio.com" }, "license": { "name": "Colsubsidio", "url": "http://172.16.95.36/wiki/index.php/T%C3%A9rminos_de_servicio_Swagger" } }, "tags": [ { "name": "cols-recreacionyturismo-afiliados", "description": "Informacion de afiliados." } ], "paths": { "/v1/recreacionyturismo/afiliados/clientes": { "post": { "tags": [ "cols-recreacionyturismo-afiliados" ], "summary": "Capacidad para inscribir una persona", "description": "Realiza la inscripción de una persona en el sistema con la información enviada", "operationId": "registrarDatosCliente.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/registrarDatosClienteResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/registrarDatosClienteRequestBody" } } }, "/v1/recreacionyturismo/afiliados/afiliacion": { "post": { "tags": [ "cols-recreacionyturismo-afiliados" ], "summary": "Inscribir afiliacion", "description": "Según el id se puede inscribir a una afiliación", "operationId": "inscribirMembresia.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inscribirMembresiaResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/inscribirMembresiaRequestBody" } } }, "/v1/recreacionyturismo/afiliados/disponibilidad": { "post": { "tags": [ "cols-recreacionyturismo-afiliados" ], "summary": "Consultar disponibilidad de la practica libre", "description": "Consultar disponibilidad de la practica libre", "operationId": "disponibilidadPracticaLibre.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/disponibilidadPracticaLibreResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/disponibilidadPracticaLibreRequestBody" } } }, "/v1/recreacionyturismo/afiliados/reserva": { "post": { "tags": [ "cols-recreacionyturismo-afiliados" ], "summary": "Inscripción de la persona al turno practica libre", "description": "Capacidad que permite la inscripción de una persona a un turno de practica libre, y lo asocia a una cotización.", "operationId": "reservarTurnoPracticaLibre.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/reservarTurnoPracticaLibreResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/reservarTurnoPracticaLibreRequestBody" } }, "delete": { "tags": [ "cols-recreacionyturismo-afiliados" ], "summary": "Borra un turno de práctica libre asociado a una persona.", "description": "Borra el turno completo desasociando todas las personas incluídas en él. NOTA: El turno tuvo que ser reservado por Tiquetera para ser cancelable.", "operationId": "cancelarReservaPracticaLibre.v1", "parameters": [ { "name": "numId", "in": "query", "description": "Numero de identificacion de la persona que reservo", "required": true, "schema": { "type": "string" } }, { "name": "idTurno", "in": "query", "description": "Numero de identificacion del turno ", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/cancelarReservaPracticaLibreResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] } }, }, "externalDocs": { "description": "Encontrar más información en EnterpriseArchitect", "url": "http://172.16.95.36/wiki/index.php/Enterprise_Architect" }, "components": { "schemas": { "resultado": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Código del resultado" }, "descripcion": { "type": "string", "description": "Descripción del resultado" } }, "xml": { "name": "resultado" } }, "resultadoCotizacion": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Estado de la cotización. Posibles Valores\n - 1) PAGO PENDIENTE > No ha sido pagada *nueva*\n - 2) PAGO REALIZADO > Ya ha sido pagada *facturada*\n - 3) RECHAZADA > El pago no ha sido exitoso *cancelada*\n - 4) CHECKOUT > En espera del medio de pago *en proceso de pago*" }, "descripcion": { "type": "string", "description": "Mensaje de la cotización" } }, "xml": { "name": "resultado" } }, "cancelarReservaPracticaLibreResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } } } }, "disponibilidadPracticaLibreResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "obtenerDisponibilidad": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerDisponibilidad" } } } }, "obtenerDisponibilidad": { "type": "object", "properties": { "turno": { "$ref": "#/components/schemas/turnoPracticaLibre" } } }, "turnoPracticaLibre": { "type": "object", "properties": { "practicaLibre ": { "type": "object", "properties": { "fechaInicio": { "type": "string", "description": "Fecha de inicio" }, "fechaFin": { "type": "string", "description": "Fecha de fin" }, "cantidadUsos": { "type": "string", "description": "Número de usos que require el turno" }, "participantes": { "type": "string", "description": "Número de personas máximas acompañantes para el turno" }, "cupos": { "type": "string", "description": "Cupos disponibles en el horario" }, "duracion": { "type": "string", "description": "Cantidad de minutos del turno" }, "zona": { "type": "array", "items": { "properties":{ "id": { "type": "string", "description": "Identificador de la zona" }, "nombre": { "type": "string", "description": "Nombre de la zona" }, "idEscenario": { "type": "string", "description": "Nombre del material" }, "nombreEscenario": { "type": "string", "description": "Identificador del escenario al que pertenece la zona" } } } } } } } }, "disponibilidadPracticaLibreRequest": { "type": "object", "properties": { "idCentroEntrenamiento": { "type": "string", "description": "Id del centro de entrenamiento" }, "disponibilidad": { "type": "object", "description": "Objeto que representa una búsqueda de disponibilidad en un rango de fechas para práctica libre.", "properties":{ "fechaInicio": { "type": "string", "description": "Fecha de inicio de búsqueda de la disponibilidad. Sujeto al mínimo del centro de entrenamiento con relación a la fecha actual." }, "fechaFin": { "type": "string", "description": "Fecha límite a la cual se le busca disponibilidad. Sujeto al maximo del centro de entrenamiento con relación a la fecha actual." }, "inmediato": { "type": "string", "description": "Indicador para buscar turnos que inicien en los próximos 5, 10 o 15 minutos" } } }, "turno": { "$ref": "#/components/schemas/turnoReservaPracticaLibre" } } }, "reservarTurnoPracticaLibreResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultadoCotizacion" } }, "obtenerCotizacion": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerCotizacion" } } } }, "reservarTurnoPracticaLibreRequest": { "type": "object", "properties": { "idCotizacion": { "type": "string", "description": "Id de cotizacion" }, "idCentroEntrenamiento": { "type": "string", "description": "Id del centro de entrenamiento" }, "turno": { "$ref": "#/components/schemas/turnoReservaPracticaLibre" } } }, "turnoReservaPracticaLibre": { "type": "object", "properties": { "practicaLibre ": { "type": "object", "properties": { "id": { "type": "string", "description": "Identificador del turno de la practica libre" }, "fechaInicio": { "type": "string", "description": "Fecha de inicio" }, "fechaFin": { "type": "string", "description": "Fecha de fin" }, "tiquetera": { "type": "string", "description": "Parametro que informa si la practica libre se reserva a través de una tiquetera" }, "cantidadUsos": { "type": "string", "description": "Número de la cantidad de usos que se desean reservar" }, "cancelable": { "type": "string", "description": "Parametro que describe si el turno de practica libre es aún cancelable" }, "informacionPersonal": { "type": "object", "properties":{ "id": { "type": "string", "description": "Id de la persona" }, "edad": { "type": "string", "description": "Edad de la persona" }, "correoElectronico": { "type": "string", "description": "Correo electronico de la persona" }, "documento": { "$ref": "#/components/schemas/documento" }, "nombre": { "$ref": "#/components/schemas/nombre" }, "genero": { "$ref": "#/components/schemas/genero" }, "categoria": { "$ref": "#/components/schemas/categoria" } } }, "material": { "type": "array", "items": { "properties":{ "id": { "type": "string", "description": "Identificador o id del material" }, "tipo": { "type": "string", "description": "Tipo del material:\n * 1) Referencia\n * 2) Transporte\n * 3) Turno\n * 4) Articulo" }, "descripcion": { "type": "string", "description": "Nombre del material" } } } }, "zona": { "type": "array", "items": { "properties":{ "id": { "type": "string", "description": "Identificador de la zona" }, "nombre": { "type": "string", "description": "Nombre de la zona" }, "idEscenario": { "type": "string", "description": "Nombre del material" }, "nombreEscenario": { "type": "string", "description": "Identificador del escenario al que pertenece la zona" } } } }, } }, } }, "inscribirMembresiaRequest": { "type": "object", "properties": { "idCentroEntrenamiento ": { "type": "string", "description": "Id de centro de entrenamiento", }, "idCotizacion": { "type": "string", "description": "Id de cotizacion" }, "fechaInicio": { "type": "string", "description": "Fecha de inicio" }, "servicio": { "$ref": "#/components/schemas/servicio" }, "cliente": { "$ref": "#/components/schemas/cliente" } } }, "inscribirMembresiaResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "obtenerCotizacion": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerCotizacion" } } } }, "registrarDatosClienteRequest": { "type": "object", "properties": { "cliente": { "$ref": "#/components/schemas/cliente" } } }, "registrarDatosClienteResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "obtenerCliente": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerCliente" } } } }, "obtenerCliente": { "type": "object", "properties": { "cliente": { "$ref": "#/components/schemas/cliente" }, } }, "documento": { "type": "object", "properties": { "tipo": { "type": "string", "description": "Tipo de documento" }, "numero": { "type": "string", "description": "Número de identificación del documento" } }, "xml": { "name": "documento" } }, "genero": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Género de la persona: * 0) FEMENINO * 1) MASCULINO", "enum": [ 0, 1 ] }, } }, "categoria": { "type": "object", "properties": { "sigla": { "type": "string", "description": "Sigla de la categoria" } } }, "nombre": { "type": "object", "properties": { "primero": { "type": "string", "description": "Primer nombre" }, "segundo": { "type": "string", "description": "Segundo nombre" }, "primerApellido": { "type": "string", "description": "Primer apellido" }, "segundoApellido": { "type": "string", "description": "Segundo apellido" }, "completo": { "type": "string", "description": "Nombre completo" } }, "xml": { "name": "nombre" } }, "cliente": { "type": "object", "properties": { "id": { "type": "string", "description": "Id del cliente" }, "edad": { "type": "string", "description": "Edad del cliente" }, "correoElectronico": { "type": "string", "description": "Correo electronico del cliente" }, "documento": { "$ref": "#/components/schemas/documento" }, "nombre": { "$ref": "#/components/schemas/nombre" }, "genero": { "$ref": "#/components/schemas/genero" }, "categoria": { "$ref": "#/components/schemas/categoria" } } }, "consultaCotizacionIdResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultadoCotizacion" } }, "obtenerCotizacion": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerCotizacion" } } } }, "obtenerCotizacion": { "type": "object", "properties": { "afiliado": { "$ref": "#/components/schemas/afiliado" }, "cotizacion": { "$ref": "#/components/schemas/cotizacion" }, "transaccion": { "$ref": "#/components/schemas/transaccion" }, "logs": { "type": "array", "items":{ "$ref": "#/components/schemas/logs" } } } }, "logs": { "type": "object", "description": "Cambio realizado en la cotización en un instante de tiempo", "properties": { "tipo": { "type": "string", "description": "Tipo de modificación que se realiza Tipo:\n * 1) CREACION\n * 2) ACTUALIZACION\n * 3) INFORMATIVO\n * 4) PRUEBAS" }, "descripcion": { "type": "string", "description": "Descripción del log" } } }, "transaccion": { "type": "object", "description": "Propiedades de la transacción de pago de una cotización", "properties": { "id": { "type": "string", "description": "El id de la transacción enviado por el sistema de pago." }, "fecha": { "type": "string", "description": "Fecha en la que se completó la transacción de pago" }, "canal": { "type": "string", "description": "Identificador del canal de pago - 1) Caja - 2) Módulos - 3) Web - 4) App - 5) IVR - 6) Interno", "enum": [ 1, 2, 3, 4, 5, 6 ] }, "idCaja": { "type": "string", "description": "Identificador de la máquina que hizo el pago (Módulo, Caja). En caso de transacción en línea se usará algún identificador del proveedor de pago." }, "idCajero": { "type": "string", "description": "Identificador del cajero quien realiza la cotización en el sistema Hércules (Normalmente la cédula o código de máquina)" }, "pago": { "type": "object", "properties":{ "id": { "type": "string", "description": "Consecutivo generado por el medio de pago" }, "medio": { "type": "string", "description": "Código del medio de pago" }, "valor": { "type": "string", "description": "Valor pagado con este medio de pago" } } } } }, "cotizacion": { "type": "object", "description": "Información de una cotización. Las cotizaciones se componen de Ítems de Cotización que indican los servicios a adquirir. Los Ítems tiene diferntes tipos dependiendo del servicio que se adquirió. Además las Cotizaciones tienen un log de auditoría y una Transacción de pago asociada que incluye la forma de pago detallada", "properties": { "id": { "type": "string", "description": "Id de la cotización en Hércules" }, "idFactura": { "type": "string", "description": "Identificador de la Cotización en el sistema facturador. ( Por ejemplo Número de Factura o de la Orden de Venta)" }, "idFacturaSecundario": { "type": "string", "description": "Identificador secundario de la Cotización en el sistema facturador. (Por ejemplo Número de Factura Empresarial)" }, "idParticipacionOrganizacion": { "type": "string", "description": "Id de la ParticipacionOrganizacion en Hércules de la cotización (uso interno)" }, "fechaCreacion": { "type": "string", "description": "Fecha de creación de la cotización" }, "fechaActualizacion": { "type": "string", "description": "Fecha de actualización de la cotización" }, "fechaExpiracion": { "type": "string", "description": "Fecha de expiración de la cotización" }, "usuario": { "type": "object", "properties": { "id": { "type": "string", "description": "Id del usuario en Hércules que realiza la cotización (si se hace por servicio sería el client_id)" }, "nombre": { "type": "object", "properties":{ "completo": { "type": "string", "description": "Nombre del usuario que reqliza la cotización" }, } } } }, "empresa": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre de la organización o empresa" }, } }, "proveedor": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del proveedor de pago de la cotización" }, } }, "costo": { "type": "object", "properties":{ "reversion": { "type": "string", "description": "Suma del total de las reversiones de cada ítem" }, "base": { "type": "string", "description": "Valor de la base del IVA en la cotización" }, "iva": { "type": "string", "description": "Valor total del IVA en la cotización" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Suma del total de cada ítem en la cotización. Total Pagado" }, } } } }, "articulo": { "type": "array", "items":{ "$ref": "#/components/schemas/articulo" } } } }, "articulo": { "type": "object", "description": "Hace referencia al servicio que se quiere inscribit, a la persona, y el valor de la inscripción al servicio ", "properties": { "tipo": { "type": "string", "description": "Tipo del ítem (INSCRIPCION = 1, MATRICULA = 2, MATERIAL = 3, AFILIACION = 4, RESERVA_TURNO = 5, CITA = 6)", "enum": [ 1, 2, 3, 4, 5, 6 ] }, "cantidad": { "type": "string", "description": "Cantidad del ítem adquirida" }, "descripcion": { "type": "string", "description": "Descripción del ítem" }, "centroBeneficio": { "type": "string", "description": "Código del centro de beneficios (Centro de Beneficios SAP)" }, "persona": { "type": "object", "properties":{ "nombre": { "type": "object", "properties":{ "completo": { "type": "string", "description": "Nombre de la persona asociada al ítem" } } }, "documento": { "type": "object", "properties":{ "numero": { "type": "string", "description": "NNúmero de documento de la persona asociada al ítem" } } }, } }, "categoria": { "type": "object", "properties":{ "sigla": { "type": "string", "description": "Nombre de la categoría de precio" } } }, "costo": { "type": "object", "properties": { "nombre": { "type": "string", "description": "Nombre del precio aplicado." }, "codigo": { "type": "string", "description": "Código del precio según la tabla de productos enviada. Id Material en SAP" }, "base": { "type": "string", "description": "Valor base del ítem sin impuesto." }, "impuesto": { "type": "string", "description": "Valor del impuesto aplicado sobre el valor" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total de la suma del valor más el impuesto" } } } } }, "servicio": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del titular que realizó la cotización" }, "costo": { "$ref": "#/components/schemas/costoServicioCotizacion" } } }, "descuento": { "type": "array", "description": "Lista de descuentos aplicados al ítem", "items":{ "$ref": "#/components/schemas/descuento" } } } }, "descuento": { "type": "object", "properties": { "id": { "type": "string", "description": "Identificador del descuento" }, "tipo": { "type": "string", "description": "Parametro para saber el tipo del descuento.\nLos tipos son los siguientes:\n - 0) CONVENIO: Los convenios son aquellos que no tienen recobro por subsidio a la demanda.\n - 1) DESCUENTO\n - 2) MERCADEO\n\nUn ítem de cotización puede tener a lo sumo tres descuentos, uno de cada tipo entre: convenio, no convenio y mercadeo.", "enum": [ 0, 1, 2 ], }, "codigo": { "type": "string", "description": "Código de descuento a aplicar (en caso de escritura) o aplicado (en caso de lectura), puede ser un código único o un código repetible (Cupón)" }, "nombre": { "type": "string", "description": "Nombre del descuento" }, "mercadeo": { "type": "string", "description": "Parámetro que indica que el precio fue modificado por un sistema externo con autorización para cambiar precios." }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor final con el descuento aplicado al valor del ítem consultado." } } } } }, "costoServicioCotizacion": { "type": "object", "properties": { "base": { "type": "string", "description": "Valor de la base (Sin IVA) del precio" }, "iva": { "type": "string", "description": "Valor del IVA para el precio" }, "fechaInicioVigencia": { "type": "string", "description": "Fecha de inicio de la vigencia del precio" }, "fechaFinVigencia": { "type": "string", "description": "Fecha de fin de la vigencia del precio" }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total (incluye IVA) del precio" } } } } }, "afiliado": { "type": "object", "properties": { "telefono": { "type": "string", "description": "Número de telefono del titular" }, "correoElectronico": { "type": "string", "description": "Correo electrónico del titular de la cotización" }, "nombre": { "type": "object", "properties": { "completo": { "type": "string", "description": "Nombre del titular que realizó la cotización" } } }, "documento": { "type": "object", "properties": { "tipo": { "type": "string", "description": "Tipo de documento del titular de la cotización", "enum": [ "CC", "CE", "NIT", "TI", "PAS", "FN", "RC", "NUIP", "MSI", "CD", "PEP" ] }, "numero": { "type": "string", "description": "Número de documento de una persona" } } }, "direccion": { "type": "object", "properties": { "direccionPrincipal": { "type": "string", "description": "Dirección del titular" } } } } }, "consultaCatalogoResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "obtenerServicios": { "type": "array", "items": { "$ref": "#/components/schemas/obtenerServicios" } } } }, "obtenerServicios": { "type": "object", "properties": { "servicio": { "type": "array", "items":{ "$ref": "#/components/schemas/servicio" } }, "opcionesAplicadas": { "type": "array", "items":{ "$ref": "#/components/schemas/opcionesAplicadas" } } } }, "opcionesAplicadas": { "type": "object", "description": "Objeto que contiene la información de las opciones utilizadas para buscar los servicios. Los tipos de opción pueden ser los siguientes:\n * 1) Documento\n * 2) Antiguedad\n * 3) Clasificación\n * 4) Área (Deporte)\n * 5) Sede\n * 6) Días (Entre Semana / Fin de Semana)\n * 7) Horario (Mañana / Tarde / Noche)\n * 8) Nivel (Prueba)\n * 9) Servicio (Prueba Campeonato)\n * 10) Segmento (Edad)", "properties":{ "valor": { "type": "string", "description": "Valor para la opción seleccionada" }, "tipo": { "type": "string", "description": "Nombre del tipo de la opción" }, "opcion": { "type": "string", "description": "Nombre de la opción" }, "atributos": { "type": "object", "description": "Características adicionales de la opción" }, } }, "servicio": { "type": "object", "properties": { "id": { "type": "string", "description": "Id del servicio" }, "tipo": { "type": "string", "description": "Tipo de servicio que puede existir, los tipos pueden ser los siguientes:\n * 1 ) Escuela\n * 2 ) Practica Libre\n * 3 ) Plan Afiliación\n * 4 ) Cita\n * 5 ) Material" }, "nombre": { "type": "string", "description": "Nombre del servicio" }, "nombreAbreviado": { "type": "string", "description": "Nombre corto del servicio con un tamaño máximo de 25 caracteres" }, "tiempoFijo": { "type": "string", "description": "Indicador que muestra si los usos aumentan el tiempo o solo el valor" }, "edadMinima": { "type": "string", "description": "Edad mínima con la cual se pueden registrar los participantes" }, "edadMaxima": { "type": "string", "description": "Edad máxima con la cual se pueden registrar los participantes" }, "numeroSesiones": { "type": "string", "description": "Número de sesiones del beneficio principal plan de afiliación" }, "tiempo": { "type": "string", "description": "Tiempo de duración en días del beneficio principal del plan de afiliación" }, "cupos": { "type": "string", "description": "Cantidad de cupos disponibles para el servicio" }, "pruebaTorneo": { "type": "string", "description": "Flag que indica si este servicio habilita pruebas para inscripción a torneo." }, "fechaInicio": { "type": "string", "format": "date-time", "description": "Fecha de inicio." }, "fechaFin": { "type": "string", "format": "date-time", "description": "Fecha de fin." }, "beneficios": { "type": "array", "description": "Lista del beneficio principal y secundarios del plan de afiliación.", "items":{ "type": "object", "properties":{ "id": { "type": "string", "description": "Id del beneficio" }, "numeroSesiones": { "type": "string", "description": "Cantidad de usos máximos del beneficio" }, "tiempo": { "type": "string", "description": "Tiempo en días de la vigencia del beneficio" }, "principal": { "type": "string", "description": "Indicador que muestra cuál es el beneficio principal del plan de afiliación" }, "area": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del area" }, } }, "sede": { "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre de la sede" }, } }, "centroEntrenamiento": { "type": "object", "description": "Objeto que contiene toda la información del centro de entrenamiento", "properties":{ "id": { "type": "string", "description": "Id del centro de entrenamiento" }, "nombre": { "type": "string", "description": "Nombre del centro de entrenamiento" } } }, "prestador": { "type": "object", "properties":{ "disponible": { "type": "string", "description": "Parametro que describe si el plan de afiliación tiene médico" } } }, } } }, "dias": { "type": "array", "description": "Se devolvera los dias que su valor sea 'true', los posibles pueden ser los siguientes:\n * lunes\n * martes\n * miercoles\n * jueves\n * viernes\n * entreSemana\n * finSemana", "format": "string", "enum": [ lunes, martes, miercoles, jueves, viernes, entreSemana, finSemana ], "items":{ } }, "genero": { "type": "object", "properties":{ "descripcion": { "type": "string", "description": "Género que aplica al centro de entrnamiento" } } }, "turno": { "type": "object", "properties":{ "grupal": { "type": "string", "description": "Indicador que muestra si el turno aplica para varias personas al tiempo" }, "personas": { "type": "string", "description": "Cantidad de personas máximas por turno" }, "inmediato": { "type": "string", "description": "Indicador que muestra si puede tener inicio inmediato el turno (dentro de los siguientes 5, 10 o 15 min)" }, "intervalo": { "type": "string", "description": "Duración en minutos de cada cuanto se puede obtener turnos" }, "duracion": { "type": "string", "description": "Duración en minutos del turno" }, "reserva": { "type": "string", "description": "Requiere reservar todos los turnos al momento de comprar. Por ejemplo para un pasadía" } } }, "prestador": { "type": "object", "properties":{ "disponible": { "type": "string", "description": "Parametro que describe si el plan de afiliación tiene médico" } } }, "centroEntrenamiento": { "type": "object", "description": "Objeto que contiene toda la información del centro de entrenamiento", "properties":{ "id": { "type": "string", "description": "Id del centro de entrenamiento" }, "nombre": { "type": "string", "description": "Nombre del centro de entrenamiento" } } }, "inscripcion": { "type": "object", "properties":{ "fechaInicioAntiguos": { "type": "string", "format": "date-time", "description": "Fecha inicio de inscripcion para antiguos." }, "fechaFinAntiguos": { "type": "string", "format": "date-time", "description": "Fecha fin de inscripcion para antiguos." }, "fechaInicioNuevos": { "type": "string", "format": "date-time", "description": "Fecha inicio de inscripcion para nuevos." }, "fechaFinNuevos": { "type": "string", "format": "date-time", "description": "Fecha fin de inscripcion para nuevos." }, } }, "area": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del área asociada al servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre del área" } } }, "nivel": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del nivel asociado al servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre del nivel" } } }, "categoria": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador de la categoria asociada a servicio tipo escuela" }, "nombre": { "type": "string", "description": "Nombre de la categoría de edad" } } }, "ciclo": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador del ciclo de inscripción del servicio" }, "nombre": { "type": "string", "description": "Nombre del ciclo de inscripción" } } }, "sede": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador de la sede del servicio de tipo escuela" }, "nombre": { "type": "string", "description": "Nombre de la sede del servicio" } } }, "material": { "type": "object", "properties":{ "id": { "type": "string", "description": "Identificador o id del material" }, "tipo": { "type": "string", "description": "Tipo del material:\n * 1) Referencia\n * 2) Transporte\n * 3) Turno\n * 4) Articulo" }, "descripcion": { "type": "string", "description": "Nombre del material" } } }, "atributo": { "type": "array", "items":{ "type": "object", "properties":{ "tipo": { "type": "string", "description": "Tipo de atributo en especifico, estos tipos de atributos se sacan de la lista enumerada en el objeto" }, "valor": { "type": "string", "description": "Valor de atributo" } } } }, "costo": { "type": "array", "items":{ "type": "object", "properties":{ "nombre": { "type": "string", "description": "Nombre del precio" }, "iva": { "type": "string", "description": "Valor del IVA para el precio" }, "base": { "type": "string", "description": "Valor de la base (Sin IVA) del precio" }, "fechaInicioVigencia": { "type": "string", "format": "date-time", "description": "Fecha de inicio de la vigencia del precio" }, "fechaFinVigencia": { "type": "string", "format": "date-time", "description": "Fecha de fin de la vigencia del precio" }, "categoria": { "type": "object", "properties":{ "sigla": { "type": "string", "description": "Nombre de la categoría de precio" } } }, "total": { "type": "object", "properties":{ "valor": { "type": "string", "description": "Valor total (incluye IVA) del precio" } } } } } } } } }, "requestBodies": { "registrarDatosClienteRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/registrarDatosClienteRequest" } } }, "description": "Informacion para registrar clientes", "required": true }, "inscribirMembresiaRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inscribirMembresiaRequest" } } }, "description": "Información de la fórmula médica", "required": true }, "reservarTurnoPracticaLibreRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/reservarTurnoPracticaLibreRequest" } } }, "description": "Información de la fórmula médica", "required": true }, "disponibilidadPracticaLibreRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/disponibilidadPracticaLibreRequest" } } }, "description": "Información de la fórmula médica", "required": true } }, "securitySchemes": { "apigee_auth": { "type": "oauth2", "flows": { "clientCredentials": { "tokenUrl": "https://colsubsidio-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials", "scopes": { "write:apigee": "Permisos de escritura", "read:apigee": "Permisos de lectura" } } } } } } }