# Task 1
> source ./example_bookings.sql
> select * from `Bookings` where `BookingID` between 11 and 14
+-----------+---------------------+-------------+------------+------------+
| BookingID | Reserved            | TableNumber | CustomerID | EmployeeID |
+-----------+---------------------+-------------+------------+------------+
| 11        | 2022-10-14 18:00:00 | 5           | 1          | 1          |
| 12        | 2022-11-12 19:30:00 | 3           | 3          | 1          |
| 13        | 2022-10-11 18:45:00 | 2           | 2          | 1          |
| 14        | 2022-10-13 19:15:00 | 2           | 1          | 1          |
+-----------+---------------------+-------------+------------+------------+

# Task 2
> delimiter $
> source ./table_is_free.sql
> source ./check_booking.sql
> delimiter ;
> call CheckBooking("2022-11-12 18:15:00", 3, @IsFree);
+---------------------------+
| BookingStatus             |
+---------------------------+
| Table 3 is already booked |
+---------------------------+
> select @IsFree;
+---------+
| @IsFree |
+---------+
| 0       |
+---------+
> call CheckBooking("2022-11-12 17:15:00", 3, @IsFree);
+-----------------+
| BookingStatus   |
+-----------------+
| Table 3 is free |
+-----------------+
> select @IsFree;
+---------+
| @IsFree |
+---------+
| 1       |
+---------+

# Task 3
> delimiter $
> source ./add_valid_booking.sql
> delimiter ;
> call AddValidBooking("2022-11-12 18:15:00", 3, 4, 1);
+-----------------------------------------------+
| BookingStatus                                 |
+-----------------------------------------------+
| Table 3 is already booked - booking cancelled |
+-----------------------------------------------+
> select * from `Bookings`
+-----------+---------------------+-------------+------------+------------+
| BookingID | Reserved            | TableNumber | CustomerID | EmployeeID |
+-----------+---------------------+-------------+------------+------------+
| 1         | 2024-11-14 18:00:00 | 1           | 3          | 1          |
| 2         | 2024-11-14 19:30:00 | 2           | 2          | 1          |
| 3         | 2024-11-14 18:45:00 | 3           | 4          | 1          |
| 4         | 2024-11-14 19:15:00 | 4           | 1          | 2          |
| 5         | 2024-11-14 18:30:00 | 5           | 6          | 2          |
| 6         | 2024-11-14 19:00:00 | 6           | 5          | 2          |
| 7         | 2024-11-15 18:15:00 | 1           | 7          | 5          |
| 8         | 2024-11-15 19:45:00 | 2           | 8          | 5          |
| 9         | 2024-11-15 18:30:00 | 3           | 9          | 2          |
| 10        | 2024-11-15 19:00:00 | 4           | 10         | 5          |
| 11        | 2022-10-14 18:00:00 | 5           | 1          | 1          |
| 12        | 2022-11-12 19:30:00 | 3           | 3          | 1          |
| 13        | 2022-10-11 18:45:00 | 2           | 2          | 1          |
| 14        | 2022-10-13 19:15:00 | 2           | 1          | 1          |
+-----------+---------------------+-------------+------------+------------+
> call AddValidBooking("2022-11-12 17:15:00", 3, 4, 1);
+----------------------------------------------------+
| BookingStatus                                      |
+----------------------------------------------------+
| Table 3 was free - booking accepted (BookingID=15) |
+----------------------------------------------------+
> select * from `Bookings`
+-----------+---------------------+-------------+------------+------------+
| BookingID | Reserved            | TableNumber | CustomerID | EmployeeID |
+-----------+---------------------+-------------+------------+------------+
| 1         | 2024-11-14 18:00:00 | 1           | 3          | 1          |
| 2         | 2024-11-14 19:30:00 | 2           | 2          | 1          |
| 3         | 2024-11-14 18:45:00 | 3           | 4          | 1          |
| 4         | 2024-11-14 19:15:00 | 4           | 1          | 2          |
| 5         | 2024-11-14 18:30:00 | 5           | 6          | 2          |
| 6         | 2024-11-14 19:00:00 | 6           | 5          | 2          |
| 7         | 2024-11-15 18:15:00 | 1           | 7          | 5          |
| 8         | 2024-11-15 19:45:00 | 2           | 8          | 5          |
| 9         | 2024-11-15 18:30:00 | 3           | 9          | 2          |
| 10        | 2024-11-15 19:00:00 | 4           | 10         | 5          |
| 11        | 2022-10-14 18:00:00 | 5           | 1          | 1          |
| 12        | 2022-11-12 19:30:00 | 3           | 3          | 1          |
| 13        | 2022-10-11 18:45:00 | 2           | 2          | 1          |
| 14        | 2022-10-13 19:15:00 | 2           | 1          | 1          |
| 15        | 2022-11-12 17:15:00 | 3           | 4          | 1          |
+-----------+---------------------+-------------+------------+------------+
