/// <summary>
        /// Method to decrease the available seats of a route
        /// </summary>
        /// <param name="routeId"></param>
        /// <returns></returns>
        public bool DecreaseRouteSeats(string routeId)
        {
            Route route            = GetRoute(routeId);
            int   newNumberOfSeats = route.Available_Seats - 1;

            return(routeDataAccess.UpdateRouteSeats(routeId, newNumberOfSeats));
        }
        /// <summary>
        /// Method to add booking to database
        /// </summary>
        /// <param name="booking"></param>
        /// <returns></returns>
        public bool BookJourney(string routeID, string userID)
        {
            string status       = "active";
            Guid   bookingGuid  = Guid.NewGuid();
            Route  bookingRoute = routeDataAccess.GetRoute(routeID);
            User   bookingUser  = userDataAccess.GetActiveUser(userID);

            Booking newBooking       = new Booking(bookingGuid.ToString(), status, bookingRoute, bookingUser);
            int     newNumberOfSeats = bookingRoute.Available_Seats - 1;

            journeyDataAccess.EditJourney(bookingRoute.Route_Journey.Journey_ID, "Available_Seats", (bookingRoute.Route_Journey.Available_Seats - 1).ToString());;

            //Creates booking and decreases the number of seats available for the route
            return(bookingDataAccess.BookJourney(newBooking) && routeDataAccess.UpdateRouteSeats(routeID, newNumberOfSeats));
        }