Incorrect date displayed in Business Profile

Hi there

The new appointment booking widget is great!

I wanted to try it out right away and added the opening hours. Then I added the special opening hours. The problem now is that the business profile shows the wrong date for the restaurant’s next opening. It should actually say that it will be open again on October 23 at 5:30 p.m. But it shows me the date after the last entry in the Date-Specific Hours. How can I change that?

Thank you
Dominik

2 Likes

Hi there, @Dominik1 :waving_hand:

Thanks for bringing this to our attention!

I’ve shared this issue with the dev team and will update you once it’s fixed :slightly_smiling_face:

1 Like

Hi Max

Have you received a response from the dev team yet? We would like to integrate the widget as soon as possible..

Thank you!
Dominik

2 Likes

Hi @Dominik1 :waving_hand:

Apologies for the long wait!

Our devs are working hard on this issue, and hopefully we’ll be able to fix it soon. I’ll immediately get back to you as soon as I have more news :slightly_smiling_face:

2 Likes

Hi @Dominik1 :waving_hand:

Thank you for waiting!

We’ve released a fix for this issue. Please check your widget and let me know if the correct hours are displayed on your end :slightly_smiling_face:

1 Like

Hi Max

Great! Thank you very much!!

I have another question: The opening hours are until 11:00 p.m., but it would be great if you could still reserve a table by 9:00 p.m. at the latest. Can you arrange that?

Dominik

2 Likes

Yep, we can customize the widget this way. Your request is with our devs now, and I’ll update you once the solution is ready :wink:

1 Like

Thank you very much!

2 Likes

We’ve added this script to the Custom JS field on the Settings tab of your widget’s settings:

const waitForElement = (selector, root = document) => new Promise(res => {
  const observer = new MutationObserver(() => {
    const element = root.querySelector(selector);
    if (element) {
      res(element);
      observer.disconnect();
    }
  });

  observer.observe(root, {
    childList: true,
    subtree: true
  });
});
let shouldRemoveSlot = false;

function removeSlotsAfter21() {
  waitForElement('.es-time-slot-picker-group:last-child .es-time-slot-picker-group-items').then(slotGrid => {
    const slots = slotGrid.querySelectorAll('.es-datetime-picker-button');
    slots.forEach(slot => {
      if (shouldRemoveSlot) {
        slot.style.display = 'none';
        return;
      }
      const text = slot.querySelector('div').textContent;
      if (text.includes('20:45')) {
        shouldRemoveSlot = true;
      }
    });
    shouldRemoveSlot = false;
    removeSlotsAfter21();
  });
}

removeSlotsAfter21();

Note: Custom JS doesn’t function in the preview mode, so you can check the result right on your website.


Please check it out and let me know if you like the result :slightly_smiling_face:

1 Like

Thank you very much, that looks very good. Can you also arrange it so that a table can be reserved for lunch from 11:00 a.m. to 12:30 p.m. and in the evening from 5:30 p.m. to 9:00 p.m.?

Dominik

2 Likes

Hi @Dominik1 :waving_hand:

I’ll discuss with the devs if it’s possible to adjust the script for this case and will update you once I have their response :slightly_smiling_face:

2 Likes

Here is the updated script we’ve added to your widget:

const waitForElement = (selector, root = document) =>
  new Promise((res) => {
    const observer = new MutationObserver(() => {
      const element = root.querySelector(selector);
      if (element) {
        res(element);
        observer.disconnect();
      }
    });

    observer.observe(root, {
      childList: true,
      subtree: true,
    });
  });

function removeSlotsAfter({ time, slotGrid, isReverse }) {
  let shouldRemoveSlot = false;
  const slots = isReverse ? Array.from(
        slotGrid.querySelectorAll(".es-datetime-picker-button"),
      ).reverse() : slotGrid.querySelectorAll(".es-datetime-picker-button");
  slots.forEach((slot) => {
    if (shouldRemoveSlot) {
      slot.style.display = "none";
      return;
    }
    const text = slot.querySelector("div").textContent;
    if (text.includes(time)) {
      shouldRemoveSlot = true;
    }
  });
}

function waitSlots() {
  waitForElement(".es-time-slot-picker-group").then(() => {
    const groups = document.querySelectorAll(".es-time-slot-picker-group");
    groups.forEach((group) => {
      const title = group.querySelector('[class*="typography__Container-sc"]');
      const slotGrid = group.querySelector(".es-time-slot-picker-group-items");
      if (!title || !slotGrid) {
        return;
      }
      switch (title.textContent) {
        case "Morgen":
          removeSlotsAfter({ time: "11:00", slotGrid, isReverse: true });
          break;

        case "Nachmittag":
          removeSlotsAfter({ time: "12:15", slotGrid, isReverse: false });
          break;

        case "Abend":
          removeSlotsAfter({ time: "20:45", slotGrid, isReverse: false });
          break;

        default:
          break;
      }
    });
    waitSlots();
  });
}

waitSlots();

Please check it out and let me know if you like the result :slightly_smiling_face:

1 Like

Thank you very much!

One last question on this subject: Can I also edit the confirmation email that is sent to the customer? It should not say “Your booking has been confirmed” but “Your booking has been received” and we will check it and then confirm it.

In addition, the time is displayed as 12:00 p.m. to 12:15 p.m. Please only display the reservation time as 12:00 p.m. without a time limit.

And is it possible to change the sender in the email?

2 Likes

Unfortunately, there is no option to edit the confirmation emails now, but these ideas are on the Wishlist. Feel free to upvote them :slightly_smiling_face:

1 Like

Would it be possible for you to customize the emails for me? If the email is the way we want it, then we can also use the widget.

1 Like

Hey @Dominik1 :waving_hand:

Unfortunately, customizing the emails is not something we can do – this feature isn’t currently available even on our end. I understand that this may not meet your needs, and I’m sorry we can’t provide a solution for your case at this time.

However, you can upvote the feature requests Max sent to you previously and be notified of any changes first. We’ll keep you posted :raising_hands:

1 Like

A post was split to a new topic: Hide end time of reservation in confirmation emails

Hi Max
Hi Irene

My customer asked me if it would be possible to program the table reservation for Sundays from 11:00 a.m. to 3:00 p.m. Is that possible? The other days should remain as they are.

Dominik

1 Like

Hi there, @Dominik1 :waving_hand:

Just a couple of question to clarify your idea:

  • Reservation time on Sundays should be 11:00 a.m - 3:00 p.m, but working hours displayed in the business profile should be 11 a.m - 5 p.m, right?

  • The last reservation slot will be 14:45, correct?

Hi Max

That’s right. Reservation time on Sundays should be 11:00 a.m - 3:00 p.m, but working hours displayed in the business profile should be 11 a.m - 5 p.m. Last reservation slot will be 15:00.

Thank you.

1 Like