public function run() { Eloquent::unguard(); // DB::table('packages')->delete(); $currentDate = date('Y-m-d'); BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 5 days + 5 hours')))); BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 10 days + 16 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 8 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 9 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 10 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 11 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 12 hours')))); // Set a whole week BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 11 days + 13 hours')))); BookingDateTime::create(array('booking_datetime' => date('Y-m-d H:i', strtotime($currentDate . ' + 12 days + 8 hours')))); }
function GetAvailableDays() { return response()->json(BookingDateTime::all()); }
/** * Function to create the appointment, scrub the database, and send out an email confirmation * * User interaction is complete * **/ public function anyConfirmed() { // When this boolean is set to True, instead of deleting all appointment times for the package duration // It will instead remove all times up to the end of the day, and continue to the next day until the package // time is done. $overlapDays = FALSE; $info = Session::get('appointmentInfo'); $startTime = new DateTime($info['datetime']); $endTime = new DateTime($info['datetime']); date_add($endTime, date_interval_create_from_date_string($info['package_time'] . ' hours')); $newCustomer = Customer::addCustomer(); $startTime = $startTime->format('Y-m-d H:i'); $endTime = $endTime->format('Y-m-d H:i'); // Create the appointment with this new customer id Appointment::addAppointment($newCustomer); if ($overlapDays) { // Remove hours up to the last hour of the day, then continue to the next day // If necessary // PSEUDO CODE // We will get the last appointment of the day and see if it's smaller than the package time // If the last appointment occurs beyond the package duration, we delete like normal // If the last appointment occurs before the package duration // We subtract the hours we remove from the package duration to get remaining time // Then we go to the next day with appointment times and remove enough appointments // To make clearance for the package duration. } else { // Remove all dates conflicting with the appointment duration BookingDateTime::timeBetween($startTime, $endTime)->delete(); } return View::make('success'); }