Introduction to the 800 MHz NMR Facility Booking Program

Applying for Time on the Instrument

You can book time on the spectrometer as soon as you have applied for a user ID and have been granted access. When using the spectrometer please observe the following as a courtesy to other users:

Organisation

Users of the system have a login name (4 to 8 characters) and a password. Users belong to an administrative unit which can be a university or a department within a university. Each administrative unit has a coordinator and optionally a second contact who are responsible for liasing with the 800 MHz NMR Facility, arranging for payment for time used on the 800, etc.

There are no rules governing how much time you can book, however each administrative unit has preferential access for certain time periods. You can book time during the preferential access periods of other administrative units, however users belonging to an administrative unit with preferential access are able to override bookings from other administrative units.

If someone from your own administrative unit is booking so much time that you are unable to get access, you should take it up with the coordinator of your unit.

Users can cancel their own bookings, however their administrative unit is still charged for time cancelled with less than 24 hours notice, minus any time booked by another user. That is, if you cancel time and another user is able to jump in at short notice and use some of that time, you are not charged for the time they used. For example if a user cancels a three day booking 20 hours before it was due to start, he is still charged for the first 4 hours, but not for the whole 3 days.
The exception to this is weekends. If a user cancels her booking less than 24 hours before 10pm on Friday, her administrative unit is charged for all the time she had booked until 7am Monday, minus any time booked at short notice by another user.

Time used on the instrument is charged for at two rates.
Prime time is from 9am to 6pm Monday to Friday. All other time is non-prime and incurs a lower fee.

Getting Started

Before you can use the booking program you need to fill in an Application for User ID form. This gives you a login name and password, however your account will not be active until we have contacted the coordinator of your administrative unit to verify the application. Anyone can view bookings without even the need to submit a username, however only users with an active account can submit bookings.

Booking Time

The first page of the booking program displays a calendar. Days having a different colour are those where preferential access has been assigned to a particular administrative unit. Each week has a book link which allows you to view the schedule for that week.

The weekly schedule is divided into half-hour time segments from 7am to 10pm Monday to Sunday. Colour coding is used to highlight days with preferential access. Also the row marked (Pref) gives the name of the administrative unit with preferential access. The colour used for each administrative unit is unique, so you will be able to recognise times where you have preferential access from the colour.

To book half an hour:   Click on a single checkbox. Clicking on a "9:00" checkbox for example, gives you the time from 9:00 until 9:30.
If you click on a single "22:00" checkbox, the system sets your finishing time to 7am the next day.

To book time within the displayed week:   Click on two checkboxes. The earlier checkbox is your starting time, and the later one is your finishing time. But remember each checkbox includes the time up to the starting time of the next checkbox, so if you click on a "14:30" checkbox for example, your time finishes at 3:00pm.
If you select 22:00 as your finishing time, the system assumes that you want to finish at 7:00 the next morning. That is, you are billed for an overnight run, and you need to get in before 7am and remove your sample ready for the next person to start at 7. If you click on three or more checkboxes, only the earliest two on the schedule have any effect.

To book time which finishes on the following week:   Click on a starting time as above, and select the last checkbox (22:00 Sunday) as your finishing time. A schedule for the following week is displayed for you to set your finishing time. If you once again select the (22:00 Sunday) checkbox for this week, it will simply mean that your time finishes at 7am the following Monday.

In other words, the 22:00 checkbox really means "by 7am tomorrow" or "sometime next week." It is not possible to set a finishing time between 10pm and 7am.

The page where you fill in your login name and password displays your start and finish times for confirmation, so you have the opportunity to select the "Back" button in your browser and change your booking before it is submitted. If you are happy with the displayed times, fill in your login name and password, then click on the "book" button. If no problems occur, a Booking successful! message is displayed. Your booked time will also be visible if you return to the weekly schedule display.

Bookings can be cancelled, modified etc, by selecting List, Cancel, Modify bookings in the main booking page.

Preferential Access

Preferential access times are set in multiples of one day, starting at 9am. Time divisions booked by a user from an administrative unit which has preferential access do not show a checkbox, making it impossible to select these times. Of course it is still possible to span a preferential booking by selecting a starting time before, and a finish time after it, however the system will reject such a request.

If no preferential access has been assigned for a given time period, no bookings can be overridden. The weekly schedule will have no colour coding and no entry in the (Pref) row for those days.

In the examples below, assume that Bart's administrative unit has preferential access from 9am Monday until 9am the following Monday. No preferential access has been assigned for the following week. Lisa, from a different administrative unit, has booked the instrument from 2pm Wednesday until 2pm next Monday.

Thus if you absolutely require an unbroken time period of the total length that you booked, you should book when your admin unit has preferential access, or no admin unit has preferential access.

The Program

The booking program is a set of CGI scripts written in the Python language and using the KirbyBase database to store booking information. It is used both to make bookings and to keep records of instrument usage for billing purposes.

It is a new program written specifically for the 800 MHz NMR facility, and as such, should be considered to be beta test software. Although we will be keeping separate records as a check, it would be a good idea for the institutions making use of this facility to keep their own records. People travelling long distances to use the 800 MHz NMR facility should also recheck the timetable before they leave for Canberra, and email or phone to confirm their booking. These precautions should cease to be necessary when we declare the booking program "stable", although it is always prudent to check that no last-minute maintenance on the 800 has become necessary.

The program uses some code designed to catch errors. If your browser displays anything like this:

 
 
NameError
Python 2.3.2: /usr/local/bin/python
Sat Mar 20 14:19:59 2004

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

  /home/chris/WWW/cgi-bin/pharos/Booking.py in GetTimes (self=<Booking.Booking instance>, form=FieldStorage(None, None, [MiniFieldStorage('begi...'), MiniFieldStorage('xxxxx', '2004:4:5:21:30')]))
 1248                 print "<p><h2>GetTimes - Problem with start date. %s</h2>" \
 1249                       % problem
 1250             if stop_dt.hour == 22:
 1251                 stop_dt += self.nextmorn        # 6:30 next morning
 1252             stop_dt = start_dt + self.thirty
stop_dt undefined

UnboundLocalError: local variable 'stop_dt' referenced before assignment
      args = ("local variable 'stop_dt' referenced before assignment",)

.  .  .  please select File, Save Page As in your browser, and email the output to Chris Blake