GET /movies
Descripción: Obtener la lista de todas las películas registradas.
Parámetros: Filtros opcionales (género, fecha de estreno).
Respuesta: Lista de películas (ID, título, sinopsis, duración, género, etc.).
GET /movies/{id}
Descripción: Obtener detalles de una película específica por su ID.
Parámetros: id (ID de la película).
Respuesta: Detalles de la película (título, sinopsis, duración, género, fecha de estreno).
POST /movies
Descripción: Registrar una nueva película.
Respuesta: Película registrada con éxito (ID generado, detalles).
PUT /movies/{id}
Descripción: Actualizar la información de una película existente.
Parámetros: id (ID de la película).
Respuesta: Película actualizada con éxito.
DELETE /movies/{id}
Descripción: Eliminar una película de la base de datos.
Parámetros: id (ID de la película).
Respuesta: Confirmación de la eliminación.
2. Gestión de Funciones (Showtimes API)
GET /showtimes
Descripción: Obtener los horarios de todas las funciones disponibles.
Parámetros: Filtros opcionales (película, fecha, sala).
Respuesta: Lista de funciones (ID, película, sala, hora de inicio, hora de fin).
GET /showtimes/{id}
Descripción: Obtener detalles de una función específica por su ID.
Parámetros: id (ID del horario de función).
Respuesta: Detalles del horario (película, sala, hora de inicio, etc.).
POST /showtimes
Descripción: Crear un nuevo horario de función para una película.
Respuesta: Horario de función creado con éxito.
PUT /showtimes/{id}
Descripción: Actualizar un horario de función existente.
Parámetros: id (ID del horario de función).
Respuesta: Horario de función actualizado.
DELETE /showtimes/{id}
Descripción: Eliminar un horario de función específico.
Parámetros: id (ID del horario de función).
Respuesta: Confirmación de la eliminación.
3. Gestión de Reservas y Compras (Reservations and Tickets API)
GET /reservations
Descripción: Obtener la lista de todas las reservas realizadas por los usuarios.
Parámetros: Filtros opcionales (usuario, película, fecha).
Respuesta: Lista de reservas (ID de reserva, usuario, película, hora de la función, asientos).
GET /reservations/{id}
Descripción: Obtener detalles de una reserva específica.
Parámetros: id (ID de la reserva).
Respuesta: Detalles de la reserva (película, asientos, fecha, usuario).
POST /reservations
Descripción: Crear una nueva reserva.
Respuesta: Reserva creada con éxito.
POST /tickets/purchase
Descripción: Comprar boletos en línea y generar los tickets electrónicos.
Respuesta: Confirmación de compra, boletos electrónicos generados.
PUT /reservations/{id}
Descripción: Actualizar una reserva existente (cambio de asientos, fecha).
Parámetros: id (ID de la reserva).
Respuesta: Reserva actualizada.
DELETE /reservations/{id}
Descripción: Cancelar una reserva existente.
Parámetros: id (ID de la reserva).
Respuesta: Confirmación de la cancelación.
4. Gestión de Clientes (Customers API)
GET /customers
Descripción: Obtener la lista de clientes registrados.
Respuesta: Lista de clientes (ID, nombre, email, historial de reservas).
GET /customers/{id}
Descripción: Obtener detalles de un cliente específico.
Parámetros: id (ID del cliente).
Respuesta: Detalles del cliente (nombre, correo electrónico, puntos de lealtad, historial de reservas).
POST /customers
Descripción: Registrar un nuevo cliente.
Respuesta: Cliente registrado con éxito.
PUT /customers/{id}
Descripción: Actualizar información de un cliente existente.
Parámetros: id (ID del cliente).
Respuesta: Cliente actualizado con éxito.
DELETE /customers/{id}
Descripción: Eliminar un cliente de la base de datos.
Parámetros: id (ID del cliente).
Respuesta: Confirmación de la eliminación.
5. Gestión del Snack Bar (Snacks API)
GET /snacks
Descripción: Obtener la lista de productos disponibles en el snack bar.
Respuesta: Lista de snacks (ID, nombre, precio, inventario disponible).
GET /snacks/{id}
Descripción: Obtener detalles de un snack específico.
Parámetros: id (ID del snack).
Respuesta: Detalles del snack (nombre, precio, cantidad disponible).
POST /snacks
Descripción: Registrar un nuevo snack en el inventario.
Respuesta: Snack registrado con éxito.
PUT /snacks/{id}
Descripción: Actualizar la información de un snack existente.
Parámetros: id (ID del snack).
Respuesta: Snack actualizado con éxito.
DELETE /snacks/{id}
Descripción: Eliminar un snack del inventario.
Parámetros: id (ID del snack).
Respuesta: Confirmación de la eliminación.
6. Gestión de Empleados y Seguridad (Employees API)
GET /employees
Descripción: Obtener la lista de empleados registrados.
Respuesta: Lista de empleados (ID, nombre, rol).
GET /employees/{id}
Descripción: Obtener detalles de un empleado específico.
Parámetros: id (ID del empleado).
Respuesta: Detalles del empleado (nombre, rol, permisos).
POST /employees
Descripción: Registrar un nuevo empleado.
Respuesta: Empleado registrado con éxito.
PUT /employees/{id}
Descripción: Actualizar la información de un empleado existente.
Parámetros: id (ID del empleado).
Respuesta: Empleado actualizado.
DELETE /employees/{id}
Descripción: Eliminar un empleado.
Parámetros: id (ID del empleado).
Respuesta: Confirmación de la eliminación.
7. Infraestructura y Seguridad (System API)
POST /login
Descripción: Autenticación de usuario con nombre de usuario y contraseña.
Respuesta: Token de autenticación para acceder a las API’s.
POST /enable-2fa
Descripción: Activar la autenticación de dos factores para un usuario.
Respuesta: Confirmación de activación de 2FA.
POST /logout
Descripción: Cerrar la sesión de un usuario.
Respuesta: Confirmación de cierre de sesión.
1. Gestión de Películas (Movies API)
GET /movies
Descripción: Obtener la lista de todas las películas registradas.
Parámetros: Filtros opcionales (género, fecha de estreno).
Respuesta: Lista de películas (ID, título, sinopsis, duración, género, etc.).
GET /movies/{id}
Descripción: Obtener detalles de una película específica por su ID.
Parámetros:
id
(ID de la película).Respuesta: Detalles de la película (título, sinopsis, duración, género, fecha de estreno).
POST /movies
Descripción: Registrar una nueva película. Respuesta: Película registrada con éxito (ID generado, detalles).
PUT /movies/{id}
Descripción: Actualizar la información de una película existente.
Parámetros:
id
(ID de la película). Respuesta: Película actualizada con éxito.DELETE /movies/{id}
Descripción: Eliminar una película de la base de datos.
Parámetros:
id
(ID de la película).Respuesta: Confirmación de la eliminación.
2. Gestión de Funciones (Showtimes API)
GET /showtimes
Descripción: Obtener los horarios de todas las funciones disponibles.
Parámetros: Filtros opcionales (película, fecha, sala).
Respuesta: Lista de funciones (ID, película, sala, hora de inicio, hora de fin).
GET /showtimes/{id}
Descripción: Obtener detalles de una función específica por su ID.
Parámetros:
id
(ID del horario de función).Respuesta: Detalles del horario (película, sala, hora de inicio, etc.).
POST /showtimes
Descripción: Crear un nuevo horario de función para una película.
Respuesta: Horario de función creado con éxito.
PUT /showtimes/{id}
Descripción: Actualizar un horario de función existente.
Parámetros:
id
(ID del horario de función).Respuesta: Horario de función actualizado.
DELETE /showtimes/{id}
Descripción: Eliminar un horario de función específico.
Parámetros:
id
(ID del horario de función).Respuesta: Confirmación de la eliminación.
3. Gestión de Reservas y Compras (Reservations and Tickets API)
GET /reservations
Descripción: Obtener la lista de todas las reservas realizadas por los usuarios.
Parámetros: Filtros opcionales (usuario, película, fecha).
Respuesta: Lista de reservas (ID de reserva, usuario, película, hora de la función, asientos).
GET /reservations/{id}
Descripción: Obtener detalles de una reserva específica.
Parámetros:
id
(ID de la reserva).Respuesta: Detalles de la reserva (película, asientos, fecha, usuario).
POST /reservations
Descripción: Crear una nueva reserva. Respuesta: Reserva creada con éxito.
POST /tickets/purchase
Descripción: Comprar boletos en línea y generar los tickets electrónicos. Respuesta: Confirmación de compra, boletos electrónicos generados.
PUT /reservations/{id}
Descripción: Actualizar una reserva existente (cambio de asientos, fecha).
Parámetros:
id
(ID de la reserva). Respuesta: Reserva actualizada.DELETE /reservations/{id}
Descripción: Cancelar una reserva existente.
Parámetros:
id
(ID de la reserva).Respuesta: Confirmación de la cancelación.
4. Gestión de Clientes (Customers API)
GET /customers
Descripción: Obtener la lista de clientes registrados.
Respuesta: Lista de clientes (ID, nombre, email, historial de reservas).
GET /customers/{id}
Descripción: Obtener detalles de un cliente específico.
Parámetros:
id
(ID del cliente).Respuesta: Detalles del cliente (nombre, correo electrónico, puntos de lealtad, historial de reservas).
POST /customers
Descripción: Registrar un nuevo cliente. Respuesta: Cliente registrado con éxito.
PUT /customers/{id}
Descripción: Actualizar información de un cliente existente.
Parámetros:
id
(ID del cliente).Respuesta: Cliente actualizado con éxito.
DELETE /customers/{id}
Descripción: Eliminar un cliente de la base de datos.
Parámetros:
id
(ID del cliente).Respuesta: Confirmación de la eliminación.
5. Gestión del Snack Bar (Snacks API)
GET /snacks
Descripción: Obtener la lista de productos disponibles en el snack bar.
Respuesta: Lista de snacks (ID, nombre, precio, inventario disponible).
GET /snacks/{id}
Descripción: Obtener detalles de un snack específico.
Parámetros:
id
(ID del snack).Respuesta: Detalles del snack (nombre, precio, cantidad disponible).
POST /snacks
Descripción: Registrar un nuevo snack en el inventario. Respuesta: Snack registrado con éxito.
PUT /snacks/{id}
Descripción: Actualizar la información de un snack existente.
Parámetros:
id
(ID del snack). Respuesta: Snack actualizado con éxito.DELETE /snacks/{id}
Descripción: Eliminar un snack del inventario.
Parámetros:
id
(ID del snack).Respuesta: Confirmación de la eliminación.
6. Gestión de Empleados y Seguridad (Employees API)
GET /employees
Descripción: Obtener la lista de empleados registrados.
Respuesta: Lista de empleados (ID, nombre, rol).
GET /employees/{id}
Descripción: Obtener detalles de un empleado específico.
Parámetros:
id
(ID del empleado).Respuesta: Detalles del empleado (nombre, rol, permisos).
POST /employees
Descripción: Registrar un nuevo empleado. Respuesta: Empleado registrado con éxito.
PUT /employees/{id}
Descripción: Actualizar la información de un empleado existente.
Parámetros:
id
(ID del empleado). Respuesta: Empleado actualizado.DELETE /employees/{id}
Descripción: Eliminar un empleado.
Parámetros:
id
(ID del empleado).Respuesta: Confirmación de la eliminación.
7. Infraestructura y Seguridad (System API)
POST /login
Descripción: Autenticación de usuario con nombre de usuario y contraseña.
Respuesta: Token de autenticación para acceder a las API’s.
POST /enable-2fa
Descripción: Activar la autenticación de dos factores para un usuario.
Respuesta: Confirmación de activación de 2FA.
POST /logout
Descripción: Cerrar la sesión de un usuario.
Respuesta: Confirmación de cierre de sesión.