The Plan

The booking system needs to be able to do several things:

  • Manage kit availability
  • Allow kit availability to be checked
  • Allow people to book kit out in the future
  • Get booking approval of relevant people
  • Log kit bookings and approvals

Usage Scenarios

These scenarios outline what I think are the most common usage scenarios, they will help define exactly what need to be achieved.

Usage 1

A person needs to book out a camera for a person project. To do this they log into the WTV website and enter the booking system.

Once in the booking system they find the camera that they want to book out using the helpful kit search tool.

After finding the camera in question the then bring up its availability which is displayed in an intuitive calendar type interface.

Now that the user know the availability of the camera they select a period of time when the camera is not booked out and create a booking. The booking page automatically pulls in all the information that the user has provided, this includes things like:

  • The item to be booked out, it is resolved to an actual item - in this case the camera.
  • The period that the user wishes to book the item out for.

The user then provides a reason as to why they wish to book the item out for, providing a brief description of their project.

At this point a booking object has been added to the database and the end-user’s interaction with the booking system end for now. An email is sent to an appropriate administrator to review the booking request and approve/reject it.

The administrator receives the aforementioned email and reads it. It happens to contain a handy link that takes the admin straight to the booking review page to approve it.

Note

Maybe the email could contain all of the booking details, along with links to directly approve or reject the booking straight from the email.

Usage 2

A group wish to book out several pieces of kit at the same time for a large project. To start they visit the booking system on the WTV website.

They select all of the items of kit that they need for there project, on the next page the availability of all of the items is displayed in a grid display that makes it very easy to work out when all of the items will be available.

They notice that all of the items are available when they need them and for the amount of time that they need them for, except for a single camera which is only available for part of the time that they require it.

The booking tool allows them to book out all of the available kit at the same time, with the camera booked out only for the time that it is available.

All of the items including the camera appear under a single booking which makes it easy to view and approve the booking. The camera is stored under a sub-booking of the larger booking so that it is only booked out when it is available.

Usage 3

After booking out and using several items of kit the booking period starts to come to a close.

The person who booked out the kit is sent an email 2 hours before they have to return the kit warning that there time is almost up.

This email is also repeated at 1h and 30mins and 10mins before the end of the booking period, or until the kit is marked as being returned and in the store room.

If the items aren’t returned by the end of the booking period the persion is emailed that they need to return the kit pronto. Also and administrator is email to warn them that kit has not been returned, and to tell them who needs to return it.

Note

The email could contain contact details for the person with the kit so that the admin can contact them personally.

If the kit is not returned before its next booking the next person to take the kit will be sent and email to warn them that they may not be able to get the kit they need. If

Note

The booking system could reallocate available kit for the next person.

Usage 4

A person wishes to book out several cables of the same type for use in a project. After logging into the booking system they select the type of cable they want from the available cables.

Once they have selected the cable the want they then enter the number they want. The booking system then generates a booking and automatically allocates the correct number of cables, from those that are available, to the user.

Design

To this end we will use three models to achieve the results above.

Models

Booking

The booking object will represent a booking made by a user. It is responsible for storing all the information related to a booking including things like:

  1. User who made the booking
  2. The user who approved the booking
  3. The booking start time and date
  4. The booking end time and date
  5. The items that are to be booked
  6. The reason why the user wants to book out the items.

KitType

This represents a single type of kit. It should contain all of the details relating to a single type/specification of kit.

Each KitType should be unique.

Kit

Represents a single physical object. If you have 50 cables, then each one has its own Kit object representing it.

Each Kit is linked to a KitType which provides most of the details. The main thing that a Kit contains is a serial number that makes it possible to work out exactly what physical item is being represented.

Views

There needs to be several views for a complete booking work flow. These break down roughly like this:

  • Check kit availability
  • Check multiple kit availability
  • Create a new booking
  • Check booking status (approved or not)
  • Approve or disapprove a booking
  • See all bookings
  • See bookings based on a filter
  • Bookings overview for a user

Kit Availability

This view needs to show the availability of a kit type over a period of time. It should show how many of that type are available to be booked out. This then needs to be replicated to show multiple kit types on the same page.

Idea

This could be shown using a calendar type view with available blocks coloured in, the colour or shade could show how many items are available in a single block. A tool-tip could then provide a precise figure.

Below is a quick mock up.

../_images/kit_avaliblity.png

Create Booking

This view needs allow the user to select the items that they wish to book out. If possible the items should be derived from previous steps.

WorkFlow

Open the WTV site —> Login —> Open the booking system —> Select period that kit is required —> Select the kit —> Review possible time and adjust —> Create booking.

Project Versions

Table Of Contents

Previous topic

Booking System

Next topic

Models

This Page