Se actualiza por la versión 0.3.5

parent 1a970a7e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"openapi": "3.0.0", "openapi": "3.0.0",
"info": { "info": {
"description": "API para catálogo, venta y postventa de servicios en Hércules", "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" "title": "Hércules API"
}, },
"servers": [ "servers": [
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
{ {
"name": "items", "name": "items",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
{ {
"name": "precios", "name": "precios",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
{ {
"name": "descuentos", "name": "descuentos",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
{ {
"name": "items", "name": "items",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -176,7 +176,7 @@ ...@@ -176,7 +176,7 @@
{ {
"name": "precios", "name": "precios",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
{ {
"name": "descuentos", "name": "descuentos",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -361,7 +361,7 @@ ...@@ -361,7 +361,7 @@
{ {
"name": "items", "name": "items",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -371,7 +371,7 @@ ...@@ -371,7 +371,7 @@
{ {
"name": "precios", "name": "precios",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -381,7 +381,7 @@ ...@@ -381,7 +381,7 @@
{ {
"name": "descuentos", "name": "descuentos",
"in": "query", "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, "required": false,
"schema": { "schema": {
"type": "boolean", "type": "boolean",
...@@ -904,6 +904,15 @@ ...@@ -904,6 +904,15 @@
"type": "integer", "type": "integer",
"format": "int64" "format": "int64"
} }
},
{
"name": "idCaracteristica",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
} }
], ],
"post": { "post": {
...@@ -992,11 +1001,97 @@ ...@@ -992,11 +1001,97 @@
}, },
"responses": { "responses": {
"200": { "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": { "content": {
"application/json": { "application/json": {
"schema": { "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 @@ ...@@ -1507,7 +1602,7 @@
"Catalogo" "Catalogo"
], ],
"summary": "Listar las pruebas según los filtros seleccionados", "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", "operationId": "getCatalogo",
"requestBody": { "requestBody": {
"content": { "content": {
...@@ -1736,6 +1831,57 @@ ...@@ -1736,6 +1831,57 @@
"format": "date-time", "format": "date-time",
"example": "2018-10-02T10:00:00" "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": { "persona": {
"$ref": "#/components/schemas/Persona" "$ref": "#/components/schemas/Persona"
}, },
...@@ -1839,6 +1985,82 @@ ...@@ -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": { "components": {
...@@ -1878,6 +2100,57 @@ ...@@ -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": { "BeneficioSuscripcion": {
"type": "object", "type": "object",
"properties": { "properties": {
...@@ -1929,7 +2202,7 @@ ...@@ -1929,7 +2202,7 @@
}, },
"CategoriaPrecioServicio": { "CategoriaPrecioServicio": {
"type": "object", "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": { "properties": {
"categoria": { "categoria": {
"type": "string", "type": "string",
...@@ -2273,7 +2546,7 @@ ...@@ -2273,7 +2546,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"codigo": { "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", "type": "integer",
"format": "int64", "format": "int64",
"enum": [ "enum": [
...@@ -2290,6 +2563,10 @@ ...@@ -2290,6 +2563,10 @@
-11, -11,
-12, -12,
-13, -13,
-14,
-15,
-16,
-17,
-999 -999
], ],
"example": -13 "example": -13
...@@ -2396,6 +2673,17 @@ ...@@ -2396,6 +2673,17 @@
"format": "int64", "format": "int64",
"example": 7 "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": { "zonas": {
"description": "Zonas en donde hay disponibilidad (los cupos se reparten en estas zonas)", "description": "Zonas en donde hay disponibilidad (los cupos se reparten en estas zonas)",
"type": "array", "type": "array",
...@@ -2466,7 +2754,7 @@ ...@@ -2466,7 +2754,7 @@
"fecha_inicio": { "fecha_inicio": {
"type": "string", "type": "string",
"format": "date-time", "format": "date-time",
"example": "2018-10-08T15:00" "example": "2018-10-08T15:00:00"
}, },
"informacion_compra_material": { "informacion_compra_material": {
"$ref": "#/components/schemas/InformacionCompraMaterial" "$ref": "#/components/schemas/InformacionCompraMaterial"
...@@ -2803,13 +3091,13 @@ ...@@ -2803,13 +3091,13 @@
"description": "Fecha de inicio de la vigencia del precio", "description": "Fecha de inicio de la vigencia del precio",
"type": "string", "type": "string",
"format": "date-time", "format": "date-time",
"example": "2018-09-12 13:00.000" "example": "2018-09-12T13:00:00"
}, },
"vigencia_fin": { "vigencia_fin": {
"description": "Fecha de fin de la vigencia del precio", "description": "Fecha de fin de la vigencia del precio",
"type": "string", "type": "string",
"format": "date-time", "format": "date-time",
"example": "2018-10-12 13:00.000" "example": "2018-10-12T13:00:00"
}, },
"categoria_precio": { "categoria_precio": {
"description": "Nombre de la categoría de precio", "description": "Nombre de la categoría de precio",
...@@ -3193,6 +3481,44 @@ ...@@ -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": { "Transaccion": {
"description": "Propiedades de la transacción de pago de una cotización", "description": "Propiedades de la transacción de pago de una cotización",
"type": "object", "type": "object",
...@@ -3232,6 +3558,8 @@ ...@@ -3232,6 +3558,8 @@
] ]
}, },
"medio_de_pago": { "medio_de_pago": {
"type": "array",
"items": null,
"$ref": "#/components/schemas/MedioDePago" "$ref": "#/components/schemas/MedioDePago"
} }
} }
...@@ -3287,11 +3615,7 @@ ...@@ -3287,11 +3615,7 @@
}, },
"persona": { "persona": {
"description": "Persona que tiene la tiquetera o a la que se quiere asociar el turno de práctica libre", "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": { "materiales": {
"description": "Lista de los materiales para le turno de practica libre", "description": "Lista de los materiales para le turno de practica libre",
...@@ -3339,6 +3663,37 @@ ...@@ -3339,6 +3663,37 @@
"description": "Nombre de la zona", "description": "Nombre de la zona",
"type": "string", "type": "string",
"example": "Cancha 1" "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