Email Reminders

Reminders it's ready to send emails, that was created based on Rules from specific Contacts.
It's can be emails that are sending before or after specific time to the event from Contact data.
Like follow-up emails or friendly reminders about upcoming event.

Download

FEATURES

  • Reminders
    • Create and send email reminders and follow-up emails.
    • Automatic sending of email reminders.
    • Manually send specific email reminder(s) from the admin panel.
    • Listing and real time (ajax) text searching of specific email reminders at reminders page. You can easily send or delete certain reminders.
    • You can filter reminders to show only sent or waiting to send emails reminders, or both.
    • Checking the status near each reminder (sent or not sent), as well as the name of the email template that uses the specific email reminder.
  • Contacts
    • Easily create new contact based on customized contact form.
    • Ability to import contacts from CSV files.
    • Native integration with Booking Calendar plugin. Import all existing bookings. Create contacts in real time after creation of new bookings.
    • Real time (ajax) text searching of specific contact.
    • Ability to edit contact details and deletion of specific contacts.
  • Rules
    • Rules configuration for creation of new email-reminders from existing contacts based on multiple parameters. For example, creating new email-reminders from contacts, where the country is USA, and date of creation of contact 7 days ago, etc...
    • Configuration of time based parameters, which provide ability to configure rules, like: "reminder - 1 day before the event", "follow-up email - 7 days after the event", "after 1.5 months", etc...
    • Ability to create several email templates and select specific email templates for specific rules for creation of email reminders.
    • Manually run specific rules to create email reminders from the admin panel.
    • Automatic creation of email reminders.
    • Ability to edit rule details and delete of specific rules.
    • If you have thousands of contacts and you only need to handle the latest and not all together, you can define a contact ID from which the rule will be executed.
  • Other
    • Mobile friendly.
    • Ajax based admin panel.

EMAIL REMINDERS IS GREAT FOR

  • Send friendly reminders about upcoming events.
  • Send follow-up emails after specific action.

FAQ

Email Reminders

Reminders it's ready to send emails, that was created based on Rule(s) from specific Contact(s). It's can be emails that are sending before or after specific time to the event from Contact data. Like follow-up emails or friendly reminders about upcoming event.

How does it all work?

The reminders page lists all your reminders. You can easily send or delete certain reminder.
You can filter reminders to show only sent email reminders or emails reminders pending sending, or both.
Next to each email reminder, you can check the status of this reminder (sent or not sent), as well as the name of the email template that uses the specific email reminder.

To be able to send a specific reminder, you need to determine the name of the email field from the contact data that is used to send emails. You can define it at the Settings page for the "Email field name" option.

1. Create or import contact(s) at contacts menu page.

2. Create rule for creation new reminders at rules menu page.

3. Execute rule - by clicking on "Run" button near specific rule. After this you will have new reminders at current reminders menu page.

4. Now you can send one or multiple email reminders at current reminders menu page.

- Click the "Send" button next to a specific reminder to send it on the reminders page.

- Or select several email reminders (by checking checkbox next to each specific reminder), and then click on Send button on the toolbar. It will send all selected reminders.

Automatic sending "email reminders"
Activate automatic sending "email reminders" option and define the sending time intervals for group of such email reminders.

CRON settings


Open "Email Reminders" > Settings > Automate (CRON) menu page and set checked this option " Enable CRON to send reminders" to send email reminders automatically. Also you can define the time intervals, when CRON system will check for sending email reminders and define Number of reminders to send option.


Instruction for Automatic sending "email reminders" in update 1.0.3 or older.
1. Insert the shortcode into the page to send email reminders.

2. When someone visits this page, the shortcode will send email reminders.

Shortcode configuration:

[email-reminders-send status='init' max_count=20 keyword='United States|Canada|Mexico']

[email-reminders-send is_silent=1 max_count=30 not_keyword='United States|Canada|Mexico']

is_silent [ 1 | 0 ] - show or hide text after running shortcode on page.

status [ string ] - status of reminders: 'init', 'sent'; all reminders, if parameter skipped.

max_count [ integer ] - the maximum number of contacts to process during shortcode execution that match the rule condition, starting from the last processed contact ID.

start_num [ integer ] - start from N reminders to send

keyword [ string ] - Find all variants, like USA and Canada. For example: 'United States'. You can use several terms separated by | symbol, which is work like OR : 'United States|Canada|Mexico|Brazil'

not_keyword [ string ] - Find variants, that does not contain such keywords. Work opposite to keyword parameter.

Contacts in Email Reminders

The term contact refers to the order of your product or service. It must contain all contact details and information about purchased product or service.

At contacts page lists all your contacts. You can easily search for specific contacts by keyword, edit contact details or delete contacts.

Contact fields structure depend on how a particular contact was added:
1) If you add a contact manually, the system uses fields from contact form configuration
2) When importing contacts from a CSV file, the system uses columns as separate fields
3) During importing from the Booking Calendar plugin, the system uses the structure of booking fields from that plugin

You can define specific contact fields as labels, which will be displayed separately with a specific color in the labels column on the contacts page. Labels can be defined as field names on the "Email Reminders > Settings General page" in the contacts section.

1. Configure the fields to add a new contact on Email Reminders > Settings > Contact Form page.

2. Fill in contact details on Email Reminders > Contacts > Add new page.

3. Click the "Add New" button to create a new contact.

1. Please enter a separator for the CSV file, usually it can be a comma (,) or a semicolon (;) on Email Reminders > Contacts > Import CSV page.

2. You can upload and select the CSV file (by clicking the Upload CSV file button), or simply copy / paste the contents of the CSV file into the text field on Email Reminders > Contacts > Import CSV page.

3. Click the Start Import button to start the import process.

4. On the new screen, you can delete specific columns or rows in the CSV table. You can also change the column names - it will determine the name of the contact fields. Please use only standard characters for field names such as A..Za..z0..9_.

5. Click the Save to DB button for saving contacts.

Its possible to import all bookings from the Booking Calendar plugin.

Please note that the bookings import is similar to importing CSV files. Because of this, you need to enter a separator for the CSV file, usually a (;) semicolon.

Note. For automatically import of new bookings, set checked option Auto import on Email Reminders > Contacts > Booking Calendar Import page.

1. Click the Start Import button to start bookings importing on Email Reminders > Contacts > Booking Calendar Import page.

2. On the new screen, you can delete specific columns or rows in the CSV table. You can also change the column names - it will determine the name of the contact fields. Please use only standard characters for fields such as A..Za..z0..9_.

3. Click the Save to DB button for saving contacts.

Rules in Email Reminders

The term rules refers to the conditions for creating contact-based email reminders.

Why do we need rules at all? Such conditions give us great flexibility to create new email reminders depending on any fields in contacts, and not just on certain specific predefined fields.

The rules page lists all your rules. You can easily edit, delete or run certain rules.

Typically, rules should be run once a day to create new email reminders, depending on the date(s) in contacts and current day.
Of course, this can be more often if the conditions depend on the time of day relative to the current day.
Or rarely, if the conditions are not dependent on dates and only on some other fields. In this case, the conditions may depend on how often new contacts are added to the system.

1. Click on "Add New Rule" button.

2. Select the email template you want to use as a email reminder for sending. You can create and customize email templates on the emails settings page.

3. Configure one or several conditions.
Note. If your condition is for a date field, then you can use a configuration that can be used in the strtotime function.

For example:

Sending Reminder email, 1 day before the event.
It means that, if today is "2021-12-01", we need to search for all contacts with check_in date: "2021-12-02" ( e.g. TODAY + 1 DAY). If check_in date field contain times (like 2021-12-02 10:01:00), then we need to use 2 conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

Follow-up email. 7 days after the event (TODAY - 7 DAYS):

check_in > TODAY - 7 DAYS
check_in <= TODAY - 8 DAYS + 1 SECOND

After 1.5 months (TODAY - 1 MONTH - 15 DAYS):

check_in > TODAY - 1 MONTH - 15 DAYS
check_in <= TODAY - 1 MONTH - 15 DAYS + 1 SECOND

4. Click on Create Rule button.

This field indicates the contact ID from which the rule will be executed. This is useful for situations where you have thousands of contacts and you only need to handle the latest and not all together. Please note that the system runs the rule with iterations by 1000 contacts per iteration to distribute the load on the server. And this field is updated automatically after each run. This is also useful in situations where the execution was interrupted for some reason, and the next time you start with the last processed contact lists.

1) You can edit value of this “starting with contact id” field, if you need to run rule from beginning of all contacts. Usually its required, if you have some conditions based on days or times depending from TODAY date. During each new day, you need to run such rule from beginning of contacts list and check daily conditions, like this: TODAY + 1 DAY or this TODAY - 7 DAYS.

2) Click on Edit rule button.

3) Change “starting with contact id” field value to 0 or some other contact ID number, and click on "Save changes" button

4) Or you can simply click on "Reset rule button" and system will set value 0 to “starting with contact id” field.

1. Click on "Run" button to execute specific rule.

2. System will run rule and create email reminders from contacts based on conditions of current rule.

How all this work?

When you click the run button, the system starts processing contacts from the last time checked contact ID.
In case you need to start processing from the beginning of contacts, you can click the Reset button (at right side near specific rule), or edit this rule and set "Rule run starting with contact id" to certain value.
The system process of 1000 contacts per iteration, which you can see on the log screen on the Rules page.

Each rule can have several statuses:
Not Started - when the rule starts from the beginning of contacts.
In Process - the rule was executed early, but all existing contacts have not yet been processed.
Finished - the rule was processed all exist contacts.

This article relative to the "Email Reminders" update 2.0 or newer

Why we need to run rules periodically?
We need to run specific rules periodically, for creation of new email reminders, because usually rules have some conditions based on days or times depending from TODAY date.
For example:

Sending Reminder email, 1 day before the event.
It means that, if today is "2021-12-01", we need to search for all contacts with check_in date: "2021-12-02" ( e.g. TODAY + 1 DAY). If check_in date field contain times (like 2021-12-02 10:01:00), then we need to use 2 conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

Follow-up email. 7 days after the event (TODAY - 7 DAYS):

check_in > TODAY - 7 DAYS
check_in <= TODAY - 8 DAYS + 1 SECOND

After 1.5 months (TODAY - 1 MONTH - 15 DAYS):

check_in > TODAY - 1 MONTH - 15 DAYS
check_in <= TODAY - 1 MONTH - 15 DAYS + 1 SECOND


CRON
Because each next day variable TODAY will have the new value, we need to run such rule(s) periodically each new day
(or during other period of time if you have the different time conditions ). Here CRON system of your website can help to us.

In pure WordPress system it works with pseudo-cron functionality. WordPress Cron is what many people refer to as a "pseudo-cron system". The difference is in how UNIX cron and WordPress Cron take action.

A typical UNIX cron system runs in this order:

  • A time tied to an action occurs.
  • Cron runs the action tied to that time.

With WordPress Cron, it works a little differently:

  • A visitor comes to any page on your WordPress website.
  • WordPress Cron checks each cron event to see whether the scheduled time has been passed.
  • If the scheduled time for that event was passed, then WordPress Cron executes any actions tied to that event.

The detail description about Linux style of CRON commands you can check here. Other example of other CRON commands for other periods of time you can find here.
But usually you can configure your cron script via your server administration panel, like ISP Manager or Cpanel, in easier way via menu and not the commands. Help info about configuration of CRON script in ISP Manager server administration panel you can check here or here (older versions). Help info about configuration of CRON script in Cpanel server administration panel you can check here or here. For more info, please contact support of your hosting. Hosting support should know exactly what server administration panel you are using at your server, and how to configure your CRON script. Note. We do not provide support of configuration CRON at your servers.
Check how to setup the Cron job or read more about Hooking WP-Cron Into the System Task Scheduler, if you are WordPress developer.

The command you want to use in CRON is

wget -qO- https://yourserver.com/wp-cron.php &> /dev/null

Instead of "yourserver.com" use your website DNS.
The reasonable time interval is between 5-15 minutes.
That is */5 * * * * or */15 * * * * for Cron interval setting.


Configuration of Email Reminders Plugin - Automate (CRON) settings.
Open Email Reminders > Rules plugin menu page. When you click on "Add New Rule" button in toolbar or if you click on "Edit" button of exist Rule, you will get screen with configuration of Rule.

Configure CRON rules

Configure CRON rules


Read more about configuration of Rules conditions here. Here we are interesting in "Automate - CRON" section for the Rules.

1. Automatic Rules running
You need to activate "Enable rule run" option and configure additional parameters:

Automate Cron - Rule Run

Automate Cron - Rule Run

  • "next time at" field - define when the rule will start during next time. Leave it empty, if you want to make execution immediately.
  • "recurrence interval" (days / hours / minutes or in seconds ) - define time interval when next time system must to execute this rule starting from "last checked contact id". Check more here.
  • "contacts to process per execution" - it's number of contacts to process by rules per iteration.

    For example, if you defined here value as 1000 contacts, and last checked contact id was 3000, so during current execution of Rule, system will process contacts from 3000 to 4000, then define last checked contact id as 4000, create some email-reminders, from this 1000 processed contacts, if they fit to Rules conditions. And after passed next "recurrence interval" system will start this iteration again from last checked contact id (in our example it's already 4000 ), and so on. Until system will not process all existing contacts.
    Why we don't process all contacts during one step?
    Imagine a situation, if you are having 1 000 000 contacts or more, so in this case, your server just can not process such a big amount of data during one time, and you will have a timeout error. That's why such an option for setting the number of contacts to process gives us great flexibility and scalability for a huge number of contacts to process. This is also useful in situations, where the execution was interrupted for some reason, and the next time you start with the remained contact lists.
  • "approximate time to send reminders:" - it's useful fields, to define when system has to send email-reminders and at what approximate time interval to send email reminders. For example, you can deactivate to NOT send email reminders at Saturday and Sundays, and you can define to send email-reminders only at morning from 10:00 to 12:00 for specific Rule.
    Please note, you can create other Rule with other conditions (for example for visitors from other countries (based on contact fields conditions) to send email-reminders at other time interval, for example from 18:00 to 20:00. It's useful for visitors in other time zone. Please note, you are defined the times based on your server time-zone.

2. Automatic Rules resetting
Activate "Enable resetting" option. This option define "last checked contact id" to initial value (usually it's 0).

Automate Cron - Rule Reset

Automate Cron - Rule Reset

Why do we need to make such resetting of "last checked contact id" ?
Imagine a situation, when we have 14700 contacts. System during TODAY date executed this rule with specific conditions:

check_in > TODAY + 1 DAY ( e.g. 2021-12-02 00:00:00 )
check_in <= TODAY + 2 DAYS - 1 SECOND ( e.g. 2021-12-02 23:59:59 )

System creats several email reminders for sending emails, 1 day before the event. This rule will have status FINISHED at the Rules listing page (check here ).

But what will be during tomorrow with such a rule?
Nothing. Because the status of this rule is finished and we have processed all our contacts. Probably during tomorrow, we need to start this rule again from the beginning of the contact list. In other words we need to set contact ID to 0 for such a rule, and check all our contacts again about creation of new email reminders that will be sent for 1 day before the event (during tomorrow, and etc...). And that is why you need to reset the existed rule by setting "last checked contact id" to 0 (or some other value, if you do not need to start from first contact).
So during tomorrow system will reset contact ID to 0 and will start processing our contacts from beginning. It means that during each next day we will process all contacts and create relative correct email reminders for specific dates.

Now back to our settings. We can define such parameters:

  • "next time at" field - define when next time this rule will set "last checked contact id" to 0 (or some other value). Usually you can define here some date with time, that is early than time of "next time at" field in "Enable rule run" section.
  • "recurrence interval" (days / hours / minutes or in seconds ) - define time interval when next time system have to set "last checked contact id" to 0 (or some other value)
  • "last checked contact id" usually it can be 0, but it's also can be different value, if you do not need to start from first contact (check more here).

3. Automatic sending "email reminders"
Activate automatic sending "email reminders" option and define the sending time intervals for group of such email reminders.

CRON settings


Open "Email Reminders" > Settings > Automate (CRON) menu page and set checked this option " Enable CRON to send reminders" to send email reminders automatically. Also you can define the time intervals, when CRON system will check for sending email reminders and define Number of reminders to send option.

4. Use Server CRON
Define using Server CRON or leave using default WordPress pseudo CRON.
At the "Email Reminders" > Settings > Automate (CRON) menu page you can activate "Enable Server Scheduler" option to use Server CRON instead of WordPress pseudo cron functionality. When enabled WordPress will not spawn Cron anymore. You have to set the Cron on your server.

Please open the Email Reminder > Contacts menu page and recheck field names of the imported bookings.

Probably you will see many other field names that you do not see in the Rules page, such as cost or pay_status, which will define the cost of the booking and payment status.

For ability to see these 2 fields at the Email Reminders > Rules page, please open the Email Reminders > Settings > Contact Form page
and before last
</div>
add the code like this:

<div class="contact-form_field_group">
<div class="contact-form_field">
<label for="[cost]">Cost:</label>
<input type="email" class="edit_contact_text_values" name="[cost]" id="[cost]" value=""/>
</div>
<div class="contact-form_field">
<label for="[pay_status]">Pay status:</label>
<input type="text" class="edit_contact_text_values" name="[pay_status]" id="[pay_status]" value=""/>
</div>
</div>

It will add 2 fields to this form.

Now, you can open the Email Reminders > Rules page and configure your additional conditions by using [cost] and [pay_status] parameters.

This article relative to the "Email Reminders" update 1.0.3 or older

1. Insert the shortcode into the page to create reminders for the specific rule.

2. When someone visits this page, the shortcode starts run rule and reminders are created.
Shortcode configuration:

[email-reminders-rule id=4 max_count=1500 is_silent=1]

id [ integer ] - rule ID to execute.

max_count [ integer ] - the maximum number of contacts to process during shortcode execution that match the rule condition, starting from the last processed contact ID.

is_silent [ 1 | 0 ] - show or hide text after running shortcode on page.

This article relative to the "Email Reminders" update 1.0.3 or older

Imagine a situation, where you are sending email reminders for contacts before 1 day to specific event (or check in day).

Step #1
Usually  your rules condition  have to  be like this:
check_in = TODAY + 1 DAY
or in case, if your event also  have some times,  you have to  use such  2 conditions:

check_in > TODAY + 1 DAY
check_in <= TODAY + 2 DAYS - 1 SECOND

Step #2
For creating email-reminders from  your contacts,  you have to  insert  shortcode for creation  of such  email-reminders into  page A:
[email-reminders-rule id=4 max_count=1500 is_silent=1]
Please check more here https://oplugins.com/faq/email-reminders-how-to-set-up-run-rule-automatically-to-create-reminders/

Step #3
Also you need to inserted the shortcode, for sending these newly created email reminders into the page B:
[email-reminders-send status='init' max_count=100 keyword='United States|Canada|Mexico']
Please check more here https://oplugins.com/faq/email-reminders-how-to-set-up-automatic-sending-of-reminders/

Now when someone visit the page A (with shortcode for creation of email reminders), plugin will run rule (starting from contact ID that you have defined during creation of that rule (usually contact ID = 0), and process 1500 contacts (it's number that you have defined in the shortcode with parameter max_count=1500, e.g. [email-reminders-rule id=4 max_count=1500 is_silent=1]).
If you have more than  1500  contacts (for example 14700),  then  when  someone opens this page A for another time,  the system  will  start to run  rule from  last processed contact  (in our case it's contact  with  ID = 1500)  and process the next  1500  contacts. During this time the plugin processed 3000 contacts. It means that  for processing all  14700 contacts,  page A has to  be opened 10 times - for execution  shortcode [email-reminders-rule id=4 max_count=1500 is_silent=1] for 10  times.

Why  do we not process all  contacts during one step ?
Imagine a situation, if you are having 1 000 000 contacts or more,  so  in this case,  your server just  does not process such a big amount of data during one time,  and you will  have a timeout error. That's why such an option for setting the number of contacts to  process gives us great  flexibility and scalability for a huge number of contacts to process. This is also useful in situations, where the execution was interrupted for some reason, and the next time you start with the last processed contact lists.

Now back to our subject.
Probably some visitors opened page A during 10 times,  and we have processed all  our contacts with this shortcode [email-reminders-rule id=4 max_count=1500 is_silent=1]. It means that the plugin has stopped at 14700 contact ID.
Probably during today was created several email reminders. And another shortcode at page B was sent all such  email reminders,  that is to remind customers before 1 day  to  specific event.
Such a rule will  have status FINISHED at the Rules listing page.

But what will be during tomorrow with such a rule?
Nothing. Because we are having status of this rule as finished and we have processed all  our contacts.
Probably  during tomorrow,  we need to  start  this rule again from the beginning of the contact list. In other words we need to  set  contact  ID to 0  for such a rule,  and check  all  our contacts again  about creation  of email reminders that  will  be sent for 1 day  before the event (but during tomorrow, and etc...)

And because of all  this in version 1.0.2 you are having the ability to  define when  specific rule will be EXPIRED.
During creation or editing of the rule, you can  define "Expire period" and start time when  this period is starting.
So  in our example we need to  define the expiration period as 1 day.
And during tomorrow system will reset contact  ID to 0  and will start  processing our contacts from  beginning.
It means that during each  next  day  we will  process all  contacts and create relative correct email reminders for specific dates.

Premium Addons - extend functionality for "Email Reminders" plugin


"Multiple Custom Forms" addon for for "Email Reminders" plugin

Create and configure unlimited number of custom forms with different form fields.
Use these forms during adding new contacts, if you need to use different fields.
Why do we need multiple custom forms?

In case you are adding new contacts from several different sources, which means having different form fields for different clients, then you need to be able to create multiple custom forms with different fields.
For example, you can manually add a contact with one list of form fields, but import contacts from a CSV file or from a booking calendar from other form fields. For editing these contacts correctly, you need to define several different custom contact forms with specific fields.

How do I create a new custom form?

You can add a new custom contact form from the Email Reminders > Settings > Contact Form page by clicking the Add New Form button on the toolbar. Enter a name for the new form and click the Create + button. After this page is loaded, you can set up your new contact form. Then click the "Save Changes" button.

Where can I choose a custom form?

You can select a specific custom form when adding a new contact to the system to be able to have specific fields in that contact.
Open Email Reminders > Contacts > Add New Page. From the toolbar, select a specific custom contact form, then fill in the form fields and click the Add New button to add this new contact.

Please note that while you are editing this contact, the system will automatically select this specific “custom contact form” that you used when adding this new contact.

Booking Manager Shortcodes

Shortcodes - Booking Manager plugin


Go to Booking Manager page

Events Listing from .ics feed

[booking-manager-listing url='https://server.com/feed.ics' from='2017-08-06' until='week' until_offset='4h' max=500]

Parameters:

  • url - URL to ics file
  • from (optional) - define from what date to start events listing.

    • Parameter values:
    • any - from any date. Default value.
    • now - from current date/time, like 2017-08-27 12:00
    • today - from today date, like 2017-08-27 00:00
    • week - from start of current week, depending from start week day, wchich you defined at the Settings
    • month-start - from start of current month, like 2017-08-01
    • month-end - from end of current month, like 2017-08-31
    • year-start - from start of current year, like 2017-01-01
    • YYYY-MM-DD - defining specific start date in format like this 2017-08-27
  • from_offset (optional) - offset from start date of listing events. Parameter can be negative.

    • Parameter values:
    • Xd - number of days to offset, where X - days number, like 5d.
    • Xh - number of hours to offset, where X - hours number, like 10h.
    • Xm - number of minutes to offset, where X - minutes number, like 45m.
    • Xs - number of seconds to offset, where X - seconds number, like 30s.
  • until (optional) - define untill what date to list the events.

    • Parameter values:
    • any - untill any date. Default value.
    • now - untill current date/time, like 2017-08-27 12:00
    • today - untill today date, like 2017-08-27 00:00
    • week - untill start of current week, depending from start week day, wchich you defined at the Settings
    • month-start - untill start of current month, like 2017-08-01
    • month-end - untill end of current month, like 2017-08-31
    • year-end - untill end of current year, like 2017-12-31
    • YYYY-MM-DD - defining specific finish date in format like this 2017-08-27
  • until_offset (optional) - offset from end date of listing events. Parameter can be negative.

    • Parameter values:
    • Xd - number of days to offset, where X - days number, like 5d.
    • Xh - number of hours to offset, where X - hours number, like 10h.
    • Xm - number of minutes to offset, where X - minutes number, like 45m.
    • Xs - number of seconds to offset, where X - seconds number, like 30s.
  • is_all_dates_in (optional) - show event, if all events dates or if at least one event date withing conditional paramters from / untill.

    • Parameter values:
    • 0 - show event, if at leat one event date in conditional interval. Default value.
    • 1 - do not show event, if al least 1 day not in conditional interval.
  • max (optional) - maximum number of events to show

Import bookings from .ics feed into Booking Calendar

[booking-manager-import url='https://calendar.google.com/calendar/ical/CALENDAR_ID/public/basic.ics' resource_id=1419 from='today' until='any']

Parameters:

  • url - URL to ics file
  • resource_id (optional) - define ID of booking resource, where to import bookings. By default = 1.
  • import_conditions (optional) - whether import bookings for dates, that already booked in specific booking resource

    • Parameter values:
    • if parameter have skipped, then import in any case
    • if_dates_free - import only, if days are available.

      Please note that in Booking Calendar update 9.9, there is an option called "Import if Dates Available" located at Booking > Settings > Sync > "General" page in the "Import advanced" section. This option duplicates the functionality mentioned. If you skip this parameter in the shortcode and need to import new events regardless of the availability of dates in the source calendar, be sure to deactivate the option "Import if Dates Available" in Booking > Settings > Sync > "General" page as well.

  • from (optional) - define from what date to start events listing.

    • Parameter values:
    • any - from any date. Default value.
    • now - from current date/time, like 2017-08-27 12:00
    • today - from today date, like 2017-08-27 00:00
    • week - from start of current week, depending from start week day, wchich you defined at the Settings
    • month-start - from start of current month, like 2017-08-01
    • month-end - from end of current month, like 2017-08-31
    • year-start - from start of current year, like 2017-01-01
    • YYYY-MM-DD - defining specific start date in format like this 2017-08-27
  • from_offset (optional) - offset from start date of listing events. Parameter can be negative.

    • Parameter values:
    • Xd - number of days to offset, where X - days number, like 5d.
    • Xh - number of hours to offset, where X - hours number, like 10h.
    • Xm - number of minutes to offset, where X - minutes number, like 45m.
    • Xs - number of seconds to offset, where X - seconds number, like 30s.
  • until (optional) - define untill what date to list the events.

    • Parameter values:
    • any - untill any date. Default value.
    • now - untill current date/time, like 2017-08-27 12:00
    • today - untill today date, like 2017-08-27 00:00
    • week - untill start of current week, depending from start week day, wchich you defined at the Settings
    • month-start - untill start of current month, like 2017-08-01
    • month-end - untill end of current month, like 2017-08-31
    • year-end - untill end of current year, like 2017-12-31
    • YYYY-MM-DD - defining specific finish date in format like this 2017-08-27
  • until_offset (optional) - offset from end date of listing events. Parameter can be negative.

    • Parameter values:
    • Xd - number of days to offset, where X - days number, like 5d.
    • Xh - number of hours to offset, where X - hours number, like 10h.
    • Xm - number of minutes to offset, where X - minutes number, like 45m.
    • Xs - number of seconds to offset, where X - seconds number, like 30s.
  • is_all_dates_in (optional) - show event, if all events dates or if at least one event date withing conditional paramters from / untill.

    • Parameter values:
    • 0 - import event, if at leat one event date in conditional interval.
    • 1 - do not import event, if al least 1 day not in conditional interval. Default value.
  • max (optional) - maximum number of events to show
  • delete='skip' (optional) - prevent of deletion of all previous imported bookings, even if you activated option "Trash / delete all imported bookings before new import" at the Booking > Settings > Sync > "General" page.
  • silence=1 (optional) - do not show message: "Imported N bookings" at the page, after import bookings.

Delete imported bookings in specific booking resource of the Booking Calendar

[booking-manager-delete resource_id=1 action='delete']

This shortcode move all previously imported bookings to trash or permanently delete, usually before new import bookings.
It is means that you can insert this shortcode before import shortcode to have the imported bookings always up to date. Even if you modified or deleted the bookings in external sources, like AirBnb, or booking.com websites.
Its can resolve issue of updating deleted and edited events in external sources.

Parameters:

  • resource_id (optional) - define ID of booking resource, where to import bookings (default value = 1).
  • action (optional) - delete or move bookings to trash.

    • Parameter values:
    • trash - move bookings to the Trash (default value).
    • delete - permanently delete all imported bookings of specific booking resource.

Usual configuration to have updated events in the Booking Calendar can be look like this:


[booking-manager-delete resource_id=1 action='delete']
[booking-manager-import url='https://URL_to_AIRBNB/basic.ics' resource_id=1 import_conditions='if_dates_free' from='today' until='any' silence=1]
[booking-manager-import url='https://URL_to_BOOKING_COM/basic.ics' resource_id=1 import_conditions='if_dates_free' from='today' until='any' silence=1]

Secure Downloads

Secure Downloads - WordPress Plugin

Easy generate and distribute secure links for file downloads, that can expire, and track every download.

Download

Secure Downloads - WordPress plugin, that generate secure download links for protected files and can send emails to your clients for downloading. Links can expire after a predefined time and you can set IP lock for specific download. Download links does not show real location of files at your server. You can track every download of files by receiving email about file download with detailed info about download.

FEATURES

  • Securely distribute your files and track every download.
  • Upload your files via familiar WP interface.
  • Define Title, Description and Version Number at "Attachment details" for your protected files.
  • Plugin upload files into secure, protected folder. Website visitors will not have direct access to such files.
  • Generate secure links to your protected files, which does not show real location of file.
  • Links can expire after specific time.
  • Links can be locked to specific IP or IP mask (network).
  • Configure email template with different parameters.
  • Send emails to your customers with secure links for download your protected files.
  • Monitor downloading of each files, by receiving email notification about file download with detailed info about download.
  • Fast configure your protected files via CSV form. Useful for saving or editing list of files in one form.
  • Easy reorder list of files via drag and drop interface.
  • Configure URLs for pages with warning, like "link expired notice".
  • Mobile friendly.

SECURE DOWNLOADS IS GREAT FOR

  • Distribute you files after purchase
  • Delivery updates of your products to your customers

Premium Addons - extend functionality for "Secure Downloads" plugin


"MULTIPLE CUSTOM EMAILS" addon for for "Secure Downloads" plugin

Create and configure unlimited number of custom email templates. Use these templates during sending emails to your customers, if you need to send different email relative to different product or depend from customer. "Custom emails" support sending emails to user without selections of specific product (its useful in case, if you need to send some notification without link to file). You will be able to delete your previously created emails, as well.

Addon Cost
Multiple Custom Emails for "Secure Downloads"   (Single Site) $ 29.00 (USD) Buy Now
Secure ordering provided by FastSpring
Secure ordering by FastSpring
Note! After purchase you will receive email with download link to your billing email (if you do not see email in inbox, please check your SPAM folder).
If you will have some questions, you can contact directly for help.

Booking Manager

Download

Booking Manager plugin can easily show list of events in customizable way from external .ics feeds.

Booking Manager have native integration with Booking Calendar plugin. It can sync bookings from Booking Calendar with different sources (Airbnb, Booking.com, HomeAway, TripAdvisor, VRBO, FlipKey and any other calendar that uses .ics format).


= FEATURES =

  • List of events from external .ics feeds.
  • Ability to upload .ics file(s) to your website and use it.
  • Customization of events listing template - it's how events showing at front-end side of your website.
  • Easily inserting shortcode for events listing into any post or page via popup dialog, where you can select different parameters.
  • Setting different parameters for events listing, like "start from" and "finish to" dates, etc...
  • Native integration with Booking Calendar plugin.
  • Sync bookings from Booking Calendar with different sources (Airbnb, Booking.com, HomeAway, TripAdvisor, VRBO, FlipKey and any other calendar that uses .ics format).
  • Import .ics feeds (files) into Booking Calendar. Its useful, if you need to import bookings from multiple external websites into one calendar in Booking Calendar plugin.
  • Export .ics feeds (files) from Booking Calendar. You can publish bookings from Booking Calendar as .ics feeds at different pages, and then import such bookings in your other different website, like Airbnb.
  • Configure URLs for pages where you want to publish your ics feeds.
  • Mobile friendly.

= BOOKING MANAGER IS GREAT FOR =

  • Showing events at your website from .ics feeds.
  • Sync bookings from different sources with Booking Calendar plugin.

= FAQ =

How to start showing events from .ics feeds (files)?

  1. Open "oPlugins Panel" menu page in WordPress admin panel
  2. Upload .ics file via this page or simply use URL to .ics feed from external website
  3. Insert into page or post the shortcode for listing events from .ics feed. Please click on insert shortcode button in edit content toolbar at edit post page. Then in popup dialog select your parameters for showing events and click on Insert button. Save changes. Test it.
How to start import of .ics feeds (files)?

  1. Install Booking Calendar plugin.
  2. Insert [booking-manager-import ...] shortcode into some post(s) or page(s) easily via configuration popup window. Please click on insert shortcode button in edit content toolbar at edit post page.
  3. Using such shortcodes in pages give a great flexibility to import from different .ics feeds (sources) into the same resource (calendar). Also it's possible to define different CRON parameters for accessing such different pages with different time intervals.
  4. Or you can import .ics feed or file directly at Booking > Settings > Sync > Import page.
How to start export of .ics feeds (files)?

  1. Install Booking Calendar plugin.
  2. Configure ULR feed(s) at the Booking > Settings > Sync > Export page.
  3. Using such URL(s) you can import .ics feeds, from interface of other websites. Check more info about how to import .ics feeds into other websites at the support pages of specific website.
  4. Visit these (previously configured URL feeds) pages for downloading .ics files (for example by configuring CRON at your server).

Shortcode for Events Listing from .ics feed at your post or page

Shortcode for import bookings from .ics feed into Booking Calendar

Booking Calendar

WordPress plugin for online booking & availability checking service

Booking Calendar – provides an ultimate booking system for your WordPress site.

Visitors to your site will be able to check availability and make reservations for specific day(s) or time slots. Your customers can even search available properties or services for the specific dates and pay online for their own bookings.

You will receive email notifications and can manage the reservations in the intuitive and powerful booking admin panel. Booking Calendar is built to work out of the box, but you can still freely configure different settings for the best fit to your business workflow processes and customize the form and calendar for a natural fit to your site design.

Check overview of different versions and test live demos at Booking Calendar website: wpbookingcalendar.com

Versions of Booking Calendar

Loading...
Features
Free
Personal
Business Small
Business Medium
Best Deal
Business Large
MultiUser
Cost of Single Site edition versions (usage on 1 website):
normally $79
$41.87
Buy Now
normally $149
$78.97
Buy Now
normally $249
$131.97
Buy Now
normally $349
$184.97
Buy Now
normally $649
$343.97
Buy Now
Cost of Developer edition versions (usage on 2 websites):
normally $119
$31.54
per site
Total $63.07
Buy Now
normally $199
$52.73
per site
Total $105.47
Buy Now
normally $399
$105.73
per site
Total $211.47
Buy Now
normally $499
$132.24
per site
Total $264.47
Buy Now
normally $799
$211.74
per site
Total $423.47
Buy Now
Cost of Multi Site edition versions (usage on 5 websites):
normally $149
$15.79
per site
Total $78.97
Buy Now
normally $299
$31.69
per site
Total $158.47
Buy Now
normally $499
$52.89
per site
Total $264.47
Buy Now
normally $599
$63.49
per site
Total $317.47
Buy Now
normally $899
$95.29
per site
Total $476.47
Buy Now
  • After your purchase, we will send you an invoice and a download link to your billing email address. Alternatively, you can download your purchased version from the update request page.
  • It is an one-time cost, and you can use the purchased version for as long as you need it on your website. You can request free updates for 6 months after the purchase, or extend this period relative to updates policy.
  • No-Risk. 14 days money-back guarantee, according to our refund policy.
Secure ordering provided by FastSpring
Booking Calendar Personal or higher
Multiple booking resources (calendars)
Create an unlimited number of booking resources (calendars), which can be your services, properties, or any other items that can be booked by visitors in separate unique calendars.
Advanced configuration of booking form and emails
Fully customize the appearance of your booking form and email templates.
Manage bookings
Perform various actions such as CSV export, adding notes, editing, duplicating, changing resources, and much more...
Booking Calendar Business Small or higher
Online Payments
Accept online payments for your bookings, with support for various payment gateways such as Stripe, PayPal Standard and PayPal Pro Hosted Solution (it is not the PayPal Pro), Authorize.Net, Sage Pay, iDEAL Buckaroo (former Sisow), iPay88, Pay in Cash and Bank Transfer (show text info and not connect to bank system)
Changeover Days
Enable split bookings marked by vertical or diagonal lines, allowing visitors to check out and check in on the same date.
Range days selection
Easily enable week(s) or any specific number of days selection with 1 or 2 mouse clicks, and configure minimum and maximum number of days, as well as specific start weekdays for selections.
Auto Approval / Cancellation
Set up automatic cancellation of unpaid pending bookings after a specific time, or enable auto-approval for incoming bookings.
Advanced Hourly Bookings
Increase the flexibility of your Booking Calendar by allowing visitors to book specific start and end times or duration of time, ensuring precise scheduling for your services.
Booking Calendar Business Medium or higher
Seasonal Prices
Customize the daily cost (rates) for different seasons or week days with fixed costs per day or as a percentage from original daily cost.
Multi-Day Pricing
Set different cost of booking based on the number of selected days, and the ability to apply these costs only if the "Check In" day falls within a specific season.
Last Minute Booking Discount
Offer a discount for bookings, if the difference between the booking date and the check-in date is less than a specified number of days.
Early Booking Discounts
Set a discount for bookings made in advance, if the difference between the booking date and the check-in date is greater than a specified number of days.
Advanced cost
Configure the booking cost based on the options selected in the form, by adding extra charges such as taxes, additional services, or by adjusting the cost based on the number of visitors.
Deposit payments
Allows visitors to pay a part of the booking cost such as a fixed deposit value or percentage of the original booking cost after creating a booking.
Multiple Custom Forms
Create multiple form configurations, allowing you to use different forms with different form fields for each of your booking resources.
Advanced days selection
Customize the specific number of days that can be selected on specific weekdays or during certain seasons or allow specific start week days on certain season.
Different time-slots on different days
Configure different time slots for different week days or seasons.
Advanced Season Availability
Set unavailable days for specific seasons, such as holidays or weekends during summer, using conditional season filters.
Availability from Today
Limit or define the number of available/unavailable days starting from today.
Unavailable time before or after a booking
Setting the number of unavailable minutes, hours, or days needed for cleaning or other services, applicable to bookings with time slots or change-over days feature.
Booking Calendar Business Large or higher
Capacity and Availability
Set the the maximum number of bookings that can be made per full day in calendar, and ensure that dates in the calendar are only available until the capacity is reached.
Search Availability
Allows your website visitors to quickly search for available booking resources such as properties or services by entering check-in/out dates and other criteria like the number of guests or specific amenities.
Coupons for Discounts
Offer discounts to your visitors by creating coupon codes that can be entered in the booking form.
Auto-Cancel Pending Bookings
Enable automatic cancellation of pending bookings for specific dates when you approve booking for the same resource.
Booking Calendar MultiUser version
MultiUser Booking Admin Panels
Enable each registered WordPress user to have their own individual booking admin panel, where they can see and manage only their own bookings, resources, and settings. This includes the ability to configure their own independent booking form, receive notifications to own separate emails, and activate payment gateways for their own payment accounts.
Independent configuration of Form Fields
Independent configuration of Email Templates
Independent configuration of Booking Resources
Independent configuration of Payment Gateways
Features
Free
Personal
Business Small
Business Medium
Business Large
MultiUser
Cost of Single Site edition versions (usage on 1 website):
normally $79
$41.87
Buy Now
normally $149
$78.97
Buy Now
normally $249
$131.97
Buy Now
normally $349
$184.97
Buy Now
normally $649
$343.97
Buy Now
Cost of Developer edition versions (usage on 2 websites):
normally $119
$31.54
per site
Total $63.07
Buy Now
normally $199
$52.73
per site
Total $105.47
Buy Now
normally $399
$105.73
per site
Total $211.47
Buy Now
normally $499
$132.24
per site
Total $264.47
Buy Now
normally $799
$211.74
per site
Total $423.47
Buy Now
Cost of Multi Site edition versions (usage on 5 websites):
normally $149
$15.79
per site
Total $78.97
Buy Now
normally $299
$31.69
per site
Total $158.47
Buy Now
normally $499
$52.89
per site
Total $264.47
Buy Now
normally $599
$63.49
per site
Total $317.47
Buy Now
normally $899
$95.29
per site
Total $476.47
Buy Now
  • After your purchase, we will send you an invoice and a download link to your billing email address. Alternatively, you can download your purchased version from the update request page.
  • It is an one-time cost, and you can use the purchased version for as long as you need it on your website. You can request free updates for 6 months after the purchase, or extend this period relative to updates policy.
  • No-Risk. 14 days money-back guarantee, according to our refund policy.
Secure ordering provided by FastSpring
1* All prices are in USD.


Pre-Sales Questions

It's one time cost. You can use your purchased version of plugin as long as you need on your website.

Also, you can request free updates your premium version of plugin (if such updates ready) during 6 months after purchase of plugin.
If you will need to extend period (of support and getting free updates) to the next 6 months, it will cost 50% from the original cost.

You can request free updates your premium version of plugin (if such updates ready) during 6 months after purchase of plugin.
If you will need to extend period (of support and getting free updates) to the next 6 months, it will cost 50% from the original cost.

Each specific premium version of plugin can be single site usage version, developer or multi site usage version.
Single site usage version, possible to install and activate only at 1 specific website.
Developer edition version, possible to install and activate at 2 different websites. Its can be test (developer) server and live website.
Multi site usage version, possible to install and activate maximum on 5 different websites.

Yes, its possible to make upgrade from lower version to the higher versions of the same editions (for example from the Booking Calendar Personal single site usage version to the Booking Calendar Business Small single site usage version).
But its does not possible to make upgrade from the single site usage version to the "developer" or multi site usage versions or from the "developer" to the multi site usage versions.
The cost of upgrade from the lower to higher versions, usually higher than difference in cost between 2 versions.
The cost of upgrade from the lower to higher versions of single site usage versions higher on $20 than difference in cost between 2 versions.
The cost of upgrade from the lower to higher versions of "developer" edition versions higher on $30 than difference in cost between 2 versions.
The cost of upgrade from the lower to higher versions of multi site usage versions higher on $50 than difference in cost between 2 versions.

Unfortunately we can not make personal customization or custom development on customer demand. But we can add features, that you need to our TODO list for implementing them in a future updates. You can send your request of specific feature.
Please note, we can not specify some approximate time for implementation of the specific feature but we will make the best to implement specific feature ASAP.

You can check overview of different Booking Calendar versions.
Also you can watch video guides of main features of premium versions of Booking Calendar here.
You can test live demo of specific versions (both client and admin sides) to be sure in functionality and do not have misunderstanding.