I wonder if you could get by using Google Calendar as the 'interface', consumed via client and then published in whatever human-readable and semantic formats you wanted. I _think_ Google Calendar lets you create repeating events, which should then be exposed by it's iCal API.
I think of this because there was in fact a Code4Lib Journal article about that, although I forget the details:
From: Code for Libraries [[log in to unmask]] on behalf of Brice Stacey [[log in to unmask]]
Sent: Tuesday, June 07, 2011 11:27 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] RDF for opening times/hours?
It needs to be simple and flexible such that a layman can manage it. Currently tools are designed for easy data transfer to databases, e.g. a list of defaults for a given date range and then dozens of exceptions for specific dates. Most people are overwhelmed that. Consequently, changing hours often involves not only administrative changes but also assistance from technical people. It needs to be simple for admin assistants to "refactor" the hours.
Lastly, from my experience the biggest problem is propagating changes throughout multiple systems. Yes, not all changes can be done by administrative assistants from some single management tool (e.g. systems staff may have to modify the ILS calendar) but there needs to be an easy way to determine the specific changes between each change... Like a diff, so that changes are easy to delegate to appropriate staff.
Looking over my email, such features would be incredibly difficult to implement well, but at least from my experience they're the actual problems that plague libraries. Honestly, we'll conform to whatever technical implementation you choose (hell, I'd accept some bizarre MARC-encoded hours) so long as you actually tackle the real problems. Otherwise, it's just some web service that can be easily implemented in an hour and is useless.
Sent from my iPad
On Jun 7, 2011, at 5:28 PM, "Doran, Michael D" <[log in to unmask]> wrote:
> I am building a little web service that spits out info on when the libraries (a central library and two branches) are open and what the hours are for that day. As those who work in academic libraries know, it's not the *regular* hours, but all the exception dates/hours that are important (Spring break, Maymester, intersession, Christmas holidays, yadda, yadda). This app knows all the exceptions.
> The basic idea is that it provides real-time, "is it open right now" info for *today* (as well as today's hours). If this sounds "mobile-y", it's because it was originally conceived as an addition to our Library's mobile website.
> I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page.
> I've googled and found a few things, but nothing that really seems to fit. Most of them (e.g. the RDF "OpeningHoursUseCase" on W3C ) are more about rules for recurring intervals. My interest is not in representing the totality of the schedule (again, because of all the exception dates/times) but in representing one day (i.e. today). So I don't care about representing recurring intervals.
> And actually, the "Outsider Comments" use cases at the bottom of the "OpeningHoursUseCase" site mentioned above are almost exactly what I'm trying to satisfy (just substitute "library" where you see "shop" or "restaurant):
> I'm looking for exactly this xml, but this seems to
> be very complex, and going off in different tangents.
> Here are my use cases:
> - I wish to go to a shop or restaurant, and I wish to
> know if it's open for the next few hours.
> - It's late at night, and I need to go to the drug
> store or a small market. I wish to be able to search
> for a business that is open right now. The search
> should happen on a mapping site, or a web search site.
> - I have business with a microbusiness that's open only
> a few days a week. It's important enough for me to
> bring their schedule into my calendar, temporarily,
> so I can get there when they're open.
> - I want to coordinate a trip and run a few errands.
> I would like to get all the hours for relevant
> businesses on a specific day. I can sort through the
> hours myself.
> I also saw that "opening times in RDF" was listed as a use case in the Code4Lib wiki "Library Ontology" page . However in the "Relevant formats and models" section the links just complete the loop back to things like the OpeningHoursUseCase previously mentioned.
> Anyone done anything like this? Any ideas? Suggestions? (This is my first baby-step into RDF, so don't assume any prior knowledge on my part.)
> -- Michael
>  http://www.w3.org/wiki/OpeningHoursUseCase
>  http://wiki.code4lib.org/index.php/Library_Ontology
> # Michael Doran, Systems Librarian
> # University of Texas at Arlington
> # 817-272-5326 office
> # 817-688-1926 mobile
> # [log in to unmask]
> # http://rocky.uta.edu/doran/