Wasptime and the Biometric TimeClock

I was asked by the Undergrad Coordinator to find a timeclock which could automatically report TA absences. We evaluated several products and chose Wasp Barcode Technologies’ WaspTime software with a BioMetric (fingerprint) timeclock. The hardware is pretty cool; it runs linux, it’s PoE, the fingerprinting works great, and it hasn’t crashed yet. Their software is punch-you-in-the-face confusing and barely works. This post describes how to get the system up and running fairly well–although it still can’t actually automatically report absences yet via email (or any other automated means). The sales rep didn’t believe me until I forwarded him the email from their tech support.

Our needs: set schedules for around 150 undergrad TA’s, and have the software tell us who doesn’t show up. Sounds easy…

Notes on Installing WaspTime

You have to use their bundled SQL 2005 unless you have the ‘Enterprise’ edition (seriously, the ability to install on a ‘custom’ SQL server is basically the only difference between pro and enterprise — $2k+ difference). I suppose you could find the db name\password it expects in the install files. Kinda stinks — I would prefer to manage a single version of SQL (for all the applications that use ‘express’), and split the db to non-system drive.

Notes on System Hierarchy

Before running System Setup, you need to know a little bit about how the software works. Employees are assigned to Departments and Groups. Departments are used by the reporting features. Groups are used to actually schedule people. Employees can’t be given schedules directly — there’s no way to say that John Smith works 9am to 5pm everyday. Only groups can have schedules. Over here at Chemistry, each of their employees has their own group. So, John Smith is a only member of the JohnSmith group, and all members of the JohnSmith group (which is really only 1 person), work 9am to 5pm everyday. I know, right? 2 words: “feature creep”. 2 more words: “use cases”. etc…

As for the biometric part, each employee gets a ‘badge number’. The only things communicated between the clock and the software are badge number and punch time. The software takes this list of badge numbers and corresponding punch times, and sorts it out. Every quarter, we keep the badge numbers the same but wipe the database. Since the fingerprints are stored in the clock itself, we don’t have to re-enroll anyone.

One more note: you can’t have a person come in multiple times a day unless you get really creative with the ‘meal in’ and ‘meal out’ times. The magic words to describe this to tech support (and hear, “why would you want to do that?”) are “Split Shifts”. For example, if you have a TA who works 10am until noon, then takes a break for a class, then comes back in 2:00pm until 4:00pm, you can really only track either the morning or the evening shift. Alternatively, you could set them up as 2 different users (using different fingers), because that sounds like fun :).

Notes on “System Setup”

When completing System Setup, be aware of a few things.

  • All of the info you fill in will be stored in the database and restored upon a db restore. There are no registry or XML settings as far as I can tell.
  • If you choose to “Setup Email”, know that the username\password entered cannot actually be removed from the settings without deleting the database. It can be changed though. It’s a bug.
  • If you send test messages with email, it comes from the workstation that the client is running on, not the server itself. It’s a bug.
  • Departments — see above. They’re really only for reporting. We just needed one since you can’t have none.
  • Payroll Codes — since we’re not tracking payment for people, ignoring this.
  • Absences— only used if you’re going to go back over users manually and assign absences. We don’t use it; we only want the software to tell us who didn’t show and have a conversation with that person. If it’s habitual, it should be obvious.

Clock Configuration Steps

  • Add your clocks. Make sure you add a description.
  • Configure automatic “time sync” on the clocks.
  • Configure automatic downloading on the clocks.

Importing Users

It’s important to note that you can import users via CSV, but you can’t actually delete or change them. Every quarter we wipe the database (which wipes all the “System Setup” settings), and start over. You might want to make a db backup now, while you’re System Setup and Clock settings are fresh. I’ll wait…

OK, now that you’re back, CSV import. The example import files don’t show all the fields available, and after 2-5 phone calls, support tickets, and emails, here they are!

Make sure to set up your departments in System Setup first! Then, your groups. Users should be imported last.

Fields for User Imports:

  • Last Name
  • First Name
  • Employee Id
  • Badge Number
  • Group Name
  • Department

Fields for Group Imports:

  • Group Name
  • “Regular Payroll Code” – we skip this
  • In Day 1,In Day 2,In Day 3,In Day 4,In Day 5,In Day 6,In Day 7
  • Out Day 1,Out Day 2,Out Day 3,Out Day 4,Out Day 5,Out Day 6,Out Day 7
  • MI in 1,MI in 2,MI in 3,MI in 4,MI in 5,MI in 6,MI in 7
  • MI out 1,MI out 2,MI out 3,MI out 4,MI out 5,MI out 6
  • “Early In OK”
  • “In Round To” – (usually 0)
  • “Grp In Grace” – in minute
  • “Grp Out Grace” – in minutes

When importing fields that use times, you should specify an entire date according to one of the following formats:

  • mm/dd/yyyy  hh:mm:ss AM
  • mm/dd/yyyy  hh:mm:ss PM
  • example: 1/8/2010  8:30:00 AM

Wasptime Web

Not that useful, but if you want it I’d recommend installing the following IIS features:

  • Common HTTP Features
    • Static Content
    • Default Document
    • Directory Browsing
    • HTTP Errors
    • HTTP Redirection
  • Application Development
    • ASP.NET
    • .NET Extensibility
    • ISAPI Extensions
    • ISAPI Filters
  • Health and Diagnostics
    • HTTP Logging
    • Request Monitor
  • Security
    • Windows Authentication
    • Request Filtering
  • Performance
    • Static Content Compression
  • Management Tools
    • IIS Management Console
    • IIS Management Scripts and Tools
    • IIS 6 Management Compatibility
      • IIS 6 Metabase Compatibility
      • IIS 6 WMI Compatibility
      • IIS 6 Scripting Tools
      • IIS 6 Management Console

It’s a pretty straightforward install, but be careful — by default it runs on a non-standard port (8080) and has no encryption. If you are going to use wasptime web, I recommend skimming my blog post about Installing SharePoint 2010 Foundation, which should get you started on configuring SSL on IIS. Search for “SSL”.

I hope this helps someone reviewing or using this product. Thanks, and enjoy!