"description":"API para catálogo, venta y postventa de servicios en Hércules",
"version":"0.3.4",
"version":"0.3.5",
"title":"Hércules API"
},
"servers":[
...
...
@@ -54,7 +54,7 @@
{
"name":"items",
"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",
"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",
"required":false,
"schema":{
"type":"boolean",
...
...
@@ -75,7 +75,7 @@
{
"name":"precios",
"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",
"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",
...
...
@@ -85,7 +85,7 @@
{
"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",
"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",
...
...
@@ -155,7 +155,7 @@
{
"name":"items",
"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",
"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",
"required":false,
"schema":{
"type":"boolean",
...
...
@@ -176,7 +176,7 @@
{
"name":"precios",
"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",
"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",
...
...
@@ -186,7 +186,7 @@
{
"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",
"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",
...
...
@@ -361,7 +361,7 @@
{
"name":"items",
"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",
"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",
"required":false,
"schema":{
"type":"boolean",
...
...
@@ -371,7 +371,7 @@
{
"name":"precios",
"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",
"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",
...
...
@@ -381,7 +381,7 @@
{
"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",
"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",
...
...
@@ -904,6 +904,15 @@
"type":"integer",
"format":"int64"
}
},
{
"name":"idCaracteristica",
"in":"query",
"required":false,
"schema":{
"type":"integer",
"format":"int64"
}
}
],
"post":{
...
...
@@ -992,11 +1001,97 @@
},
"responses":{
"200":{
"description":"Se encontraron servicios",
"description":"Si la persona que realiza la reserva tiene una membresía activa en el sistema, la respuesta contendrá un objeto 'InscripcionReservaPracticaLibre'. En caso contrario la respuesta contendrá un objeto 'Cotizacion'.",
"descripcion":"Plan Tu CUR 1 MES para Juan Gómez García",
"precio":{
"nombre":"Plan Tu Equilibrio 1 Año CAT B",
"iva":19000,
"base":100000,
"total":119000,
"vigencia_inicio":"2018-09-12 13:00.000",
"vigencia_fin":"2018-10-12 13:00.000",
"categoria_precio":"B"
},
"nombre_precio":"Plan Tu CUR Categoría B Mes",
"codigo_precio":"1232355",
"codigo_centro_beneficios":"5648-12479",
"categoria_precio":"B"
}
],
"logs_cotizacion":[
{
"tipo":1,
"detalles":"Se creo una cotización"
}
]
}
}
}
}
...
...
@@ -1507,7 +1602,7 @@
"Catalogo"
],
"summary":"Listar las pruebas según los filtros seleccionados",
"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",
"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 )",
"operationId":"getCatalogo",
"requestBody":{
"content":{
...
...
@@ -1736,6 +1831,57 @@
"format":"date-time",
"example":"2018-10-02T10:00:00"
},
"sede":{
"type":"string",
"description":"Nombre de la sede donde se lleva a cabo el servicio",
"example":"Sede Club Privado"
},
"escenario":{
"type":"string",
"description":"Nombre del escenario dentro de la sede donde se lleva a cabo el servicio",
"example":"Canchas de Polo"
},
"zona":{
"type":"string",
"description":"Nombre de la zona dentro del escenario donde se lleva acabo el servicio",
"example":"Cancha No 1"
},
"asistencia":{
"description":"Flag que indica si asistió o no",
"type":"string",
"example":"1"
},
"caracteristicas":{
"type":"array",
"description":"Características que contempla la zona",
"items":{
"type":"object",
"properties":{
"nombre":{
"description":"Nombre de la característica",
"type":"string",
"example":"Clase de aeróbicos"
},
"id_zona":{
"description":"Id de la zona a la que pertenece la característica",
"type":"string",
"example":"83"
},
"id_centro_entrenamiento":{
"description":"Id del centro entrenamiento que contempla la zona y característica relacionada",
"type":"string",
"example":"103"
}
}
},
"example":[
{
"nombre":"Clase de Aeróbicos",
"id_zona":"83",
"id_centro_entrenamiento":"103"
}
]
},
"persona":{
"$ref":"#/components/schemas/Persona"
},
...
...
@@ -1839,6 +1985,82 @@
}
}
}
},
"/consultar/suscripciones/{documento}":{
"parameters":[
{
"name":"documento",
"in":"path",
"required":true,
"description":"Documento de la persona que consulta sus suscripciones",
"schema":{
"$ref":"#/components/schemas/Documento"
}
},
{
"name":"tipoDocumento",
"in":"query",
"description":"Tipo de documento de la persona que consulta sus suscripciones",
"schema":{
"$ref":"#/components/schemas/TipoDocumento"
}
},
{
"name":"incluirVencidos",
"in":"query",
"schema":{
"description":"Flag para consultar las suscripciones sin vigencia de la persona\n - true: Se incluyen las suscripciones sin vigencia\n - false: No se incluyen las suscripciones sin vigencia",
"type":"boolean",
"default":false
},
"required":false
}
],
"get":{
"tags":[
"Catalogo"
],
"summary":"Consultar las suscripciones de una persona",
"description":"Función para consultar las suscripciones vigentes o históricas de los planes de afiliación",
"operationId":"consultarSuscripciones",
"responses":{
"200":{
"description":"Consulta Exitosa",
"content":{
"application/json":{
"schema":{
"description":"Colección que contiene las suscripciones asociadas al número y tipo de documento",
"type":"object",
"properties":{
"suscripciones":{
"type":"array",
"items":{
"$ref":"#/components/schemas/Suscripcion"
}
}
}
}
}
}
},
"401":{
"description":"No autorizado"
},
"404":{
"description":"persona no encontrada en el sistema",
"content":{
"application/json":{
"schema":{
"$ref":"#/components/schemas/Error"
}
}
}
},
"500":{
"description":"Error interno"
}
}
}
}
},
"components":{
...
...
@@ -1878,6 +2100,57 @@
}
}
},
"Afiliacion":{
"type":"object",
"properties":{
"id_centro_entrenamiento":{
"type":"integer",
"format":"int64",
"example":11
},
"centro_entrenamiento":{
"type":"string",
"example":"Gimnasio"
},
"fecha_inicio":{
"type":"string",
"format":"date-time"
},
"fecha_fin":{
"type":"string",
"format":"date-time"
},
"estado":{
"type":"integer",
"description":"Parámetro para saber el estado de la afiliación dentro de su ciclo de vida.\nLos estados son los siguientes:\n - 0) CANCELADA\n - 1) ACTIVA\n - 2) ADQUIRIDA\n - 3) TERMINADA",
"format":"int32",
"example":1,
"enum":[
0,
1,
2,
3
]
},
"entradas":{
"type":"integer",
"format":"int64",
"example":30
},
"principal":{
"type":"boolean",
"example":true
},
"medico":{
"type":"boolean",
"example":true
},
"validar_afiliacion":{
"type":"boolean",
"example":true
}
}
},
"BeneficioSuscripcion":{
"type":"object",
"properties":{
...
...
@@ -1929,7 +2202,7 @@
},
"CategoriaPrecioServicio":{
"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)",
"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":{
"type":"string",
...
...
@@ -2273,7 +2546,7 @@
"type":"object",
"properties":{
"codigo":{
"description":"Codigo de error:\n\n * -1 ) No se encontró la cotización\n * -2 ) El material no existe o no es valido\n * -3 ) El parametro no corresponde a un dato válido o no ha sido encontrado\n * -4 ) Documento inválido\n * -5 ) No se encontró el servicio\n * -6 ) La información enviada para actualizar es invalida \n * -7 ) El centro de entrenamiento no existe\n * -8 ) El turno no existe\n * -9 ) No se encontró a la persona\n * -10 ) El tipo de documento especificado no se encuentra en la lista de tipos de documentos válidos\n * -11 ) No se encontro el item\n * -12 ) Fechas invalidas\n * -13 ) Error de inscripción\n * -999 ) Error Interno",
"description":"Codigo de error:\n * -1 ) No se encontró la cotización\n * -2 ) El material no existe o no es valido\n * -3 ) El parametro no corresponde a un dato válido o no ha sido encontrado\n * -4 ) Documento inválido\n * -5 ) No se encontró el servicio\n * -6 ) La información enviada para actualizar es inválida\n * -7 ) El centro de entrenamiento no existe\n * -8 ) El turno no existe\n * -9 ) No se encontró a la persona\n * -10 ) El tipo de documento especificado no se encuentra en la lista de tipos de documentos válidos\n * -11 ) No se encontro el item\n * -12 ) Fechas inválidas\n * -13 ) Error de inscripción\n * -14 ) La persona ya se encuentra inscrita en la prueba\n * -15 ) No existe un precio para el servicio\n * -16 ) No se reconoce el tipo de servicio\n * -17 ) La información relacionada en el body, no coincide con la información relacionada en el path\n * -999 ) Error Interno",
"type":"integer",
"format":"int64",
"enum":[
...
...
@@ -2290,6 +2563,10 @@
-11,
-12,
-13,
-14,
-15,
-16,
-17,
-999
],
"example":-13
...
...
@@ -2396,6 +2673,17 @@
"format":"int64",
"example":7
},
"precio":{
"description":"Precio asociado a la práctica libre, para la categoría A",
"type":"string",
"format":"string",
"example":67226.89
},
"temporada":{
"description":"Temporada de acuerdo a la plantilla asociada al centro de entrenamiento",
"type":"string",
"example":"Alta"
},
"zonas":{
"description":"Zonas en donde hay disponibilidad (los cupos se reparten en estas zonas)",