Chris Collins

Tools · makerspace

Machine booking calendar

Book the laser, the printers and the CNC at a makerspace — day and week views, drag to book, opening hours, slot length, longest booking and a gap between bookings per machine, clashes refused, repeating maintenance blocks, who's on now and next, a printable day sheet for the door, and .ics in and out. Runs on one shared tablet; sync another device by file.

Added

Works with

How to use it

A booking sheet for a space’s machines, made for a tablet by the door. Each machine has its own hours, slot length, longest booking and clean-up gap, and a booking that breaks any of them — or overlaps another, or a maintenance block — can’t be saved.

The kiosk model

This site has no server. Put the page on one shared tablet or laptop at the space; machines, bookings and maintenance live in that browser’s storage (IndexedDB). Members book there, and you print the day sheet for the door or hand out .ics files for their own calendars.

To use a second device, export a sync file on one (Data & settings → Export this tool) and import it on the other with Import and merge. Records merge one by one: the newer edit of each wins and cancelled bookings stay cancelled. Two devices can each take a booking for the same time before they sync — the merge keeps both, so sync often, or make one device the only place bookings are made. Keep the devices' clocks right.

How to use it

  • Machines — add each one: name, location, slot length, longest booking, gap between bookings (cool- down or clean-up), colour, opening and closing time (a closing time earlier than opening means past midnight — handy for overnight prints) and the days it’s open. Load example machines adds a laser, two printers and a CNC router. Import a machine list takes a space file ({"machines":[{"id":"laser","name":"Laser cutter"}…]}), any JSON array, a CSV with a header row or one name per line; choose which column is the name and the id if they aren’t guessed. When the machine induction or machine cards tool has a space file in this browser, Use this browser’s space adds its machines in one click: new ones get the default hours, ones already here keep theirs and take the file’s name and location.

  • Calendar → Day shows every machine side by side; Week shows one machine’s week. Drag down a column to book a span (it snaps to the machine’s slots); on a touch screen tap a slot and set the end in the form. The form says straight away what’s wrong — overlaps, too close to the next booking, outside hours, too long — and only books when it’s free. Tap a booking to change it, cancel it, or download its .ics. If this browser also holds machine induction’s sign-off register and the person booking isn’t signed off on that machine (or their sign-off has expired), the form says so — a warning, not a block.

  • Calendar → Now is the kiosk board: each machine, who’s on it and until when, or how long it’s free, and who’s next. Book now starts a booking at the current slot. After 90 seconds untouched the page goes back to this board.

  • 🖨 Day sheet prints the day’s bookings per machine, large, for the door.

  • Maintenance — blocks that nobody can book over: once, daily, weekly (on chosen days) or monthly, every N, until a date, for one machine or all. A weekly block at 10:00 stays at 10:00 after the clocks change. Existing bookings a new block overlaps are listed so you can move them.

  • Data & settings — the space’s time zone (all times are shown in it), the zoom of the grid, and calendar files: 📅 .ics on a machine exports its bookings and maintenance from last week to 12 weeks ahead; each booking has its own. Import a .ics onto a machine as bookings (repeating events become separate bookings for the next 26 weeks; ones that clash are skipped and listed) or as maintenance blocks (the repeat rule is kept). Importing the same file again updates rather than duplicates.

The .ics files are plain iCalendar (RFC 5545) with times in UTC, so Google Calendar, Apple Calendar and Outlook read them without a time-zone table. Import understands UTC, TZID and floating times, all-day events, DURATION, Outlook’s Windows zone names, and RRULE`s that repeat daily, weekly (with `BYDAY) or monthly, with INTERVAL, COUNT and UNTIL; other rules import as a single event.

Browser support

Any current browser. Dragging works with a mouse or pen; on touch screens a tap books one slot.

Privacy

Nothing leaves the browser: machines, bookings and members' names are in this browser’s IndexedDB, and .ics and sync files are made and read in the page. The page loads nothing from other sites.

Related: Tool library checkout and Project quotes share the same sync file. For the jobs themselves: Laser test patterns, router feeds and speeds, 3D print cost quoter.

Runs entirely in your browser; nothing you type leaves this page.