Especificación de Requerimientos Sistema de Gestión de Reservas para Restaurant REQUERIMIENTOS FUNCIONALES 1. El sistema debe gestionar clientes. 2. El sistema debe gestionar mesas. 2.1 El sistema debe mostrar un mapa con la ubicación de las mesas según las coordenadas de la misma. 3. El sistema debe gestionar días no laborales. 4. El Sistema debe mostrar el Estado[] de las Reservas. 5. El sistema debe registrar Reservas con su Cliente[1], Mesas[2](opcional) y mostrar su Estado[3]. 5.1. El sistema debe listar las reservas posibilitando filtrarlas dentro de un rango de fechas. 5.1.1 El sistema debe resaltar en el listado las reservas que se pasaron del horario de llegada sin estar ocupadas. 5.1.2 El sistema debe resaltar en el listado las reservas que no tienen asignnadas mesas. 5.1.3 El sistema debe resaltar en el listado las reservas que se liberaron. 5.2. El Sistema debe filtrar y ordenar los listados por cliente, estado, fecha, cubiertos y turno. 5.3. El sistema debe mostrar el mapa de las mesas del restaurant cuando se da de alta o se modifica una reserva. 5.4 El sistema debe asignar opcionalmente a una Reserva una mesa que no tenga otras Reservas para esa fecha y turno. 5.5. El Sistema debe impedir realizar una reserva para un día no laboral. 5.6. El Sistema debe impedir realizar reservas si el Cliente se encuentra bloqueado. 5.7. El sistema debe impedir relizar reservas con mas de una semana de anticipación. Diccionario: • Cliente: nombre, apellido, teléfono, email, observación, bloqueado(s/n). • Mesa: nombre, coordenada_x, coordenada_y, observación. • Día no Laboral: fecha, nombre, observación. • Estado de Reserva: nombre[Pendiente, Rechazado, Reservado Web, Reservado Bar, Ocupado, Finalizado, Cancelado Cliente, Cancelado Bar, Caido]. • Reserva: cliente, estado de reserva[], fecha, cubiertos, turno[1,2], horario, descuento, observacion, mesas. REQUERIMIENTOS NO FUNCIONALES 1. El sistema debe ser web. 2. El sistema debe solicitar loguin para su utilización. 3. El sistema debe gestionar tipos de usuarios[]. 4. El sistema debe gestionar usuarios. 4.1: El usuario administrador debe poder gestionar todo. 4.2: El usuario cliente debe poder loguearse o registrarse primero en el caso de no estarlo y hacer una reserva en estado Pendiente. 4.3: El usuario adicionista debe poder gestionar clientes y reservas. Diccionario: • Tipos de usuarios: nombre[Administrador, Cliente, Adicionista], observación. • Usuario: nombre, apellido, usuario, contraseña, tipo de usuario, observación.