Tuesday, August 21, 2007

Appointment Queue (Bison Transport Software, Part 1 of 10)

Here at Bison Transport, we use a pretty diverse mix of purchased software and software developed in house.  As a trucking company, our primary concern is the moving of freight and paying of drivers, and the basis for that is TMW Suite from TMW Systems. Their TMW Suite is pretty much the cadillac of trucking software.  Its Windows based and runs on SQL Server.  But as good as is, it doesn't do everything we need.  It has, however, a great relational model and is easy to expand on.

One of the more interesting applications we're created is our Appointment Queue (AQ).  When we started writing AQ a few years ago, TMWSuite didn't have a way of determining whether the dates and times on pickups and deliveries were actually times agreed to by a customer, or just something our customer service people entered because it seemed like a good time.  And, our EDI requirements with quite a few of our customers require us to send pickup and delivery appointments.  So, AQ was devised and created over a period of a couple weeks.

Appointment Queue

The key feature of AQ is indeed the queue.  In fact, there are dozens on them.  Pretty much one per person.  Although we try not to name them that way because users change jobs and call in sick like to swap shifts.  And our users have crazy requirement for who books the appointments.  User A might book all the appointments for a customer except the ones out of California and Oregon, because those are handled by User B.  And appointments out of Eastern Canada are all handled by User C unless they delivery on a weekend, in which case User A must book it.  And it sometimes gets worse.  But it handles it. 

So, let me explain quickly how it works.  A user will pull up his/her queue which will show all deliveries that are waiting to be booked over the next 4-5 days (configurable, but most users keep to the immediate future).  Ones in an orange color are late, green are appointments that must be booked today and blue are for high priority loads.  The user can scroll down the list on the left and view some key information on the right side (like address, delivery instructions, hours of operation).  They can also flag record that don't require appointments.  To book an actual appointment, they double-click a record and the booking screen comes up.

Booking an Appointment

On this booking screen, they would see contact name and phone number.  And once they placed the call, they would enter the appointment times and Set Appointment.  If they couldn't reach the contact, they could also click Try Again and enter a reason why the appointment couldn't be booked (busy, out of the office, etc).  This screen also shows any prior appointments or attempts to book an appointment.  They would also be able to see if there were other delivery events on that trip, and whether they were booked or not.

The window would close and if the appointment was booked, it would drop off their screen.

2 comments:

Ben Becker said...

Pretty neat application, are you recording who books the appointments? we have had the requirement to know who scheduled the appointment and TMW can't do that right now. I like the idea of the queue and complex logic you added to be able to queue the appointments. We also have developed a bunch of things built around TMW to close the gaps that their system doesn't fulfill, let me know if you are ever interested in exchanging ideas or collaborating, sincerely, Ben Becker, bbecker {at} tradewinds.net

Arjun said...

When you are in charge of online scheduling appointment for any type of business, it can be a stressful job.