Supportive Drupallers,

I'm building a calendar for a client in D6. Some of the events are "all day" (though I add a theme function override to make the "All Day" disappear). Some of the events have beginning times and no end times, and other events have beginning and end times.

I could simply use one content type and one field. I would have to instruct users to put "12:00 AM" for the start time and leave the end time blank.

But frankly, that is a horrible user experience. For entering dates without times, I desire to use the input format which only offers a date for data entry; no time field is available. (Why isn't there an input format that has a checkbox for "all day." Didn't the old event module have that? Am I missing something?)

Assuming that there is no "all day" checkbox AND that I don't want to ask users to manually enter "12:00am", I have two choices:
  1. Create a second content type "All day event", use the same field, but use the all day input format on one and a format that allows for time entry on the other.
  2. Keep only one content-type, "Event" and add a second field to it, "All day event"
As I write this I'm thinking that #1 is a much better choice. Though I hate having too many content types, it just seems so much clearer for the end user. And they truly are different types. In option #2, there are two available fields, and the end user has to pick the right one and skip the other; one will always be empty. That doesn't seem like good information architecture. And I can imagine instances that would be quite problematic in Views if I want to combine timed and all day events in the same View.

Am I correct? Two content types with one field is best for my requirements?

Am I missing the "check if all day event" functionality that I'm somehow blind to.

Thanks in advance for your help.

Shai