Git Product home page Git Product logo

ctrl-htls's People

Contributors

adriel-m-a avatar cachi1997 avatar diegomvh avatar florarg avatar gabrielfabro avatar pablopavez avatar

Watchers

 avatar  avatar  avatar  avatar

ctrl-htls's Issues

Desasignar Vendedor del Hotel

Descripción

Como administrador quiero desasignar un vendedor de un hotel para que deje de pertenecer al personal asignado al mismo


Diccionario de Datos

  • Nombre de Hotel: referencia a Hotel
  • Nombre: Cadena (30)
  • Apellido: Cadena (20)
  • Número de documento: Entero (único)
  • Tipo de documento: Enumerado {DNI, LC, LE}

Criterio de Aceptación

  • Dado el nombre del Hotel, este debe existir en el sistema
  • Dado el numero de documento del vendedor, este debe estar asignado al hotel.

Tareas

Frontend (React)

  • Mostrar los datos del vendedor

Backend (Django)

  • Crear función que permita quitar un vendedor asignado a un hotel
  • Procesar la solicitud y desvincular el vendedor del hotel en la base de datos

Gestión de clientes

Descripción

Como vendedor quiero gestionar la información de un cliente para dar de alta a un cliente cuando realiza una compra o alquiler y modificar los datos de un cliente existente si es necesario.


DICCIONARIO DE DATOS

  • Nombre: Cadena(30)
  • Apellido: Cadena(30)
  • Documentación: Entero
  • Tipo de Documentación: Enumerado {DNI, CUIT, CUIL}
  • E-Mail: correo@dominio
  • Teléfono: Cadena (30)
  • Dirección: Cadena(50)
  • Puntos acumulados: Entero
  • Alquiler: Referencia a Alquiler [0..N]
  • Localidad: Referencia a Localidad

Criterios de aceptación

Alta

  • Dado que existan campos incompletos cuando se intenta dar de alta un cliente, entonces el sistema debe mostrar un mensaje de error.
  • Dado un tipo y número de CUIT/CUIL existente cuando se intenta dar de alta un cliente, entonces el sistema debe mostrar un mensaje de error, indicando que el cliente ya existe.
  • Solo se podrá dar de alta un cliente, cuando este realice una compra (Alquiler de habitación, Paquete turístico)
  • Solo el vendedor podrá dar de alta un cliente

Modificar

  • No se podrá realizar la modificación de Tipo documento y número documento.
  • No se podrá modificar la cantidad de puntos acumulados del cliente.
  • Solo el vendedor podrá modificar los datos un cliente

Baja

  • Solo el administrador puede dar de baja un cliente

Tareas

Frontend (React)

  • Crear una pagina para agregar clientes
  • Capturar la información relevante del nombre, apellido, DNI, localidad, dirección, teléfono, e-mail.
  • Validar y enviar los datos del formulario al backend para el registro
  • Mostrar una lista de clientes
  • Mostrar las compras realizadas por un cliente

Backend (Django)

  • Crear el Modelo de Clientes.
  • Procesar la solicitud del formulario y crear un nuevo registro de cliente en la base de datos.
  • Implementar función que permita mostrar los puntos disponibles de un cliente

Asignar Tipo de Habitacion a Habitacion

Descripción

Como administrador quiero asignarle un tipo de habitación a una habitación para categorizarlas


Diccionario de datos

  • Tipo de habitación: referencia a tipo de habitacion

Criterios de aceptación

  • El tipo de habitación debe existir
  • La habitación no debe tener un tipo de habitación ya asignado

Tareas

Frontend (React)

  • Crear una interfaz de busqueda de todos los tipos de tipo de habitaciones
  • Validar los datos y enviar la solicitud al backend.

Backend (Django)

  • Crear función que vincule el tipo de habitación a la habitación
  • Procesar la solicitud y vincular el tipo de habitación con la habitación en la base de datos

Gestión de temporadas

Descripción

Como administrador quiero gestionar temporadas.


Diccionario de datos

  • Porcentaje: Real
  • Fecha inicio: [dd/mm/aaaa] >= Fecha Actual
  • Fecha fin: [dd/mm/aaaa] > Fecha Inicio
  • Tipo Temporada: Enumerado {ALTA, BAJA}

Criterios de aceptación

Alta

  • Dado que existan campos incompletos cuando se intenta dar de alta una temporada, entonces el sistema debe mostrar un mensaje de error.
  • Dado el intento de crear una nueva temporada, se debe indicar error si ya existe una temporada en las fechas dadas.

Eliminación

  • Dado el intento de eliminación de una temporada, se debe indicar error si está vinculada a un hotel.

Modificación

  • Dado el intento de modificar una temporada ya vinculada a un hotel, se debe indicar error si el intervalo de fechas coincide con otra temporada vinculada al hotel. consultar

Tareas

Frontend (React)

  • Crear una pagina de registro de temporadas
  • Capturar la información relevante de la temporada, porcentaje, fecha (inicio y fin), tipo de temporada (ALTA o BAJA).
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Temporada
  • Procesar la solicitud del formulario y crear un nuevo registro de temporada en la base de datos

Gestión de hotel

Descripción

Como administrador quiero gestionar un hotel para administrar el alquiler de sus habitaciones.


DICCIONARIO DE DATOS

  • Nombre: Cadena (30)
  • Dirección: Cadena (calle + número)
  • Localidad: Referencia a Localidad
  • Correo electrónico: correo@dominio
  • Teléfono: Cadena (30)
  • Encargado: Cadena (30)
  • Servicios Extra: Referencia a Servicios [1..N]
  • Habitaciones: Referencia a Habitación [1..N]
  • Tipo Habitaciones: Referencia a Tipo habitación [1...N]
  • Vendedores: Referencia a Vendedor [1...N]
  • Categoría: Referencia a Categorías [1]
  • Descuento: Referencia a Descuento
  • Temporada: Referencia a Temporada
  • Paquete Promocional: Referencia a Paquete Promocional

CRITERIOS DE ACEPTACIÓN

Alta

  • Dado que existan campos incompletos cuando se intenta agregar el hotel, entonces el sistema debe mostrar un mensaje de error.
  • No puede existir más de un hotel en la misma dirección.

Modificar

  • No se puede modificar un hotel que no existe.
  • Al intentar modificar el encargado, debe pertenecer a ese hotel
  • Al intentar modificar la categoría, la nueva debe ser una categoría existente y válida según los servicios que ofrece el hotel.

Eliminar

  • No se puede dar de baja un hotel que no existe
  • No se puede dar de baja un hotel que tenga habitaciones alquiladas
  • No se puede dar de baja un hotel que tenga vendedores vinculados

Tareas

Frontend (React)

  • Crear una pagina de registro de hoteles
  • Capturar la información relevante del hotel, nombre, localidad, encargado, tipo de habitación, habitaciones, etc.
  • Validar y enviar los datos del formulario al backend para el registro
  • Mostrar una lista de vendedores del hotel
  • Mostrar una lista de hoteles por localidad
  • Mostrar los tipos de habitaciones de un hotel
  • Mostrar las ventas realizadas por un hotel en un determinado tiempo

Backend (Django)

  • Crear el Modelo de Hotel
  • Procesar la solicitud del formulario y crear un nuevo registro de hotel en la base de datos

Gestión de tipo habitación

Descripción

Como administrador quiero gestionar los tipos de habitaciones para asignarla a uno o mas hoteles.


Diccionario de datos

  • Nombre: Enumerado { SIMPLE, DOBLE, TRIPLE, APARTAMENTO }
  • Precio: Real > 0
  • Capacidad: Entero { 1..n }
  • Descripción: Cadena (30)

Criterios de aceptación

Alta

  • Dado el intento de creación de un tipo de habitación, este no debería ya existir en el sistema
  • Dado el intento de creación de un tipo de habitación, no pueden existir campos incompletos

Eliminar

  • Dada el intento de eliminar un tipo de habitación este no debe de estar vinculado a un hotel

Tareas

Frontend

  • Crear una pagina de registro de tipos de habitaciones
  • Capturar la información relevante del tipo de habitación, nombre, capacidad, descripción, cantidad de habitaciones.
  • Validar y enviar los datos del formulario al backend para el registro

Backend

  • Crear el Modelo de Tipo de Habitacion
  • Procesar la solicitud del formulario y crear un nuevo registro de tipo de habitación en la base de datos

Gestión de venta de paquete turístico

Descripción

Como vendedor quiero gestionar la venta de un paquete turístico para que un cliente tenga estadía en el hotel, comprendida dentro del paquete.


Diccionario de datos


Criterios de aceptación

  • Dada una habitación, una fecha inicio y una fecha fin, el sistema debe indicar error si la habitación no se encuentra disponible dentro del intervalo de fechas.

Asignar Tipo Habitación a Hotel

Descripción

Como administrador quiero asignar un tipo de habitación a un hotel para ofrecer sus habitaciones.


Diccionario de Datos

  • Hotel: referencia a hotel
  • Cantidad Habitaciones: Entero { 1..n }

Criterios de aceptación

  • Dado el intento de asignar un tipo de habitación, este no debe estar ya asignado al hotel.
  • Dado el intento de asignar un tipo de habitación, no pueden existir campos incompletos.

Tareas

Frontend (React)

  • Crear componente para mostrar una lista de los tipos de habitación del hotel
  • Validar los datos y enviar la solicitud al backend.

Backend (Django)

  • Crear función que vincule el tipo de habitación con el hotel
  • Procesar la solicitud y vincular el tipo de habitación con el hotel en la base de datos

Desafiliar hotel

Descripción

Como administrador quiero desafiliar un hotel para dejar de ofrecer sus servicios.


DICCIONARIO DE DATOS

  • Nombre de hotel: Cadena (30)
  • Localidad: Referencia a localidad

CRITERIOS DE ACEPTACIÓN

  • Dado el nombre del hotel cuando se muestren los hoteles disponibles para su alquiler, este no debe aparecer como opción habilitada.

Tareas

Frontend (React)

  • Mostar los datos del hotel

Backend (Django)

  • Crear una función que permita dar de baja el hotel
  • Procesar la solicitud y desvincular el hotel

Detalle Factura

Descripción

Como vendedor quiero generar el detalle de factura para registrar cada alquiler.


Diccionario de datos

  • Descripción: Referencia a Alquiler
  • Importe: Real > 0

Criterios de aceptación

  • Dado que existan campos incompletos cuando se intenta generar una factura, entonces el sistema debe mostrar un mensaje de error.
  • El total del detalle se obtiene del alquiler asociado
  • El detalle debe estar asociado una factura previamente generada

Tareas

Frontend (React)

  • Crear interfaz que muestre el detalle de factura.

Backend (Django)

  • Procesar la solicitud y crear un nuevo registro de detalle de factura en la base de datos

Gestión de vendedor

Descripción

Como administrador quiero registrar un vendedor.


Diccionario de datos

  • Nombre: Cadena (30)
  • Apellido: Cadena (20)
  • Número de documento: Entero (único)
  • Tipo de documento: Enumerado {DNI, LC, LE}
  • Teléfono: cadena (30)
  • Dirección: Cadena(50)
  • Correo electrónico: correo@dominio
  • Liquidaciones: Referencia a Liquidación [0..N]
  • Alquileres: Referencia a Alquiler [0..N]

Criterios de aceptación

Alta

  • Dado que existan campos incompletos cuando se intenta dar de alta un vendedor, entonces el sistema debe mostrar un mensaje de error.
  • Dado un documento existente cuando se intenta dar de alta un vendedor, entonces el sistema debe mostrar un mensaje de error, indicando que el vendedor ya existe.

Modificar

  • No se puede modificar un vendedor que no exista
  • No se puede modificar el DNI

Eliminar

  • No se puede eliminar un vendedor que no exista
  • No se puede eliminar un vendedor que tenga comisiones sin liquidar
  • No se puede eliminar un vendedor si es el único asignado a un hotel

Tareas

Frontend

  • Crear una pagina de registro de vendedores
  • Capturar la información relevante del vendedor, nombre, apellido, DNI, localidad, dirección, teléfono, correo.
  • Validar y enviar los datos del formulario al backend para el registro
  • Mostar una lista de liquidaciones pagadas del vendedor
  • Mostar una lista de las ventas realizadas por el vendedor en un determinado tiempo
  • Mostrar una lista de las liquidaciones pendientes del vendedor

Backend

  • Crear el Modelo de Vendedor
  • Procesar la solicitud del formulario y crear un nuevo registro de vendedor en la base de datos

Desasignar Servicio a Categoría

Descripción

Como administrador quiero desasignar servicios a una categoría


Criterios de aceptación

  • Dado el intento de desasignar un servicio a una nueva categoría, se debe mostrar error debido a que no pueden existir dos categorías con los mismos servicios.

Asignar Tipo de habitación a Habitación

Descripción

Como administrador quiero asignar un tipo a la habitación


Diccionario de datos

  • Tipo habitación: Referencia a Tipo Habitación

Criterios de aceptación

  • Dado el intento de vinculación de una habitación con un tipo, se debe indicar error si el tipo de habitación ingresado no está vinculado al hotel.

Tareas

Frontend (React)

  • Crear componente para mostrar una lista de los tipos de habitación del hotel
  • Validar los datos y enviar la solicitud al backend.

Backend (Django)

  • Crear función para que asigne un tipo habitación a una habitación.
  • Crear función que muestre los tipos habitación asignados al hotel.
  • Crear función que verifique si el tipo de habitación este vinculado al mismo hotel que esta vinculada la habitación
  • Procesar la solicitud y vincular el tipo de habitación con la habitación en la base de datos

Gestión Habitación

Descripción

Como administrador quiero gestionar las habitaciones para asignarlas a un hotel

Diccionario de datos

  • Piso: Entero
  • Número: Entero
  • Tipo: Referencia a Tipo Habitación

Criterios de aceptación

  • Dado el intento de creación de habitación, no pueden existir campos incompletos.
  • Dado el intento de eliminación de una habitación, este no debe pertenecer a un paquete promocional vigente.
  • No se permitirá la modificación del tipo de habitación asignado.

Tareas

Frontend (React)

  • Crear una pagina de registro de habitaciones
  • Capturar la información relevante de la habitación, piso, numero, precio, tipo de habitación, etc.
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Habitacion
  • Procesar la solicitud del formulario y crear un nuevo registro de habitación en la base de datos

Factura

Descripción

Como vendedor quiero generar facturas para registrar las ventas.


Diccionario de datos

  • Fecha: Fecha del sistema
  • Codigo Factura: Cadena(10)
  • Monto Total: Real
  • Tipo Factura: Enumerado {A, B, C}
  • Detalle factura: Referencia Detalle Factura

Criterios de aceptación

  • Dado que existan campos incompletos cuando se intenta generar una factura, entonces el sistema debe mostrar un mensaje de error.
  • El total de la factura debe calcularse sumando los precios de todos los detalles asociados
  • El número de factura debe ser único y secuencial por cada una

Tareas

Frontend (React)

  • Crear interfaz que muestre la factura.
  • Permitir al usuario imprimir la factura.

Backend (Django)

  • Crear Modelo de Factura
  • Crear función que imprima la factura
  • Procesar la solicitud y crear un nuevo registro de factura en la base de datos

Gestión Pago

Descripción

Como administrador quiero gestionar pagos para asignarlos a la factura.


Diccionario de datos

  • Fecha: Fecha del sistema
  • Monto: Real
  • Tipo pago: Enumerado {PUNTOS, TARJETA, EFECTIVO}

Criterios de aceptación

  • Dado que existan campos incompletos cuando se intenta realizar un pago, entonces el sistema debe mostrar un mensaje de error.
  • Solo se adjudicará puntos al cliente al realizar un pago con efectivo, equivalente al 1/5 del monto total.
  • Un punto equivale a un peso.
  • Dado la totalidad de un pago con puntos, no se adjudicará puntos al cliente.
  • Si al realizar el pago, una parcialidad es con puntos, solo se adjudicará puntos equivalentes al 1/5 del pago en efectivo.
  • Al realizar un pago parcial o total con puntos, se indicará un error cuando la cantidad de puntos del cliente sea insuficiente.
  • Se debe realizar un pago total en el momento que se realiza la venta.

Tareas

Frontend (React)

  • Crear una interfaz que muestre los tipo de pagos disponibles
  • Mostrar la cantidad de puntos disponibles del cliente
  • Crear interfaz que muestre si la operación se realizo con éxito o no

Backend (Django)

  • Crear función que verifique si el cliente puede realizar el pago con puntos
  • Crear función que sume y reste puntos al cliente
  • Procesar la solicitud y crear un nuevo registro de pago en la base de datos

Gestión de localidad

Descripción

Como administrador quiero poder agregar, editar y eliminar localidades en el sistema para que los hoteles, vendedores y clientes puedan especificar sus ubicaciones con precisión.

Diccionario de datos

ABM Ciudad

  • Código postal: Entero > 0
  • Nombre Ciudad: Cadena(30)

ABM Provincia

  • Nombre Provincia: Cadena(30)

ABM País

  • Nombre País: Cadena(30)

Criterios de aceptación

  • Dado que existan campos incompletos cuando se intenta agregar la ubicación, entonces el sistema este debe mostrar un mensaje de error.
  • Dado un código postal ya existente cuando se intenta agregar la localidad, entonces el sistema debe mostrar un mensaje de error.

Tareas

Frontend (React)

  • Crear una pagina para agregar ubicaciones
  • Capturar la información relevante de la Ciudad, nombre, codigo postal.
  • Capturar la información relevante de la Provincia, nombre.
  • Capturar la información relevante del País, nombre
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Ciudad
  • Crear el Modelo de Provincia
  • Crear el Modelo de País
  • Procesar la solicitud del formulario y crear un nuevo registro de Ciudad, Provincia, País en la base de datos

Asignar descuento a hotel

DESCRIPCIÓN

Como vendedor quieroasignar un descuento para


DICCIONARIO DE DATOS


CRITERIOS DE ACEPTACIÓN

Asignar vendedor a hotel

Descripción

Como administrador quiero asignar un vendedor a un hotel para que pueda ofrecer sus habitaciones y/o paquetes turísticos a los clientes


Diccionario de datos

  • Nombre de Hotel: referencia a Hotel
  • Nombre: Cadena (30)
  • Apellido: Cadena (20)
  • Número de documento: Entero (único)
  • Tipo de documento: Enumerado {DNI, LC, LE}

Criterios de aceptación

  • Dado que existan campos incompletos cuando se intenta asignar un vendedor a un hotel, entonces el sistema debe mostrar un mensaje de error.
  • Dado el intento de asignar un vendedor a un hotel, este no debe ya estar asignado al mismo.

Tareas

Frontend (React)

  • Crear componente para mostrar listado de hoteles asignados al vendedor
  • Validar los datos y enviar la solicitud al backend.

Backend (Django)

  • Crear función para que asigne un vendedor a un hotel.
  • Crear función que verifique que el vendedor no este previamente asignado al hotel
  • Procesar la solicitud y asociar el vendedor al hotel en la base de datos

Gestión de paquete turístico

Descripción

Como administrador quiero gestionar un paquete turístico para asignarlo a un hotel.


Diccionario de datos

  • Nombre: Cadena(30)
  • Fecha inicio: [dd/mm/aaaa] > Fecha Actual
  • Fecha fin: [dd/mm/aaaa] > Fecha Inicio
  • Coeficiente promoción: Real > 0
  • Habitaciones: Referencia a Habitacion [1..N]
  • Hotel: Referencia a Hotel

Criterios de aceptación

Alta

  • Dado el alta de un paquete turístico, este no debe tener el mismo nombre de uno ya existente.

Modificación

  • Dado el intento de modificación, no se debe permitir la modificación del nombre.
  • No se podrá modificar las fechas establecidas para un paquete promocional vigente

Eliminación

  • No se puede eliminar un paquete turístico que haya sido comprado y aún no se ha concretado la estadía.

Tareas

Frontend (React)

  • Crear una pagina de registro de paquetes turísticos
  • Capturar la información relevante del paquete, nombre, fecha (inicio y fin), coeficiente de promoción, habitaciones, hotel.
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Paquete Turístico
  • Procesar la solicitud del formulario y crear un nuevo registro de paquete turístico en la base de datos

Gestion de Servicios

Descripción

Como administrador quiero gestionar los servicios para luego ofrecerlos a los hoteles y/o categorias

Diccionario de datos

  • Nombre: cadena (30)
  • Descripcion: cadena (40)

Criterios de aceptación

  • Dado el intento de creación de servicios, no pueden existir campos incompletos.
  • Dado el intento de eliminación de un servicio, este no debe pertenecer a ningun hotel y/o categoria.

Tareas

Frontend (React)

  • Crear una pagina de registro de servicios
  • Capturar la información relevante del servicio; nombre, descripcion.
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Servicio
  • Procesar la solicitud del formulario y crear un nuevo registro de servicio en la base de datos

Gestión de alquiler

Descripción

Como vendedor quiero gestionar el alquiler de una habitación para que un cliente tenga estadía en un hotel.


Diccionario de datos

  • Cliente: Referencia a Cliente
  • Vendedor: Referencia a Vendedor
  • Habitacion: Referencia a Habitación [1..N]
  • Fecha inicio: {dd/mm/aaaa}
  • Fecha fin: {dd/mm/aaaa} > Fecha Inicio
  • Cantidad huéspedes: Entero
  • Paquete: Referencia a Paquete Promocional [0..1]
  • Importe: Real

Criterios de aceptación

  • Dada una cantidad de huéspedes y un tipo de habitación, el sistema debe indicar error si la cantidad de pasajeros excede la capacidad máxima de la habitación.
  • Si la cantidad de habitaciones es mayor o igual a la cantidad indicada por el hotel, se aplicará un descuento en el importe total.
  • No se podrá cancelar el alquiler de una habitación.
  • Se debe generar una factura asociada al alquiler con los detalles correspondientes

Tareas

Frontend (React)

  • Crear una interfaz de búsqueda de habitaciones disponibles en una localidad
  • Crear un formulario de registro de alquileres
  • Capturar la información relevante del alquiler, cliente, vendedor, habitación, fecha (inicio y fin), cantidad de huéspedes, importe.
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Alquiler
  • Procesar la solicitud del formulario y crear un nuevo registro de alquiler en la base de datos
  • Implementar función para verificar la disponibilidad de la habitación dada una fecha
  • Generar una factura asociada al alquiler y crear un registro en la base de datos.
  • Implementar función que permita listar los alquileres por filtro (Fecha, Cliente, Vendedor, Hotel, Habitación)

Gestion de categorias

Descripción

Como administrador quiero gestionar las categorías de los hoteles para gestionar los mismos


Diccionario de datos

Nombre: [5, 4.5, 4, 3.5, 3, 2.5, 2, 1.5, 1, C, B, A, Hospedaje]
Descripción: Cadena(60)
Servicios: Referencia a Servicios [1.. N]


Criterios de aceptación

Alta

  • Dado el intento de crear una nueva categoría, no pueden existir dos categorías con el mismo nombre.

Eliminación

  • Dado el intento de eliminación de una categoría, no debe estar vinculada a ningún hotel.

Tareas

Frontend (React)

  • Crear una pagina de registro de categorías
  • Capturar la información relevante de la categoría, nombre y descripción.
  • Validar y enviar los datos del formulario al backend para el registro

Backend (Django)

  • Crear el Modelo de Categoría
  • Procesar la solicitud del formulario y crear un nuevo registro de categoría en la base de datos

Presentación Final

  • Usuarios Perfiles de Vendedor y Administrador
  • Crear objetos en el contexto, crear una habitación en un hotel
  • Validaciones en general
  • El diseño no pareciera demostrar una "unicidad" dentro del sistema, mejoren la coherencia visual.
  • Trabajar sobre la UI, mas detalles de los objetos y sus contextos, (Hotel con descuentos, paquetes, temporadas, habitaciones, Clientes con sus alquileres, Vendedores con sus ventas, Alquileres y sus detalles, etc) Falta bastante en esto.
  • Finalizar alquiler, dar opciones de selección de descuentos,
  • Navegar cuando los objetos se crean o modifican, salir del contexto de edición o creación.... navegar
  • Falta mucho "detail view" de las cosas que creo que se podría explotar mas. Por ejemplo, los alquileres que realiza un vendedor actualmente muestran fechas y montos pero no a qué cliente pertenecen o sobre que hotel, habitación (o tipo de), si se trata de un paquete turístico.
  • Todo lo referido a facturación, pagos y la aplicación de descuentos no se vió.
  • Liquidar comisiones

Desasignar Tipo de habitación del Hotel

Descripción

Como administrador quiero desasignar un tipo de habitación a un hotel para dejar de ofrecer sus habitaciones.


Diccionario de datos

  • Tipo de habitación: Referencia a Tipo Habitación
  • Hotel: Referencia a Hotel

Criterios de aceptación

  • Dado el intento de desvinculación de un tipo de habitación, el mismo debe estar asignado al hotel.
  • Dado el intento de desvinculación de un tipo de habitación, el mismo no debe estar vinculado a una habitación que esté dentro de un paquete promocional activo.

Tareas

Frontend (React)

  • Implementar interacción con el usuario que permita desvincular el tipo de habitación con el hotel
  • Validar datos y enviar la solicitud al backend
  • Mostrar los tipos de habitaciones de un hotel

Backend (Django)

  • Crear función que permita desvincular un tipo habitación asignado a un hotel
  • Procesar la solicitud y desvincular el tipo de habitación del hotel en la base de datos

Liquidar comisión

Descipción

Como Administrador quiero liquidar comisiones para realizar el pago a cada vendedor


Diccionario de Datos

  • Numero Recibo: Entero
  • Vendedor: Referencia a Vendedor
  • Detalle Factura: Referencia a Detalle Factura
  • Fecha de Emisión: [DD/MM/AAAA]
  • Fecha de pago: [DD/MM/AAAA]
  • Monto Total: Real

Criterio de Aceptación

  • No se pueden liquidar comisiones de vendedores que no tengan liquidaciones pendientes
  • Por cada venta realizada, se le liquidará al vendedor el monto equivalente al 2%.
  • La fecha de pago se ingresará una vez se realice el pago en mano al vendedor.
  • Se deben liquidar comisiones si la fecha de pago está vacía.

Tareas

  • Modelo de Django
  • Crear componente de React para generar la vista de liquidaciones.
  • Crear función para buscar las ventas realizadas por un vendedor.
  • Crear función para calcular el importe final a liquidar del vendedor.

Frontend (React)

  • Crear una interfaz para que los vendedores puedan ver sus ventas y comisiones pendientes
  • Mostrar el calculo de comisiones basado en el 2% de las ventas

Backend (Django)

  • Crear una función que realice los cálculos de comisión total en base a las ventas registradas en la base de datos
  • Crear función que asigne la fecha de pago de la comisión

Gestión de Servicios

DESCRIPCIÓN

como administrador quiero gestionar los servicios para poder vincularlos a las categorias


DICCIONARIO DE DATOS

Nombre: Cadena(30)
Descripcion: Cadena (60)


CRITERIOS DE ACEPTACIÓN

Alta

  • No pueden haber dos servicios con el mismo nombre.

Eliminación

  • No tiene que estar asignado a ninguna categoria

Tareas

  • Modelo
  • Vista
  • Controlador

Gestion de descuentos

Descripción

Como administrador quiero gestionar los descuentos para asignarlo a uno o más hoteles.


Diccionario de datos

  • Porcentaje: Real
  • Cantidad habitaciones: Entero (1..N)

Criterios de aceptación

Alta

  • Dado que existan campos incompletos cuando se intenta dar de alta un descuento, entonces el sistema debe mostrar un mensaje de error.
  • Dado el intento de dar de alta un descuento, este no debe ya existir en el sistema.

Modificación

  • Dado que existan campos incompletos cuando se intenta modificar un descuento, entonces el sistema debe mostrar un mensaje de error.
  • Dado el intento de modificar un descuento, este debe existir en el sistema.

Eliminación

  • Dado el intento de eliminación de un descuento, este debe existir en el sistema.
  • Dado el intento de eliminación de un descuento, este no debe estar vinculado a un hotel.

Tareas

Frontend (React)

  • Crear una pagina de registro de descuentos
  • Capturar la información relevante del descuento, porcentaje, cantidad de habitaciones, etc.
  • Validar y enviar los datos del formulario al backend para el registro
  • Mostrar una lista de descuentos de un hotel

Backend (Django)

  • Crear el Modelo de Descuento
  • Procesar la solicitud del formulario y crear un nuevo registro de descuento en la base de datos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.