public ActionResult GetAddtionalDetails(AddonDetailsDTO objAddons)
        {
            try
            {
                if (objAddons == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                //Builds Reservation obj from objAddons param
                Reservation tempReservation = new Reservation
                {
                    Arrival          = objAddons.CheckIn,
                    Depature         = objAddons.CheckOut,
                    NoOfGuests       = objAddons.NoOfGuests,
                    RoomId           = objAddons.RoomId,
                    Room             = context.Rooms.Find(objAddons.RoomId),
                    UserId           = objAddons.UserId,
                    ApplicationUsers = context.Users.Find(objAddons.UserId),
                    BoardTypeId      = objAddons.BoardTypeId,
                    BoardType        = context.BoardTypes.Find(objAddons.BoardTypeId),
                };

                //Checks to see if there was any selected extras and adds them if so
                if (objAddons.SelectedExtra != null)
                {
                    foreach (int id in objAddons.SelectedExtra)
                    {
                        tempReservation.Extras.Add(context.Extras.Where(x => x.Id == id).FirstOrDefault());
                    }
                }

                //Buillds PaymentDetails object using Reservation Functions
                PaymentDetails objPaymentDTO = new PaymentDetails
                {
                    RoomCosts         = tempReservation.calculateRoomCosts(objAddons.Days),
                    BoardCosts        = tempReservation.CalculateBoardCosts(objAddons.Days),
                    BookingExtrasCost = tempReservation.CalculateBookingExtraCosts(objAddons.Days),
                    TotalCost         = tempReservation.CalculateBookingBill(objAddons.Days),
                    DepositToPay      = tempReservation.CalculateDepositAmount(objAddons.Days),
                };

                tempReservation.TotalBill = tempReservation.CalculateBookingBill(objAddons.Days);
                tempReservation.Deposit   = tempReservation.CalculateDepositAmount(objAddons.Days);


                Session["objAddon"] = objAddons;

                return(View("PaymentBill", objPaymentDTO));
            }
            catch (Exception ex)
            {
                this.AddNotification("", NotificationType.ERROR);
                ViewBag.Error = ("Error: " + Convert.ToString(ex));
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }