Ideas

Please, feel free to propose new ideas or new features, which you desire to see in future releases of Booking Calendar Plugin.

  1. In my country most of the payments are done via two ways: "Multibanco" or "MB Way".

    In the first option when someone place the purchase/order, receives a reference "xxxx-xxxxxxxxx-value" and can make the payment using an ATM/Homebanking/Bank App".

    In the second option I just enter my mobile number, receive a notification in the App where my mobile number is associated, and confirm the value. In the App we can add debit cards, visa cards, bank accounts so it's just a question of selecting from where I want that the payment be done.

    There are gateways for this that can integrate with WooCommerce, so it is easy to implement if your plugin could accept WooCommerce Payments.

    I imagine that in each country there are specific payments solutions, but they all integrate with WooCommerce.

    PayPal is Ok, but here, 90% of the payments are done via that two ways that I described.

    So my request is to include WooCommerce Payments Gateway.

    Thanks!

  2. If a booking is made from a user at a location - the same user right now is also able to book on another locations at the SAME dates! How we can restrict that?

    • Hello.
      1) Unfortunately, it is not possible to restrict for specific user (by email or by location) to not submit the new bookings at other available dates or in other booking resources, if such user was made the booking previously. Sorry.
      We will add improvements to this feature to the TODO list for having it in future updates of the plugin, but I can not say when this feature will be implemented. Sorry.

      2) But if you need to disable dates in other booking resources (calendars), if some bookings was made in original booking resource, then it's possible with aggregate parameter.

      If you want to show as unavailable some dates or times in all calendars (booking resources), if some booking was made in only one calendar (booking resources), then it's possible to configure it with "aggregate" parameter in the Booking Calendar shortcode ( it's possible in all paid versions of Booking Calendar). This parameter makes the dates in the calendar unavailable if these dates were booked in some other booking resources.
      Please check more about "aggregate" parameter in the Booking Calendar shortcode here: https://wpbookingcalendar.com/faq/shortcode-booking-form/

      I will explain it in example of booking separate rooms:

      Example of configuration:

      Booking resources at the WP Booking Calendar > Resources page:

      - Room #1 ( ID = 3 )
      - Room #2 ( ID = 4 )
      - Room #3 ( ID = 5 )

      And you need to insert the Booking Calendar shortcodes into the pages like this

      - Room #1 ( ID = 3 )
      [booking type=3 aggregate='4;5' ]

      - Room #2 ( ID = 4 )
      [booking type=4 aggregate='3;5' ]

      - Room #3 ( ID = 5 )
      [booking type=5 aggregate='4;5' ]
      ....

      If some rooms will be booked for a specific date(s) or times, this date/time will be unavailable in other rooms, as well.
      Kind Regards.

  3. I would like to have a function that automatically changes the hash after 7 days or automatically approves a booking after the same time. It gives the booker time to change their booking for one week. Then it is locked.

  4. Add the ability to create google calander events on booking approval?

    " 'Booking: ' . $booking_data['resource_title'], // Customize as needed
    'location' => !empty($booking_data['location']) ? $booking_data['location'] : 'Online',
    'description' => 'Booking details: ' . $booking_data['form_data'],
    'start' => array(
    'dateTime' => format_google_calendar_date($booking_data['start_date']),
    'timeZone' => get_option('timezone_string', 'UTC'),
    ),
    'end' => array(
    'dateTime' => format_google_calendar_date($booking_data['end_date']),
    'timeZone' => get_option('timezone_string', 'UTC'),
    ),
    'attendees' => array(
    array('email' => $booking_data['email']),
    ),
    );

    // Authenticate and send event to Google Calendar
    $client = get_google_client();
    $service = new Google_Service_Calendar($client);

    try {
    $calendarId = 'primary'; // Use your Google Calendar ID here
    $event = new Google_Service_Calendar_Event($event_data);
    $service->events->insert($calendarId, $event);

    // Log success
    error_log('Google Calendar event created successfully for Booking ID: ' . $booking_id);
    } catch (Exception $e) {
    // Log any errors
    error_log('Failed to create Google Calendar event: ' . $e->getMessage());
    }
    }

    /**
    * Format date for Google Calendar.
    *
    * @param string $date Date in format Y-m-d H:i:s.
    * @return string Date in ISO 8601 format.
    */
    function format_google_calendar_date($date) {
    $datetime = new DateTime($date);
    return $datetime->format(DateTime::ATOM);
    }

    /**
    * Get Google Client for API Authentication.
    *
    * @return Google_Client
    */
    function get_google_client() {
    require_once __DIR__ . '/vendor/autoload.php'; // Adjust path as needed

    $client = new Google_Client();
    $client->setApplicationName('WordPress Google Calendar Integration');
    $client->setScopes(Google_Service_Calendar::CALENDAR);
    $client->setAuthConfig(__DIR__ . '/path-to-credentials.json'); // Add path to your credentials file
    $client->setAccessType('offline');

    return $client;
    }
    "

  5. When setting up payment to an account, please add the creation of a QR code for payment, very useful for customers, pleasant and simple for you

  6. Why didn't I receive an email with payment details after completing my reservation as a customer, even though I have selected bank transfer as my payment method? The order has also disappeared from the order summary.

      • I had to send the email manually from the WordPress menu, I wouldn't have expected it not to go away automatically, oh my god

        • What do you mean from WordPress menu ?

          During creation of the new booking, plugin have to send 2 emails (if such emails enabled and configured) one to admin and one to customer who made the booking.

          In admin panel, if you approve the booking then plugin will send approved email, etc…
          Kind Regards.

          • yes I have it set up, but I don't get an email with payment details. Only an email about the reservation.

      • yes, but why doesn't the email with payment details go to the client immediately after booking automatically? I wouldn't expect that. Also the QR code for payment should be included

        • Hello.
          It is because, usually the payment form showing just after creation of the new booking. And system notify the user only about the creation of the booking.

          If administrator see that the payment was not done for the booking, then administrator can send payment request manually from the Booking Booking Listing page.

          Unfortunately it’s does not possible in actual versions of Booking Calendar.

          Unfortunately the WR codes does not supported, yet. Sorry.

          P.S. Please note we located in timezone UTC +2 and it can be delays in reply, in non working times.
          Kind Regards.

  7. Please advise me, I already had a column under the calendar in the form, such as - number of visitors for the reservation, number of children, etc., I don't have it there anymore, where do I set it up and then edit the numbers, etc.

  8. Is there any hook/way to process some custom functionality after someone booked an Event?
    I need to process some custom functionality after someone booked an Event.

    Thank You.

  9. WPML / Languages Fix, in next release can you add this update to fix a translation bug, line booking.bl.developer.10.10\core\lib\wpbc-calendar-legend.php and ChangeOver is missing in your POT file
    this line will fix the translation bug_ __( $items_arr[ $item_name ]['title'], 'booking' )

    line 459 change for each to :
    foreach ( $params['items'] as $item_name ) {
    if ( ! empty( $items_arr[ $item_name ] ) ) {
    // Generate the HTML
    $calendar_legend_html .= ''
    . ''
    . $items_arr[ $item_name ]['text_for_day_cell']
    . ''
    . '-'
    . ''
    . __( $items_arr[ $item_name ]['title'], 'booking' )
    . ''
    . '';
    }
    }

Leave a Reply

Your email address will not be published. Required fields are marked *

three × one =