Category: Development


Things are hotting up here in Europe – and we don’t mean Brexit! A heatwave is currently engulfing parts of the continent with temperatures hitting a whopping 40°C in Paris. Across the Channel here in the UK the temperature is far more bearable, and so we’ve been busy working away on development on the next release of our leading web based room and resource scheduling system, MIDAS.

We’re excited to announce that the forthcoming v4.22 update will include the often requested feature of “custom client fields”, including the ability for self-hosted MIDAS customers to attach documents (i.e. insurance certificates, contracts, etc) to client records.

Similar to the “custom booking fields” feature first introduced way back in 2010, which allows administrators to add additional booking fields to their MIDAS system on top of the standard booking fields, the new custom client fields feature will provide similar functionality to client records in your MIDAS database.

Prior to v4.22, the standard client fields in MIDAS were fixed and allowed you to capture the following items of data for each of your clients/customers:

  • Client name
  • Organization
  • E-mail address (or addresses)
  • Postal address
  • Telephone number
  • Fax number
  • Mobile/Cell number
  • Notes

The introduction of custom client fields gives you even more flexibility! Now you’ll be able to add additional fields to capture other client information that you wish to collect, for example you could add a “Salutation” list field (Mr, Mrs, Ms, Miss, Rev, Dr, etc), or a file upload field to capture an insurance document from your clients..

A custom "Salutation" client field in MIDAS v4.22
A custom “Salutation” client field in MIDAS v4.22
A custom "Insurance Document" upload client field in MIDAS v4.22
A custom “Insurance Document” upload client field in MIDAS v4.22

The types of custom client fields that may be added are the same as those available for custom booking fields, namely:

  • Checkbox – A “tick box” field
  • File – (self-hosted editions only) Allows uploading/attaching of files and documents to client records
  • List – A drop-down list of pre-defined items
  • 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

Both custom booking and custom client fields may be managed via MIDAS Admin Options → Manage MIDAS → Fields

Custom client fields in MIDAS v4.22
Custom Client Fields in MIDAS v4.22

From this screen you’ll also be able to control which client fields (both standard and custom) should be included on printouts, in search results, and on public booking/request screens. You’ll also be able to re-order client fields as well as selectively hide them from individual users too!

MIDAS v4.22 is coming soon! To be notified when it becomes available, please consider joining our Mailing List

In addition to our commitment to regularly bringing exciting new and improved features to our easy-to-use room booking system, MIDAS, we also work hard behind the scenes to constantly improve the overall speed and performance of both our software and infrastructure.

In this article, we’ll take a closer look at some of the performance improvements we’ve introduced over the past year, and some of the performance improvements you can look forward to in the very near future!

Caching and CDN

CDN stands for “Content Delivery Network”, and is a means whereby web content – such as an image – is stored on multiple servers around the world. When the image is requested by a visitor’s web browser, rather than the image being served from a single origin server (which may reside in another country), it is instead served by the nearest/fastest server in the CDN network. The result is significantly improved loading times for content served via a CDN.

Back in May last year (2018) we introduced CDN support for static content for all our cloud-hosted MIDAS customers.

As a result, we quickly saw performance improvements and reduction in load times of customer’s hosted MIDAS systems by up to 67%! You can read more about this in this blog post.

Improved DNS

DNS stands for “Domain Name System”, and can be considered as a “phone book” for the internet. When you enter a website in your browser’s address bar, a DNS system is used to look up the corresponding server on the internet that the URL you’ve entered resolves to, allowing you to then access the site.

This week, we’ve migrated our DNS to a distributed/cloud-based system. Previously, our DNS was provided by our own web servers, so for example, if you wanted to access our blog (blog.mid.as) the DNS system would first have to make contact with mid.as to find out the location of blog.mid.as.

With our new distributed/cloud-based DNS system, DNS is now handled in a similar way to the CDN system outlined above – that is to say that when you enter a URL/sub-domain for any part of our site, the DNS is resolved on a server geographically close to you.

As a result, we’re seeing DNS lookup times for our site up to 5 times faster than previously!

The above images (from dnsperf.com) show how quickly the mid.as domain would resolve from various locations around the world previously (left image) and again now (right image)

XML vs JSON

What and what?! XML stands for eXtensible Markup Language. JSON stands for JavaScript Object Notation. Both are methods for storing and transporting data, with JSON being the newer of these two methods.

As we’ve been developing MIDAS for well over a decade now, XML has been the format we’ve used for the main settings file within our software for the majority of that time (as JSON wasn’t really around a decade ago!). The downside of using the XML format particularly when used in conjunction with Perl (the language which MIDAS is written in) is that it tends to be a little slow and clunky.

That’s why starting with our next software update, v4.22, we’ll dropping the main XML settings file in favor of a JSON settings file instead. In our own benchmark testing, this simple change has resulted in improved load times of ~10ms per request, which may not sound a lot, but is actually quite noticeable.

As a result of this upcoming improvement, self-hosted customers will need to ensure that the JSON Perl module is installed and available on their MIDAS system in order to be able to update to v4.22 when it becomes available. Instructions of how to do this may be found in our How to install Perl modules KB article. Cloud-hosted customers don’t need to worry about this, as we’ve taken care of it!

In the very early days of MIDAS, each “venue” (room/bookable space) you added to the system could have a name and a maximum occupancy level (capacity) setting.

Over the years as MIDAS has developed and improved, the number of venue options has greatly increased; today you can set hours of operation, simple and complex hire rates, venue managers, venue blocking rules, alternatives, and rich HTML descriptions.

These additional options have given our software even more flexibility for a wider range of applications, however, when you increase the number of individual venue settings/options available, this in turn can increase the time it takes to setup or make changes to a venue.

That’s why last March, in response to customer feedback, we introduced a way to allow you to “bulk modify” venues, so that users no longer had to modify settings for each venue one at a time.

Manage Venues Screen

The “bulk modify” venue feature allowed more than one venue to be selected at a time from the Manage Venues screen, and when the “Save Changes” button was clicked, the current venue settings/options would be saved for all selected venues.

However, some users didn’t appreciate that all venue settings/options (with the exception of the venue name) would be applied to all selected venues, including capacity, rates, hours, managers, etc.

Therefore, to provide even grater flexibility for users, for v4.21, we’re making it even simpler!

Now, when you have multiple venues selected on the Manage Venues screen and you click ‘Save Changes”, MIDAS will prompt you to select which current settings you wish to apply to your selected venues:

Bulk Modify Venues Options

This new additional dialog will give users full control in making it easier and straight forward to make specific bulk changes to venues, and we’re sure you’re going to love it!

Check out some of the other new and improved features coming in v4.21 here.

MIDAS v4.21 is coming soon! To be notified when it becomes available, please consider joining our Mailing List

In addition to the new deposit invoice features coming in MIDAS v4.21, we’re also introducing a number of other invoicing features in the next update to our booking and scheduling system:


Mark invoices as complete even if not paid in full

When invoices are created or generated in MIDAS, administrative users may freely edit their content up until the point when the invoice is either printed or emailed to the client. At this point, MIDAS assumes that the invoice has been “finalized” and therefore locks it from further editing.

This ensures that the invoice printed/emailed to the client exactly matches the invoice stored within MIDAS.

Finalized invoices indicate the invoice total, the amount already paid (which initially will be zero), and total still due (invoice total minus the amount already paid)

Until the “total due” reaches zero (i.e. the invoice has been paid in full), the invoice will continue to be flagged as “outstanding” (and then subsequently “overdue” if the length of the specified payment term is exceeded)

However, we’ve heard from customers that there are instances when they would like to mark an invoice as complete, even if there is still an amount outstanding on it. An example case might be where a client has been invoiced for the use of 4 venues, but when it came to it, they actually only used 3.

Of course, one solution to this would be to invoice the client after their booking(s) have taken place, and that way you can ensure that they’re only invoiced for their exact usage. However we appreciate that this isn’t always possible and that some customers invoice their clients in advance of their bookings taking place.

That’s why for v4.21 we’re introducing a way to mark an unpaid/partially pid invoice as complete.

When updating an invoice’s status, there’ll now be an optional “Mark outstanding amount as credit?” tick box. If selected when updating an invoice’s status, the outstanding balance on the invoice will be marked as a “credit” on the invoice, therefore reducing the “total due” to zero and marking the invoice as complete.


Quickly “copy” the contents of an invoice to a new invoice

Wouldn’t it be great if you could “clone” (copy) the contents of an existing invoice to a new blank invoice?

Well starting with MIDAS v4.21 you’ll be able to do just that!

Simply view the invoice you’d like to copy and click/tap the new “Clone Invoice” icon. After confirming that you’d like to copy to the contents of the current invoice to a new invoice, MIDAS will create a brand new invoice identical to the current invoice, but without an invoice date and without any payment against it.

As the new invoice doesn’t have an invoice date (because it hasn’t been finalized), the client the new invoice is to be for and the contents of the invoice can be freely edited.

We’re sure this feature will save lots of time for our customers who regularly produce similar or recurring invoices for their clients.


The “Pay invoice online” features can now be configured to allow partial payments

Until now, the “Pay Invoice Online” features of MIDAS, which allow your clients to pay their invoices online would only allow clients to pay invoice in full.

If a customer wished to mark a partial payment then an administrative user would need to manually process their payment and then manually update the status of the invoice within MIDAS to reflect the partial amount paid.

The good news is that for v4.21 we’re introducing a new “Allow Partial Invoice Payments” setting which if enabled will then allow your clients to enter an amount they wish to pay towards their invoice, rather than the only option being to pay it in full. Of course if the new “Allow Partial Invoice Payments” setting isn’t enabled, then the online payments feature of MIDAS will behave as in previous versions and only allow invoices to be paid in full.

We want to provide our customers the most flexible and versatile invoicing features in a booking system we can, and so we’re sure that the exciting improvements to invoicing coming in our next update will be great additions!

MIDAS v4.21 is coming soon! To be notified when it becomes available, please consider joining our Mailing List

Coming Soon in MIDAS v4.21: Deposit Invoices

It may be a new year, but we’ve been hard at work on the next update (v4.21) to our web based room booking and resource scheduling system, and we’ll be giving you a “first look” here on the blog at some of the upcoming features you can expect to see.

Invoicing has been a staple feature of our software for many years, and following customer feedback, for v4.08 we expanded the invoice generation capabilities of MIDAS to also allow generating “Cancellation Invoices“. When enabled, this feature will automatically charge a cancellation fee to your clients and generate an invoice accordingly if their bookings are cancelled (removed from the system) at very short notice.

This feature has been well received by customers, many of whom have also asked for the ability for their MIDAS system to generate “deposit” invoices too.

Well, we’ve listened and we’re excited to announce that “Deposit Invoices” are finally coming in MIDAS v4.21!

When generating invoices for bookings and deposit invoicing is enabled, MIDAS will instead generate two invoices; the usual “regular” invoice and a separate “deposit” invoice.

Deposit Invoice Settings in MIDAS v4.21
Deposit Invoice Settings in MIDAS v4.21

The amount charged on a deposit invoice can either be set to a fixed amount, or it can a percentage of the overall total booking cost.

Furthermore, there’s also the option to deduct the value of the “deposit” invoice from the “regular” invoice, or for the deposit charge to be in addition to the main booking/hire charge.

MIDAS v4.21 is coming soon! To be notified when it becomes available, please consider joining our Mailing List