Category: Development

Generate Quotations For Prospective Bookings

MIDAS v4.35 introduces support for generating “Quotations” for prospective bookings.

Generate quotations when making tentative bookings
Generate quotations when making tentative bookings

Used in conjunction with the “Tentative Bookings” feature, you can generate quotations for clients when making tentative bookings for them.

Should the client accept and pay the quotation online, their “tentative” booking(s) automatically convert to regular “confirmed” bookings.

A number of configurable options are available with the new Quotations feature, including:

Automatically Update Booking Type

When a quotation is accepted and paid online, MIDAS can automatically update the corresponding booking’s “type” to be any confirmed booking type you’ve already defined.

Choose whether bookings become confirmed if their quotations are partially or fully paid

You can control when a “tentative” booking automatically converts to a “confirmed” booking based on how its associated quotation is paid.

Automatically change a booking's type when a quotation payments are received
Automatically change a booking’s type when a quotation payments are received

MIDAS can either “confirm” a tentative booking on just a partially paid quotation, or only confirm the booking once its quotation has been paid in full.

New Quotation Template

Templates” in MIDAS allow an administrator to customize a range emails, invoices, and more.

There’s already separate templates available for regular, deposit, and cancellation invoices, as well as receipts and credit notes.

v4.35 adds a further template now for your Quotations.

New customizable Quotation template
New customizable Quotation template

The default quotation template is very similar to the default regular invoice template, but introduces some new “placeholder” template variables too.

An example of a new placeholder variable available for the quotation template is “%QUOTEEXPIRES%”.

This special variable is substituted (at time the quotation is printed or emailed) with the date and time that the quotation expires.

By default, a quotation expires when its corresponding tentative booking(s) would expire in MIDAS.

However, there’s a further option available….

Variable quotation terms

As mentioned above, quotations by default are only valid up until the expiration time of their corresponding tentative booking(s).

So as an example, let’s say a tentative booking is made to commence at 9am on a Monday. The tentative booking settings are set to expire the booking if it’s not confirmed at least 2 hours before it is due to commence.

If the tentative booking hasn’t been confirmed by 7am on the Monday, the booking will automatically expire and be removed from the system.

In essence, a quotation generated for the above booking would remain valid until 7am on the day of the booking.

After this time, the quotation (and tentative booking) will have expired.

Now one of the new quotation options allows MIDAS to convert a tentative booking to a confirmed booking is only a partial payment has been made against the quotation.

In such instances, we’ve included an option to allow you to update the quotation’s terms to be the same as your standard invoice terms (i.e. for example 30 days).

Change a quotation's terms upon partial payment
Change a quotation’s terms upon partial payment

This means that as long as a client pays something towards the quotation, they will then have longer to pay the remaining balance, just as if they were paying a regular invoice.


Custom Validation For Required Fields

MIDAS ships with a set of standard booking and client input fields. These input fields allow you to capture specific details about a client and their bookings.

Standard Input Fields In MIDAS
Standard Input Fields In MIDAS

Now some of these fields will always be required. For bookings, a minimum of a date and a venue (room/bookable space) is required. All other booking fields can be set to be optional. Likewise, for clients, a minimum of the client’s name is required. All other client fields can be set to be optional.

Here’s a list of the standard fields which are included in MIDAS by default:

Default Booking FieldsDefault Client Fields
DateClient
Times (Booking)Organization
Times (Setup / Breakdown)E-mail Address
VenueMailing Address
Client / OrganizationTelephone Number
AttendeesFax Number
Booking TypeCell/Mobile Number
Booking NotesClient Notes
Resources

MIDAS also allows you to “turn off” fields that you don’t need. So if you don’t need to capture a client’s fax number, you can disable that field.

But that’s not all – in addition to the standard “default” fields, you can create additional custom booking or client fields in MIDAS.

Adding Custom Fields

A range of different types of custom fields can be created, including:

  • Checkbox – A “tick box” field.
  • File – Allows uploading/attaching of files and documents to bookings or client records (self-hosted systems only)
  • List (Single Select) – A drop-down list of pre-defined items from which a single item may be selected.
  • List (Multi Select) – A drop-down list of pre-defined items from which multiple items may be selected.
  • Number – A field that will only accept numerical input.
  • Range – A “slider” control allowing selection of a numeric value within a defined range.
  • Text – A single-line text field.
  • Text Area – A multi-line text field.
  • URL – A navigable web link to an external resource.

As with standard fields, custom fields can also be set to be “required”. This means that an input is required in the custom field each time it’s shown.

New Validation Feature

For MIDAS v4.34, we’re extending the capabilities of marking custom number, text, text area, and URL fields “required”.

Let’s take the example of a custom single-line text field. Marking this as a required field would ensure that a user would enter something into the field. However, MIDAS wouldn’t check what they’d actually entered. Just entering a single character, or gibberish would be enough to allow you to proceed.

From v4.34 onwards, when setting a custom number, text, text area, and URL field as “required”, you can instruct MIDAS what values are considered “valid” for the field. A user would then need to enter a “valid” value in order to proceed.

Custom Field Validation Using Regular Expressions
Custom Field Validation Using Regular Expressions

A Simple Example

As an example, you could make it so that a user has to enter the word “YES” into a custom text field in order to proceed. If the custom field doesn’t contain the word “YES”, the user will be prompted to correct their entry:

Require Valid Entries In Custom Fields
Require Valid Entries In Custom Fields

The Power Of REGEX

Regular Expressions (REGEX) can be used to create more complex validations for your custom fields too. We’ll cover REGEX in more depth in a future article. In the meantime, as a brief introduction, here are a few simple yet useful REGEX’s for validating entries into your custom fields:

DescriptionREGEX
Value must start with the letters “BOOK”^BOOK
Value must end with the letters “ING”ING$
Value must contain “BOOKING”BOOKING
Value must be exactly “BOOKING”^BOOKING$
Value must contain a number (digit)\d
Value must not contain a number (digit)\D
Value must be exactly “BOOK”, followed by two single digit numbers^BOOK\d\d$

You’ll find further examples together with detailed explanations in our KB article: How to use Regular Expressions for custom input validation.

How To Use

Custom field validation can be setup via MIDAS Admin Options → Manage MIDAS → Fields.

On any custom number, text, text area, or URL fields, right-click (or long press on touch screens) on the field’s “Required” box.

You’ll then be able to set or modify the Regular Expression that should be used to validate entries to the field.


Schedule regular Security Audits

You may not know, but MIDAS includes a built-in “Security Audit” tool.

This allows you to perform a quick and on-demand security analysis of your MIDAS system.

Perform a detailed Security Audit of your MIDAS room booking system
Perform a detailed Security Audit of your MIDAS room booking system

First introduced with the release of MIDAS v4.13 in 2016, the “Security Audit” tool tests a number of key metrics of your MIDAS booking system.

The audit checks your MySQL / MariaDB setup, MIDAS files, and recommended MIDAS security settings.

It provides a detailed report with appropriate advisories for hardening the security of your MIDAS system.

When the Security Audit was first introduced, it analyzed 15 metrics. Today, that number has increased to over 20.

For MIDAS v4.33, the audit now additionally also…

  • Indicates the number of recently failed login attempts to your MIDAS system.
  • Checks whether Geofenced logins have been enabled.

But the biggest improvement to Security Audits for MIDAS v4.33 is the ability to schedule regular automated security audits.

Until now, a Security Audit could only be manually initiated (via MIDAS Admin Options → Manage MIDAS → Security → Perform a Security Audit)

From MIDAS v4.33, you can now use Scheduled Tasks to automatically run a Security Audit and email you the results. Audits can be configured to run every 7, 14, 30, 60, or 90 days.

Schedule automated security audits of your MIDAS booking system
Schedule automated security audits of your MIDAS booking system

Geolocation and Geofencing

We’re excited to announce Geolocation and Geofencing support for our MIDAS room and resource scheduling software.

What is Geolocation?

Geolocation support in MIDAS room booking systems

Geolocation is the process of determining the geographic location of a user’s device. It is used in a variety of applications, such as mapping, navigation, and weather forecasting. A device’s location can be determined using a variety of methods, including GPS, cell tower triangulation, and IP address location.

IP address geolocation is a method of determining the position in the world of an IP address. This can be done by using a variety of methods, including:

  • Reverse DNS lookup: This method involves looking up the IP address in a DNS database to determine the name of the domain that is associated with the IP address. The domain name can then be used to determine the geographic location of the server that hosts the domain.
  • Geolocation databases: These databases contain information about the geographic location of IP addresses. This information is typically collected from a variety of sources, such as ISPs and network operators.

It is important to note that IP address geolocation is not always accurate. The accuracy of IP address geolocation depends on a variety of factors. These include the quality of the geolocation database and the method that is used to determine the geographic location of the IP address.

What is Geofencing?

Geofencing is an extension of geolocation. Once a device’s geographic location can be determined through geolocation, “Geofencing” can be used by a website or application to ensure that devices outside of an authorized area are denied access.

IP geofencing works by creating a virtual radius at a set distance around a fixed point on the globe. By comparing the latitude and longitude coordinates of a user’s device, with this fixed point, the distance between them can be calculated. This calculation will determine whether the user’s device falls within the set virtual radius.

Access form any device which falls outside of a set radius of the central fixed location can then be blocked.

Geolocation applications within MIDAS

Initially, there are two main areas within our booking software where geolocation information can be shown.

First, is the Recent Activity Log. This audit log in MIDAS records all user activity and actions taking place in your booking system. Each entry in the log is time-stamped, and shows the user account and IP address which performed the action.

From MIDAS v4.33, the optional Geolocation addon can be configured to allow location information to be shown for IP addresses in the Recent Activity Log. This location information includes the city, region, and country that the IP address resides in.

The second application for geolocation in MIDAS accompanies the unfamiliar login notifications feature.

The unfamiliar login notifications feature alerts users when their account is signed in to from a new device or location.

These notifications typically include details of the user’s device / browser and their IP address.

Geolocation support now means that you can optionally configure these notifications to now also include the city, region, and country that the login occurred from.

Geofencing applications within MIDAS

Building on the new geolocation support, Geofencing can be used to further enhance the security of your MIDAS system.

It can be used to restrict account logins to certain countries. For example, if your organization only has offices within the United States and the United Kingdom, your colleagues are typically likely to only need to login to MIDAS from within either the US or the UK. You can use geofencing to block any login attempts originating from countries other than the US or the UK.

Restrict MIDAS logins to certain countries
Restrict MIDAS logins to certain countries

Geofencing can additionally (or alternatively) also restrict account logins to within a certain distance from your location. For example, if you run a radio station in Manchester, UK, you could restrict logins to your MIDAS system to within say a 10 mile radius of Manchester.

Restrict MIDAS logins to within a radius of a set geographic location
Restrict MIDAS logins to within a radius of a set geographic location

How to enable Geolocation or Geofencing in MIDAS

The new Geolocation and Geofencing features are available for MIDAS v4.33 (or later) via our optional Geolocation addon.

Existing customers with active subscriptions can obtain this addon via mid.as/upgrade.

If you’re new to MIDAS, you can subscribe with the Geolocation addon via mid.as/pricing.

Geolocation data accuracy

The accuracy of IP geolocation data depends on a number of factors, including the quality and freshness of the geolocation database, the method that is used to determine the geographic location of the IP address, and the type of IP address.

The IP geolocation data we use in the Geolocation addon for MIDAS is never more than 30 days old.

In general, IP geolocation data is most accurate for large geographic areas, such as countries or states. It can become less accurate for smaller geographic areas, such as cities or neighborhoods.

That’s why if you use the distance based geofence features of the Geolocation addon, you should always set a larger liberal distance than necessary, rather than a very small strict distance from your location. The Geolocation addon does include an instant IP lookup test tool, so you can check IP distances before you apply them.

The Geolocation addon also includes “fallback” options for both country / distance geofence enforcement. For IP addresses where a country and/or latitude and longitude coordinates cannot be determined, you can configure MIDAS to either block or allow these connections.

It’s also worth noting that the accuracy of IP geolocation data can be affected by the use of proxy servers and VPNs. Proxy servers and VPNs can mask the true IP address of a device, making it difficult to determine the device’s geographic location.