Se actualiza por la versión 0.3.5

parent 1a970a7e
......@@ -2,7 +2,7 @@
"openapi": "3.0.0",
"info": {
"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'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Cotizacion"
"oneOf": [
{
"$ref": "#/components/schemas/Cotizacion"
},
{
"$ref": "#/components/schemas/InscripcionReservaPracticaLibre"
}
],
"example": {
"id": 542682,
"estado": 1,
"mensaje": "Cotizacion pendiente de pago",
"nombre_titular": "Pedro Pérez Benitez",
"tipo_documento_titular": "CC",
"documento_titular": "1023456789",
"telefono_titular": "320456879",
"direccion_titular": "Calle 8 # 34a - 23 apto 301 Bloque 2",
"email_titular": "cliente@ejemplo.com",
"provedor": "PayU",
"extra": 54523423423,
"extra2": "RA123128532",
"id_participacion_organizacion": 324,
"organizacion": "Individual",
"id_usuario": 8324123,
"usuario": "Juan Camilo Martinez",
"valor_total": 119000,
"valor_impuesto": 19000,
"valor_base": 100000,
"valor_reversion": 45000,
"fecha_creacion": "2018-02-12T15:19:21+00:00",
"fecha_actualizacion": "2018-02-12T15:22:21+00:00",
"expiracion": "2018-11-21T17:32:28",
"transaccion": {
"id": "CUS-123123-432",
"fecha": "2018-02-12T15:22:21+00:00",
"identificador_cajero": "53889001",
"identificador_caja": "PAI023123",
"canal": 3,
"medio_de_pago": {
"codigo_medio_pago": 124,
"valor": 140000,
"consecutivo": 0
}
},
"items_cotizacion": [
{
"nombre": "Juan Gómez García",
"tipo": 1,
"documento": "1023928310",
"valor": 43740,
"impuesto": 10260,
"valor_total": 54000,
"cantidad": 1,
"valor_unitario": 54000,
"descuentos": [
{
"id": 5451518,
"nombre": "Casa ensamble",
"tipo": 1,
"mercadeo": true,
"valor": 150000,
"codigo": "CAEDF2213"
}
],
"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)",
"type": "array",
......@@ -2466,7 +2754,7 @@
"fecha_inicio": {
"type": "string",
"format": "date-time",
"example": "2018-10-08T15:00"
"example": "2018-10-08T15:00:00"
},
"informacion_compra_material": {
"$ref": "#/components/schemas/InformacionCompraMaterial"
......@@ -2803,13 +3091,13 @@
"description": "Fecha de inicio de la vigencia del precio",
"type": "string",
"format": "date-time",
"example": "2018-09-12 13:00.000"
"example": "2018-09-12T13:00:00"
},
"vigencia_fin": {
"description": "Fecha de fin de la vigencia del precio",
"type": "string",
"format": "date-time",
"example": "2018-10-12 13:00.000"
"example": "2018-10-12T13:00:00"
},
"categoria_precio": {
"description": "Nombre de la categoría de precio",
......@@ -3193,6 +3481,44 @@
}
}
},
"Suscripcion": {
"type": "object",
"properties": {
"id_plan_afiliacion": {
"type": "integer",
"format": "int64",
"example": 3654
},
"nombre": {
"type": "string",
"example": "Gimnasio un mes"
},
"cantidad_aplazamientos": {
"type": "integer",
"format": "int64",
"example": 1
},
"duracion_aplazamientos": {
"type": "integer",
"format": "int64",
"example": 15
},
"principal": {
"type": "boolean",
"example": true
},
"medico": {
"type": "boolean",
"example": true
},
"afiliaciones": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Afiliacion"
}
}
}
},
"Transaccion": {
"description": "Propiedades de la transacción de pago de una cotización",
"type": "object",
......@@ -3232,6 +3558,8 @@
]
},
"medio_de_pago": {
"type": "array",
"items": null,
"$ref": "#/components/schemas/MedioDePago"
}
}
......@@ -3287,11 +3615,7 @@
},
"persona": {
"description": "Persona que tiene la tiquetera o a la que se quiere asociar el turno de práctica libre",
"allOf": [
{
"$ref": "#/components/schemas/Persona"
}
]
"$ref": "#/components/schemas/Persona"
},
"materiales": {
"description": "Lista de los materiales para le turno de practica libre",
......@@ -3339,6 +3663,37 @@
"description": "Nombre de la zona",
"type": "string",
"example": "Cancha 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"
}
]
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment