Especificación de Requerimientos Sistema de Gestión de Reservas y Alquileres de Complejos Deportivos REQUERIMIENTOS FUNCIONALES 1. El sistema debe gestionar clientes. 2. El sistema debe gestionar complejos. 3. El Sistema debe gestionar deportes. 4. El sistema debe gestionar Canchas con su Complejo[4] y Deportes[6]. 5. El sistema debe gestionar tarifas con su Complejo[4]. 6. El Sistema debe gestionar cotas no laborales de Canchas[5]. 7. El Sistema debe gestionar cotas no laborales de Complejos[2]. 8. El Sistema debe mostrar el Estado[] de las Reservas. 9. El sistema debe gestionar Reservas con su Cancha[7], Cliente[3], Tarifa[5] y mostrar su Estado[]. 9.1. El sistema debe mostrar las Reservas dadas filtrando por fechas, complejo, cancha y deporte. 9.2. El Sistema debe impedir la Reserva de una cancha de un complejo si la misma pertenece a un complejo que se encuentra en una cota de Tiempo de inactividad. 9.3. El Sistema debe impedir la Reserva de una cancha si la misma se encuentra en una cota de Tiempo de inactividad. 9.4. El Sistema debe impedir realizar reservas si el Cliente se encuentra inactivo. 10. El Sistema debe mostrar el Estado[] de las Reservas Fijas. 11. El sistema debe gestionar Reservas Fijas con su Cliente[1], Cancha[4] y Tarifa[5](opcional) y mostrar su Estado[]. 11.1. El sistema debe realizar una reserva fija un determinado día de la semana y dejarla hecha en el calendario hasta una fecha de vencimiento. 11.2. El sistema debe mostrar en el calendario todas las Reservas fijas. 11.3. El sistema debe mostrar las reservas fijas que falte menos de una semana para su fecha de fin a partir de la fecha actual del sistema. 11.4. El sistema debe dar de baja una reserva fija para un día determinado y realizar una reserva "común" para otro cliente. 11.5. El Sistema no debe realizar reservas fijas si el Cliente se encuentra inactivo. 12. El sistema debe mostrar una advertencia por pantalla cuando una reserva fija se cancele un número de veces predeterminado. 13. El sistema debe gestionar Alquileres con su Cliente[1], Cancha, Reserva[9](Opcional) y mostrar su estado. 13.1. El Sistema no debe realizar Alquileres si el Cliente se encuentra inactivo. 14. El sistema debe mostrar el listado de Reservas de los clientes. 14.1. El sistema debe mostrar un listado de reservas con su cliente[1] filtrando por Estado[] y Fecha. 14.2. El sistema debe mostrar un listado de reservas fijas por Estado[]. 15. El sistema debe mostrar el listado de Alquileres de los clientes. 15.1. El sistema debe mostrar los alquileres que realizo un cliente. 15.2. El sistema debe mostrar un listado de los alquileres con su cliente[1] filtrando por Fecha. Diccionario: • Cliente: Código, Nombre, dni, domicilio, teléfono fijo, teléfono celular, email, observación, activo (s/n). • Complejo: Código, Nombre, Domicilio, Observación. • Deporte: Código, Nombre. • Cancha: Código, Nombre, Deportes, Complejo, Observación. • Tarifa: Código, Nombre, Complejo, valor, Observación. • Cotas no Laborales de Canchas: Detalle, Fecha y Hora de Inicio, Fecha y Hora de Fin, Cancha. • Cotas no Laborales de Complejos: Detalle, Fecha y Hora de Inicio, Fecha y Hora de Fin, Complejo. • Estado de Reserva: Nombre[Reservado, Confirmado, Cancelado Cliente, Cancelado Complejo, Caido], Color. • Reserva: Cliente, Cancha, Tarifa, Descuento, Recargo, Observación, Fecha, Hora Inicio, Hora Fin, Estado de Reserva. • Estado de Reserva Fija: Nombre[Cancelado Cliente, Cancelado Complejo, Caido, Reasignado], Color. • Reserva Fija: Cliente, Cancha, Tarifa, Descuento, Recargo, Observación, Fecha Inicio, Fecha Fin, Hora Inicio, Hora Fin, Dia de la Semana,Estado de Reserva Fija. • Estado de Alquiler: Nombre[Pendiente de Pago, Pago, Bonificado], Color. • Alquiler: Cliente, Cancha, Tarifa, Descuento, Recargo, Observación, Fecha, Hora Inicio, Hora Fin, Tarifa, Pago(s/n), Con Reserva(s/n), Estado de Alquiler. REQUERIMIENTOS NO FUNCIONALES 1. El sistema debe ser web. 2. El sistema debe solicitar loguin para su utilización. 3. El sistema debe gestionar usuarios. Diccionario: • Usuario: Código, Nombre, Contraseña, Agrega Registros, Modifica Registros, Elimina Registros, Modifica Usuarios.