Okay
  Public Ticket #2440460
Back date appointments
Closed

Comments

  • Kat started the conversation

    Hi there,

    As we sometime have walk-ins we need to be able to add an appointment even if the time has passed. For example, the appointment start time is 9:00 and the customer shows up at 9:05.

    It looks like I am unavailable to do that, but it is crucial for our business. 

    How can I achieve it?

  • [deleted] replied

    Hi Kat,
    Thank you for the purchase.

    We will add this feature for the version 2.9, but we can add this feature directly on your website if you can't wait for the update?

  • Kat replied

    Hello Milos,

    Thank you for the quick response!

    It would be great if you can add it on my website, as it would make a huge difference on keeping track of our appointments.

    Please let me know what you need in order to proceed.

    Thank you!

  • [deleted] replied

    Hi Kat,

    Please try changing the method that you will see in the code bellow in the file TimeSlotService.php at location wp-content/plugins/ameliabooking/src/Application/Services/TimeSlot/TimeSlotService.php to:

        /**
         * @param string  $requiredBookingDateTimeString
         * @param boolean $isFrontEndBooking
         * @param string  $minimumTime
         *
         * @return \DateTime
         * @throws \Exception
         */
        public function getMinimumDateTimeForBooking($requiredBookingDateTimeString, $isFrontEndBooking, $minimumTime)
        {
            $requiredTimeOffset = $isFrontEndBooking ? $minimumTime : 0;
            $minimumBookingDateTime = DateTimeService::getNowDateTimeObject()->modify("+{$requiredTimeOffset} seconds");
            $requiredBookingDateTime = DateTimeService::getCustomDateTimeObject($requiredBookingDateTimeString);
            $minimumDateTime = ($minimumBookingDateTime > $requiredBookingDateTime ||
                $minimumBookingDateTime->format('Y-m-d') === $requiredBookingDateTime->format('Y-m-d')
            ) ? $minimumBookingDateTime : $requiredBookingDateTime->setTime(0, 0, 0);
            if (!$isFrontEndBooking) {
                $minimumDateTime->modify('-10 days');
            }
            return $minimumDateTime;
        }

    Please look at the attachment. 

    Please note that this is a custom solution, and not tested, not part of the plugin, so we can't guarantee if it will work in all occasions. You would need to test it out.

  • Kat replied

    That is really easy to do!

    I will be able to test it later today, as we're live now and I will get back to you with an update.

  • Kat replied

    One more question. Our first appointments have been booked today and I noticed that the counter is off.

    We are checking the Appointments at the back-end page. It only counts 8 appointments but we have multiple appointments booked at the same time slot.

    The way multiple appointments are shown is inaccurate a first glaze and honestly confusing.

    How can I fix that so we are not mislead?

  • [deleted] replied

    Hello Kat, 

    For Group appointments in Amelia there is only one appointment in the back-end with many customers. If the customers book the same time slot with the same employee this is counted as group appointments in Amelia, and these can't be separated, unfortunately, there isn't a possibility to have one appointment per customer if they are for the same time slot/employee with Amelia's current built-in features. 

    If you have any other questions or concerns feel free to open a new ticket and we will gladly help. 

  • Kat replied

    Hi Marija,

    Thank you for your reply.

    Hopefully, you will considering adding the option in the future to allow us  having a more realistic view of our numbers of appointments at any given moment in time.

  • [deleted] replied

    You are welcome, Kat. 

    I will add it as a feature request to our list so it can be considered for implementation in the future. 

    If you have any other questions or issues feel free to open a new ticket and we will gladly help.