{ "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 venta.", "version": "1.0.0", "title": "Recreacion y turismo venta", "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-catalogo", "description": " Informacion del catalogo de servicios." }, { "name": "cols-recreacionyturismo-cotizacion", "description": " Informacion de las cotizaciones." } ], "paths": { "/v1/recreacionyturismo/catalogo": { "post": { "tags": [ "cols-recreacionyturismo-catalogo" ], "summary": "Exploracion del catalogo.", "description": "Según los filtros seleccionados retornara los servicios o pruebas, en el caso de que falte algún filtro se pedira la opción para poder buscar las pruebas. Las opciones que se pueden seleccionar son las siguientes:\n * Documento\n * Antiguedad\n * Clasificación (Curso, Festival, Gimnasio, Práctica Libre, Alquiler de Escenario, Concierto, Taller, etc )\n * Segmento Edad\n * Área\n * Sede\n * Días (Entre Semana / Fin de Semana)\n * Horario (Mañana / Tarde / Noche)\n * Nivel (dentro del plan académico del Curso) /Modalidad \n * Servicio (ESCUELAS, PRACTICA_LIBRE, MATERIAL, PLAN_AFILIACION )\n ", "operationId": "consultaCatalogo.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCatalogoResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/consultaCatalogoRequestBody" } } }, "/v1/recreacionyturismo/catalogo/costo": { "post": { "tags": [ "cols-recreacionyturismo-catalogo" ], "summary": "Consultar precio de la inscripción.", "description": "Capacidad que permite consultar el precio de varias inscripciones las cuales contienen el Servicio y la Persona", "operationId": "consultaCostoInscripcion.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCostoInscripcionResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/consultaCostoInscripcionRequestBody" } } }, "/v1/recreacionyturismo/catalogo/costo/categoria": { "get": { "tags": [ "cols-recreacionyturismo-catalogo" ], "summary": "Consultar los precios y mejores descuentos de un servicio por categoría.", "description": "Capacidad para buscar por cada categoría los precios que están asociados al servicio, junto a sus mejores descuentos no sujetos a condiciones de audiencia.", "operationId": "consultaCostoCategoria.v1", "parameters": [ { "name": "idServicio", "in": "query", "description": "Numero de identificacion del servicio cuyos precios se desean consultar (consistente con el tipo de servicio).", "required": true, "schema": { "type": "string" } }, { "name": "tipoServicio", "in": "query", "description": "Tipo de servicios. 1- Practica Libre, 2- Material, 3- Cita, 4- Plan Afiliación", "required": true, "schema": { "type": "integer", "format": "int64", "enum": [ 1, 2, 3, 4 ] } }, ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCostoCategoriaResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] } }, "/v1/recreacionyturismo/catalogo/servicio": { "get": { "tags": [ "cols-recreacionyturismo-catalogo" ], "summary": "Listar los atributos del servicio.", "description": "Capacidad de listar los atributos de un servicio.", "operationId": "consultaServicio.v1", "parameters": [ { "name": "idServicio", "in": "query", "description": "Numero de identificacion del servicio cuyos precios se desean consultar (consistente con el tipo de servicio).", "required": true, "schema": { "type": "string" } }, { "name": "tipoServicio", "in": "query", "description": "Tipo de servicios, 1- Practica Libre, 2- Material, 3- Cita, 4- Plan Afiliación", "required": true, "schema": { "type": "integer", "format": "int64", "enum": [ 1, 2, 3, 4 ] } }, ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaServicioResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] } }, "/v1/recreacionyturismo/cotizacion": { "get": { "tags": [ "cols-recreacionyturismo-cotizacion" ], "summary": "Consulta de una cotización por número de referencia o id", "description": "Capacidad que realiza la búsqueda de una cotización por el número de referencia único o también llamado id", "operationId": "consultaCotizacionId.v1", "parameters": [ { "name": "idCotizacion", "in": "query", "description": "Id de la Cotización (también llamado Número de Referencia)", "required": true, "schema": { "type": "string" } }, { "name": "idTablaProducto", "in": "query", "description": "Id de la tabla de productos a usar para los códigos de precio y centros de beneficios", "required": false, "schema": { "type": "integer" } }, { "name": "articulos", "in": "query", "description": "Flag para enviar los ítems de cada cotización encontrada. \n - true: Envía dentro de cada cotización el detalle de sus ítems\n - false: No envía los ítems encontrada.", "required": false, "schema": { "type": "boolean" } }, { "name": "costos", "in": "query", "description": "Flag para enviar los precios dentro de cada item de cotización. \n - true: Envía dentro de cada ítem de cotización el detalle de su precio\n - false: No se incluye el precio dentro de los items", "required": false, "schema": { "type": "boolean" } }, { "name": "descuentos", "in": "query", "description": "Flag para enviar los descuentos (aplicados) dentro de cada item de cotización. \n - true: Envía dentro de cada ítem de cotización el detalle de sus descuentos aplicados\n - false: No se incluyen los descuentos dentro de los items", "required": false, "schema": { "type": "boolean" } }, { "name": "logs", "in": "query", "description": "Flag para delvolver el listado de log de la cotización", "required": false, "schema": { "type": "boolean" } }, ], "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCotizacionIdResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ] }, "put": { "tags": [ "cols-recreacionyturismo-cotizacion" ], "summary": "Actualiza una cotización por número de referencia o id", "description": "Actualiza una cotización con todos los datos que se reciben. Esta operación sirve para actualizar tanto el estado como el valor y los ítems de una cotización. En cualquier caso se deben enviar al menos los campos obligatorios de la cotización así sólo se requiera actualizar una de las propiedades. La actualización de estado genera cambios internos de la siguiente manera:\n - PAGO_RECHAZADO: Al actualizar a pago rechazado se cancelan todos los ítems de la cotización liberando los cupos y eliminando las inscripciones que estos estén reservando. También deja la cotización en valor 0 tanto para impuesto como para base. Esta actualización se debe usar también para *CANCELAR* cotizaciones. Si una cotización está en estado PAGO_APROBADO la cancelación genera también la anulación de la factura (nota crédito si es facturación electrónica).\n - PAGO_APROBADO: Al actualizar a pago aprobado la cotización entra en proceso de facturación en caso de no tener una factura asociada. Además se confirma la transacción a los clientes a través de notificaciones de correo electrónico, SMS, Push Notificaction etc.\n - CHECKOUT: La cotización queda en estado de espera para el proceso de pago. En este estado no corre el tiempo de expiración de la cotización y los cajeros puede empezar a hacer nuevas cotizaciones en simultánea. Las cotizaciones en CHECKOUT *pueden* ser canceladas por Hércules dependiendo de las reglas de negocio de cada servicio, por ejemplo al final del día o después de un tiempo determinado de espera de pago.", "operationId": "actualizaCotizacionId.v1", "responses": { "200": { "description": "Operación exitosa", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/actualizaCotizacionIdResponse" } } } }, "400": { "description": "Estado inválido" } }, "security": [ { "apigee_auth": [ "write:apigee", "read:apigee" ] } ], "requestBody": { "$ref": "#/components/requestBodies/actualizaCotizacionIdRequestBody" } } } }, "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" } }, "consultaServicioResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" }, }, "consultaServicio": { "items":{ "$ref": "#/components/schemas/consultaServicio" } } } }, "consultaServicio": { "type": "object", "properties": { "servicio": { "$ref": "#/components/schemas/servicio" } } }, "actualizaCotizacionIdResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultadoCotizacion" }, }, "actualizaCotizacion": { "items":{ "$ref": "#/components/schemas/actualizaCotizacion" } } } }, "actualizaCotizacion": { "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" } } } }, "actualizaCotizacionIdRequest": { "properties": { "idCotizacion": { "type": "string", "description": "Id de la Cotización (también llamado Número de Referencia). **(Obligatorio)**." }, "idTablaProducto": { "type": "integer", "description": "Id de la tabla de productos a usar para los códigos de precio y centros de beneficios" }, "articulos": { "type": "boolean", "description": "Flag para enviar los ítems de cada cotización encontrada. \n - true: Envía dentro de cada cotización el detalle de sus ítems\n - false: No envía los ítems encontrada." }, "costos": { "type": "boolean", "description": "Flag para enviar los precios dentro de cada item de cotización. \n - true: Envía dentro de cada ítem de cotización el detalle de su precio\n - false: No se incluye el precio dentro de los items." }, "descuentos": { "type": "boolean", "description": "Flag para enviar los descuentos (aplicados) dentro de cada item de cotización. \n - true: Envía dentro de cada ítem de cotización el detalle de sus descuentos aplicados\n - false: No se incluyen los descuentos dentro de los items" }, "logs": { "type": "boolean", "description": "Flag para delvolver el listado de log de la cotización" }, "afiliado": { "$ref": "#/components/schemas/afiliadoActualizar" }, "cotizacion": { "$ref": "#/components/schemas/cotizacionActualizar" }, "transaccion": { "$ref": "#/components/schemas/transaccion" } }, "required":[ "idCotizacion" ] }, "consultaCostoCategoriaResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "consultaCostoCategoria": { "type": "array", "description": "Arreglo donde cada elemento es de tipo CategoriaPrecioServicio con la información de cada precio asociado al servicio (por categoría) junto a sus mejores descuentos", "items": { "$ref": "#/components/schemas/consultaCostoCategoria" } } } }, "consultaCostoCategoria": { "type": "object", "description": "Objeto con la información del precio para un servicio asociado a cierta categoría independiente de persona (con los mejores descuentos no sujetos a condiciones de audiencia).", "properties": { "categoria": { "$ref": "#/components/schemas/categoria" }, "servicio": { "$ref": "#/components/schemas/servicio" }, "costo": { "$ref": "#/components/schemas/costo" }, "descuento": { "type": "array", "items": { "$ref": "#/components/schemas/descuento" } } } }, "consultaCostoInscripcionResponse": { "type": "object", "required": [ "resultado" ], "properties": { "resultado": { "type": "array", "xml": { "name": "resultado" }, "items": { "$ref": "#/components/schemas/resultado" } }, "consultaCostoInscripcion": { "type": "array", "items": { "$ref": "#/components/schemas/consultaCostoInscripcion" } } } }, "consultaCostoInscripcion": { "type": "object", "properties": { "cliente": { "$ref": "#/components/schemas/cliente" }, "servicio": { "$ref": "#/components/schemas/servicio" }, "costo": { "$ref": "#/components/schemas/costo" }, "descuento": { "type": "array", "items": { "$ref": "#/components/schemas/descuento" } } } }, "consultaCostoInscripcionRequest": { "type": "array", "items": { "properties": { "cliente": { "$ref": "#/components/schemas/cliente" }, "servicio": { "$ref": "#/components/schemas/servicio" }, "costo": { "$ref": "#/components/schemas/costo" } } } }, "genero": { "type": "object", "properties": { "codigo": { "type": "string", "description": "Género de la persona: * 0) FEMENINO * 1) MASCULINO", "enum": [ 0, 1 ] }, } }, "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" } } }, "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" } }, "categoria": { "type": "object", "properties": { "sigla": { "type": "string", "description": "Sigla de la categoria" } } }, "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" } } }, "consultaCatalogoRequest": { "type": "object", "properties": { "limite": { "type": "integer", "description": "Limite del numero de resultados que se obtienen, el valor limite es 204" }, "opciones": { "type": "array", "items": { "$ref": "#/components/schemas/opcionesCatalogo" } } } }, "opcionesCatalogo": { "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)", "type": "object", "properties": { "tipo": { "type": "string", "description": "Nombre del tipo de la opción" }, "valor": { "type": "integer", "description": "Valor para la opción seleccionada" }, "opcion": { "type": "string", "description": "Nombre de la opción" }, "atributos": { "type": "object", "description": "Características adicionales de la opción" } } }, "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" } } } } }, "cotizacionActualizar": { "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" }, "estado": { "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*" }, "mensaje": { "type": "string", "description": "Mensaje de la cotización" }, "idParticipacionOrganizacion": { "type": "string", "description": "Id de la ParticipacionOrganizacion en Hércules de la cotización (uso interno)" }, "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" }, } }, "articulo": { "type": "array", "items":{ "$ref": "#/components/schemas/articuloActualizar" } } } }, "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" }, "factura": { "type": "object", "properties": { "id": { "type": "string", "description": "Identificador de la Cotización en el sistema facturador. ( Por ejemplo Número de Factura o de la Orden de Venta)" }, "idSecundario": { "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" } } } }, "articuloActualizar": { "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)" }, "cliente": { "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": "Nú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" } } } }, "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)" }, "cliente": { "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" }, "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" } } } } }, "afiliadoActualizar": { "type": "object", "properties": { "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" } } } } }, "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" }, "idDetalle": { "type": "string", "description": "Id del detalle 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." }, "descripcion": { "type": "string", "description": "Descripcion del servicio." }, "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":{ "$ref": "#/components/schemas/costo" } } } }, "costo": { "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": { "actualizaCotizacionIdRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/actualizaCotizacionIdRequest" } } }, "description": "La cotización que se desea actualizar.", "required": true }, "consultaCostoInscripcionRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCostoInscripcionRequest" } } }, "description": "Objeto con la información necesaria para la consulta del costo de la inscripción en un servicio de una persona.", "required": true }, "consultaCatalogoRequestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consultaCatalogoRequest" } } }, "description": "Objeto con la llave opciones el cual contiene un arreglo de objetos de tipo opcion.", "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" } } } } } } }