blog

Booked Tips: Monitor Display

Booked includes a lot of features that you may not know about. In this article we’ll talk about the monitor display, which is perfect for showing reservation information on a big monitor for all to see. Some good uses are waiting rooms, a shared space or common area, or at reception.

This view has a few options, but by default you’ll see a grid schedule view of the default schedule. It will look something like this.

You can change this to show different schedules, different resources, or a list instead of a grid.

To get the monitor display view, first go to Application Configuration and set view.schedules to true. Then open a browser and navigate to https://your-booked-url/monitor-display.php

That’s it! This is a simple way to broadcast the real-time availability of resources to a common area.

Hosting and Support

Did you know that I offer professional hosting and support for Booked? You can set up a free trial in minutes and get unlimited support.

This article was written on November 4, 2019. Check your documentation for the latest options.

Booked Tips: Emailing Users

Booked includes a lot of features that you may not know about. In this article we’ll talk about the capability to email Booked users.

There are lots of times when you may need to send a notification to Booked users. Maybe a piece of equipment is unexpectedly unavailable or there is a change in booking policy.

Booked announcements let you post these messages in the application and also gives you the option to email the message to users. Open Application Management > Announcements to post something.

You can limit the audience of announcements with a few simple options. Click the More Options link.

Here you can slim down who an announcement will be seen by or sent to, if you’re emailing it. You can limit it to certain groups of users. You can also limit it to users who have permission to certain resources (this is especially useful when posting resource-specific announcements). You’ll also find the Send as Email option here.

You can also send (or resend) announcements that have already been posted.

Hosting and Support

Did you know that I offer professional hosting and support for Booked? You can set up a free trial in minutes and get unlimited support.

This article was written on November 4, 2019. Check your documentation for the latest options.

Booked Tips: Setting up Administrators

Booked is configurable in so many ways. In this article we’ll review how to set up multiple levels of administration.

Most of the time organizations can get away with the single administrator that is the default in Booked. The first user to register gets full administrative rights for the whole application. So they can create resources, manage reservations, control configuration settings, and so on.

This is a powerful set of permissions and it should be limited who gets them. If you do want to add users to the application administrator role, you have two options.

The first is to open Application Configuration and add the other users’ email addresses to the admin.email setting – just add a space or comma between each email address.

The second option is the same way you can add lower-privileged administrators, as well.

First, create a new group in Application Management > Groups. Then change the roles for the group to include Application Admin

Finally, add users to this group. Every user added will have full application administrator rights.

Other Types of Administrators

Booked has multiple levels of administration to allow certain people to do things like manage a set of resources or update user details for a set of users. These are Group Admins, Resource Admins, and Schedule Admins.

Group Admins

These users can update user details and manage reservations for specific users. To set them up, follow the same steps as for Application Admins, except choose Group Admin as the role.

Next we need to set the users that these admins can manage. To do this, create another group (I created one called Users), then set the Group Administrator to the admin group.

Now every user in the Users group can be managed by users in the Group Administrators group.

Resource Admins

Users in a Resource Admin group can manage resource information and reservations for a set of resources. To set them up, follow the same steps as for Application Admins, except choose Resource Admin as the role.

Next we need to set the resources that these admins can manage. Click the drop down in the Roles column, then pick the Resources option. Finally, check off all the resources that you’d like this group to be able to manage.

Schedule Admins

Users in a Schedule Admin group have all the same privileges as resource admins, but for all resources on a schedule. They also have management rights for the schedule. To set them up, follow the same steps as for Application Admins, except choose Schedule Admin as the role.

Next we need to set the resources that these admins can manage. Click the drop down in the Roles column, then pick the Schedules option. Finally, check off all the schedules that you’d like this group to be able to manage. Remember – they will be administrators for all of the resources on those schedules.

Hosting and Support

Did you know that I offer professional hosting and support for Booked? You can set up a free trial in minutes and get unlimited support.

This article was written on November 4, 2019, so check your documentation for the latest options.

Booked Tips: Tablet Display

Booked includes a lot of features that you may not know about. In this article we’ll talk about the tablet display, which is perfect for showing reservation information next to a resource. A good example is a tablet mounted outside a conference room, but this can be used for any type of resources.

Here’s an example of what this looks like.

You can quickly see if a resource is currently in use, what the schedule for the day looks like, and create ad-hoc reservations. If there is a reservation that is pending check in, a button to check in will be shown instead.

Great, so how can this be enabled, you ask? It’s simple.

On your tablet, open a browser and navigate to https://your-booked-url/resource-display.php. You’ll be greeted with a sign in screen. Sign in with an administrator account, then pick the resource you want to show.

That’s it. You can leave this up and it will continuously refresh with the latest information.

Hosting and Support

Did you know that I offer professional hosting and support for Booked? You can set up a free trial in minutes and get unlimited support.

This post was written on November 4, 2019. Check your documentation for the latest options.

Learning how to modern web dev

I’m neck deep in learning ES6, React, Typescript, Node and all the billions of pieces that are a part of this “ecosystem”. I think I’m going to post some of the things that I learn along the way here.

Most of it will probably be obvious if you’ve been working with these technologies for a while, though I assumed a lot of what I was trying to do would be easily discoverable online. Maybe I just need to take some Google lessons.

My Lessons

Lessons to write about…

  • Using Sequelize CLI (and probably a rant about all ORMs, but especially this one)
  • Avoiding Redux and test driving React apps using hooks
  • Dockerizing a dev database
  • Writing integration tests with Sequelize without losing my mind

Packaging a Node Express App

I’m not sure how most of the JavaScript world is building, packaging, and deploying their applications. We’re using Yarn instead of npm, but neither tool provides a simple way to zip up and version your app (unless you’re publishing to npm, that is).

Here’s what worked for me (based on Yarn 1.15.2). As with everything I post, If there are better ways, please tell me.

Install cross-var to support consistent variable usage in package.json across Windows and Mac.

yarn add cross-var

Install bestzip to support cross-platform packaging.

yarn add bestzip

Install copyfiles to support cross-platform, configurable file copying.

yarn add copyfiles

Create a script in package.json for compiling TypeScript to JavaScript

"build:ts": "tsc"

Create a script in package.json for copying the compiled files to a /dist directory

"copy": "copyfiles -a -e \"**/*.ts\" -u 1 \"src/**/*.*\" dist"

Create a script in package.json for packing up the source and dependent node_modules

"package": "cross-var bestzip $npm_package_name-$npm_package_version.zip dist/* node_modules/* package.json"

Notice the $npm_* variables? Apparently you can use any variable defined in package.json within package.json. You just need cross-var to consistently access them.

That ended up being it. Here is a redacted package.json that I’m using:

{
"name": "Nick Korbel Demo",
"version": "0.1.0",
"description": "The demo for packaging",
"private": true,
"main": "dist/index.js",
"scripts": {
"build:ts": "tsc",
"copy": "copyfiles -a -e \"/.ts\" -e \"/.spec.js\" -e \"/.log\" -u 1 \"src//.\" dist", "start": "node ./dist/index.js", "package": "cross-var bestzip $npm_package_name-$npm_package_version.zip dist/ node_modules/* package.json"
},
… more stuff here like dependencies

This post is part of a series I’m writing to share what I’m learning