The solution is easy. Google calendar. You can share your calendar with others (so they can see your availability, add appointments) and you can schedule reminders, etc. As far as requesting an appointment you can create one and invite someone else (your barber). Then you get to see if he approved your invite.
Not all customers might be savy enough to use this, so your barber (or you) can manually add appointments for people that schedule offline. This way everyone can check the calendar online to get an idea about availability.