Staff Working Hours? (Booking System)

J

jaketame

Hi.

Im currently doing a database for a Salon Booking System and was
wondering if you could help with some explanation on something.

I want to have the staff available certain times on certain days
depending on what they can work so they all have different shifts. How
would i implement this into a form so i can enter that information?

Also how would i go out about searching whether a staff member is
working that day/time to be able to take that appointment along with
whether they can actually do that treatment or not.

Thanks for any help you could give.
 
A

Allen Browne

Jake, as I said, this is a huge question. You are asking how to design a
database that keeps track of:

- types of appointment (e.g haircut, coloration, ...), with the cost and
needed duration for each type.

- customers (people who book appointments)

- staff members

- training units

- which staff members have received which training, when, to what level, and
when they might need a refresher or update

- when staff are normally available to be rostered (days and times, by week?
by calendar month?), with preferred number of hours per week (part/full
time, other), and exceptions (specific dates/times when they are known to be
unavailable),

- rostering needs of your salon (i.e. how many people you anticipate needing
at each timeslot throughout the week/month/period)

- actual rostering (specific dates and times when you have actually rostered
them to work), with what sounds like totally flexible shifts (rather than
specifically granular shifts such as "morning", "afternoon", "evening")

- actual attendance (who showed up for their shifts, including calling in
stand-by staff to fill in when someone is ill or unpredictably unable to
work.)

- appointments: timeslots booked by customers with staff (congruent with the
actual rostering) for the duration consistent with the appointment type,
without double-booking the staff member.

- attendance: whether the client actually showed for the appointment, and
what was actually done (may not be the same as the appointment), and how
long it actually took, including walk-ins who had no appointments.

That's assuming that you don't need to track *any* of the financial aspects
of the business (pay rates per staff member, commissions, shift loadings,
payrolls, purchase orders, arrivals to inventory, back orders, sales,
losses/breakages/returns, current inventory levels and predictions, tax,
etc, etc.)

I am also assuming here that you don't want the software to do the actual
rostering for you: just to provide an interface where you can roster people
manually, and it will alert you to anything that is outside the desired
guidelines. To have it using fuzzy logic to fit all this together for you in
such a way as to be seen to be even-handed in your rostering of the "good"
shifts and the "bad" ones - that would add a whole other layer of
complexity. (It's doable, but not simple, and quite time-consuming.)

Unless you are a professional programmer who has nothing to do for a few
months, it might be worth your while to talk to some other salons, and see
what software they are using to manage their business.

Not trying to discourage you: just to help you identify what's involved
here.
 
P

Paul Shapiro

I agree completely with Allen. This is a substantial progamming task for an
experienced programmer. From your questions, it sounds like this is your
first Access application. A quick search on google for 'salon management
software' turns up lots of options. While I didn't look at any of them, I
would expect there are plenty of more cost-effective options than building
your own. You've got a good list of requirements now, so you could use that
to help narrow the choices.

But to answer a bit of your original questions, I doubt if a salon works on
regular shifts like a factory. So staff planned and actual work hours might
be recorded as dateTimeStart and dateTimeEnd. If there are more-or-less
regular shifts you could have a table for DefaultWorkHours to reduce the
data entry. Determining who is expected to be working during a particular
appointment would be (workerDateTimeStart <= appointmentDateTimeStart) And
(workerDateTimeEnd >= appointmentDateTimeEnd). The question of whether they
can do a particular operation would be based on a table of
WorkerQualifications. You might have a table for SalonOperation (haircut,
color, etc.), another for AppointmentOperation (the operations included in a
particular appointment) and another for WorkerQualification (worker,
operation and maybe skillLevel).

Paul Shapiro
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top