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.


Our MIDAS room and resource scheduling software is available in two editions, a “cloud-hosted” edition and a “self-hosted” edition.

These days, around two thirds of our customers opt for our cloud-hosted edition. Despite this, we’re still very much committed though to offering and supporting a self-hosted edition too.

Now, one of the challenges in developing a web-based application like MIDAS is that it relies on 3rd party components.

For example, to run a web based application, you first need a web server that supports the coding language the web application is written in. You also need a database server to store data for the application.

Countless combinations

Web servers first and foremost need an operating system (like Windows or Linux). They also require underlaying web server software – such as Apache or IIS – to name just two. There are of course numerous operating systems and server software, with different variations and configurations of each.

MIDAS is written in Perl. There are a number of different “flavors” of Perl for different operating systems. For example, on Windows servers both ActivePerl and Strawberry Perl are available.

Finally database servers; MIDAS currently supports MySQL and MariaDB databases, and different versions of each of these.

Here at MIDAS HQ, we have test MIDAS systems running on a range of common setups. However, it would be virtually impossible for us to test our software on every conceivable combination of Operating System, Web Server, Perl, and Database versions.

Although rare, if a self-hosted customer encounters an issue with our software on their particular setup, we’re usually able to replicate it in our labs and provide a solution.

Very occasionally though a self-hosted customer encounters an issue which we’re not able to readily identify and reproduce.

As we (rightly) don’t have access to self-hosted customer’s own servers, this can make troubleshooting challenging.

It can be even more challenging if the self-hosted customer (or their IT provider) is not especially server-savvy. For instance, we may occasionally request files from a customer to aid in our troubleshooting…

A real-world example

In a recent support request, a self-hosted customer encountered an issue after updating their MIDAS system. We weren’t able to immediately replicate this in our testing, and so we requested additional information from the customer. The customer had to contact their IT supplier for assistance in retrieving these files from their MIDAS. Their IT supplier was slow in providing the requested information, which we didn’t receive for a couple of weeks.

Once in receipt of the additional information, however, we were able to identify and resolve the issue within a couple of hours. The customer though was understandably frustrated that it had taken two weeks to resolve (due to the delay with their IT supplier).

As a result of this, we decided to take steps to make it easier for us to support self-hosted customers in the future.

Helping us to help you!

So starting with MIDAS v4.33, there’s now an option for a self-hosted customer to send us diagnostic information directly from within their MIDAS system. This bypasses situations where a customer may have to contact or raise a ticket with their external IT support/provider in order for us to assist them.

If you run into an issue with your self-hosted MIDAS system, our support team may provide you with a “Support Code”. Simply login to your MIDAS system and go to MIDAS Admin Options → Manage MIDAS → Database → Database Tools, and select “Send Support Bundle”.

Easily send diagnostic data to the MIDAS support team
Easily send diagnostic data to the MIDAS support team

You’ll be prompted to enter your Support Code before clicking the “Send Support Bundle to MIDAS” button. Your MIDAS system will then self-generate diagnostic information. This information is then securely sent to our support team for further analysis.

The following data is included within the support bundle that’s securely transmitted to MIDAS HQ:

  • A copy of the program files which make up your MIDAS system
  • A copy of the settings file for your MIDAS system
  • A copy of your MIDAS database
  • A copy of any MIDAS debug logs
  • Information on your server setup

This diagnostic data can really aid our support team speed up the diagnosis of the potential issue you’re having with your self-hosted MIDAS system.


World Backup Day 2022

The 31st of March each year is World Backup Day. This day is designed to help raise awareness of the importance of keeping your critical data backed-up.

A “backup” is an additional copy of all your important files and data – for example, your family photos, home videos, documents and emails.

Instead of keeping a single copy just in one place (like your computer), the idea is that you also keep another secondary copy of everything somewhere else as well. That way, if anything should happen to the device where your original data is stored, you’ll still have a “backup” copy stored elsewhere.

Here at MIDAS HQ, we strongly believe in the importance of regularly backing-up data you can’t afford to loose. We’ve built in a number of backup features to our leading room booking and resource scheduling software to do just that!

How MIDAS backs up your data

MIDAS seamlessly makes complete and automated backups of its own database. It does this upon the first successful login each and every day. These backups are compressed, and typically backups are less than 1MB each in size. Backups are also encrypted, and stored on your MIDAS server for a length of time you specify, typically 7-30 days.

To further protect your data, these automated daily backups can optionally also be emailed daily to a specific email address too. This feature allows you to retain your own “off-site” copies of your MIDAS data within no effort!

In addition to the automated daily backups which your MIDAS system takes, we also provide the ability to instantly generate an backup at any time too! An administrator can navigate to MIDAS Admin Options → Manage MIDAS → Database, and use the one-click “Backup Now” button. We really couldn’t make it easier to backup your MIDAS data on-demand!

Restoring Backups

Database backups (whether generated manually or automatically) can be easily and readily restored at any time. You can choose to partially restore a part of a backup, or restore it in full – at any time, all through a simple interface. This may be accessed through MIDAS Admin Options → Manage MIDAS → Database → Restore. So, should you ever wish to “roll back” your MIDAS system to an earlier point in time, or if you suffer a massive server failure and loose data, you can have your MIDAS system back up and running again in no time!

Database Backup and Restore in MIDAS
Database Backup and Restore in MIDAS

For more information on the backup and restore features of MIDAS, please see mid.as/help/manage-database-settings

For our “cloud hosted” customers, we also take complete database backups three times a day. A daily backup is then separately stored off-site for a period of six months.

So as you’ll see from the above features and processes we’ve built into our software, we take backups seriously! We make it painless to ensure your important MIDAS booking data can be easily backed up and restored with minimal fuss!

Whilst you can be confident your MIDAS data is taken care of, why not take a moment to backup your own important personal files on World Backup Day? Your family photos, home videos, documents and emails are important! Can you afford to loose them!? Yes, it may be a little tedious, but you’ll be glad you did should anything ever happen to your files!

How many backups of my important data should I make?

As a general rule, it’s a good idea to have at least three copies of your important data. At least one of these copies should be kept off-site or in the cloud. This is known as the 3-2-1 backup rule.

Here’s what it means:

  • Keep at least three copies of your data, including the original data and two backups.
  • Store the copies on two different types of media, such as an external hard drive and a cloud storage service.
  • Keep one of the backups off-site. Either in a different physical location or in the cloud, to protect against disasters like fire, theft, or flooding.

By following the 3-2-1 backup rule, you can ensure your important data is protected even if one copy is lost, damaged, or destroyed.

It’s also a good idea to regularly test your backups too! Testing a backups ensure they are working properly in the event you’ll need to access them. It’s important to update your backups regularly too – to keep them current.


We recently looked into how long a software’s free trial should last. In doing so, we analyzed numerous competitors who also offer room booking, scheduling, and appointment software.

As part of our research, we were quite surprised at the number of vendors who didn’t display pricing information for their software anywhere on their websites.

In fact, out of the 72 vendors we analyzed, 31% of them didn’t display pricing on their websites.

Software Vendors Displaying Pricing Information On Their Websites
Software Vendors Displaying Pricing Information On Their Websites

Of the 22 vendors who didn’t publish pricing, 10 actually made no reference to the cost of their software at all!

The 12 remaining vendors encouraged those interested in purchasing or subscribing to their software to instead contact them for a price.

Why do some software vendors not display any prices on their websites?

There are a number of reasons why a software vendor might choose not to display prices on their website:

  1. Their software is customized for each customer and the price will depend on the specific requirements of the customer.
  2. The software is sold through a network of resellers or distributors. The final price will depend on the specific terms and conditions agreed upon between the vendor and the reseller.
  3. The software is offered on a subscription basis. The price will depend on the length of the subscription and the number of users.
  4. The vendor is trying to create a sense of exclusivity or scarcity around their product. They believe that by not displaying prices they can generate more interest and demand.
  5. The vendor gives different pricing deals to different customers. If they think they can get away with charging certain customers more than others for the same product/service, they won’t publish pricing on their website.

Let’s take a closer look at each of these…

The software is customized for each customer

All of the software vendors we looked at offered standard “off the shelf” software solutions. By this, we mean that the exact same software product is supplied to multiple customers. Whilst some vendors may offer additional one-off bespoke customizations, there were no indications that any vendor supplied each and every customer with bespoke software.

Here are MIDAS, we don’t understand therefore how this could be a justification for not displaying prices.

Whilst we ourselves occasionally do the odd bespoke customization for customers, any such customization is an additional cost. It does not affect the basic price of our software, and doesn’t prevent us from displaying prices.

The software is sold through resellers

Out of the 72 software vendors we analyzed, we could only find one who didn’t sell their software directly to customers through their own website. Instead, for this vendor a “How to buy” link on their website led to a “Find a local reseller” form.

All other vendors sold directly to end-customers themselves.

Therefore, aside from the one vendor who sells through resellers, this shouldn’t be a reason for other vendors to hide their prices.

The software is offered on a subscription basis and has different pricing tiers

Some subscription based software is offered at a fixed monthly or annual price for all customers. Other vendors may adopt a simple “tiered” approach – offing perhaps a very limited “Basic” package to start with. Followed by “Standard” and “Pro” packages at increasing cost.

Other vendors may offer a wider range of prices based upon specific criteria. For instance, when it comes to booking or scheduling software solutions, the price may depend on the number of bookings that can be made over a given period of time.

However, even if there are multiple pricing points, this shouldn’t be a barrier preventing a vendor from displaying prices. If pricing is dependent upon the number of bookings, users, spaces, etc, it’s not that difficult for a vendor to provide a calculator on their website. That way, customers can see the price they’ll pay for their specific service configuration.

Creating a sense of exclusivity by not displaying prices

By not displaying any publicly visible prices, prospective customers are then forced to make contact with the vendor. This initiates a dialog to between prospective customer and software vendor. During the dialog, the vendor can employ sales tactics to “hook” the prospective customer and convince them that their software is both right for them and they’re getting a great deal.

Giving different “deals” to different customers

Some software vendors may even “inflate” their prices depending upon the type of customer. For example, if a vendor thinks that a particular organization is likely to have a big budget, they may feel that they can get away charging that customer more for the same product that they typically charge another customer with a limited budget.

If the vendor was to display pricing on their website, they wouldn’t be able to arbitrarily charge different prices to different customers.

By not displaying any prices, this gives the vendor the ability to vary the price of their software at will. The customer has no “base price” to reference the price they’re quoted back to.


Ultimately, the decision to not display prices on a website is primarily a marketing and sales strategy. Software vendors may have a variety of reasons for choosing such this approach.

How we approach pricing at MIDAS

Here at MIDAS, we’re totally transparent and upfront about the pricing of our room booking & resource scheduling software.

We clearly display pricing on our website at mid.as/pricing. There’s also a “Pricing” link at the top of every page of our site too.