After getting under the hood on the pop-up calendar used here, I have found that this can be put to much more efficient use.
It was not challenging at all to use the calendar to restrict available dates for the user to select from, including blacking out weekends (or any given day(s) of the week), dates prior to "today", dates less than N days from "today" (e.g. the option to require date 24 in the future), dates greater than N days from "today", and even "known date" holidays (such as Christmas as opposed to say Easter).
I can easily now see a control panel allowing blackout dates to be configured by: - Any given day(s) of the week
- Any days less then N days in the future
- Any days more than N days in the future
- Any years more than N years in the future (default would just be 1, i.e. "next year")
- Specific days of the year
"known date" holidays defined by just the month & the day of (e.g. "1/1", "12/25", etc.) - Specific dates (specifically defined dates by month, day, year)
This is the only feature the current CP provides, and by itself is nearly useless.
By default, all dates prior to "today" would be blacked out.
This would be tremendously more useful for handling blackout dates, not only because it's highly configurable, but also because it would all be handled visually in the calendar pop-up (i.e. easy for the end-user to see the available date options at a glance). It would also completely replace the need for a link to pop up a list of blackout dates (that whole part is really pretty lame in the current user interface). What's more, it would eliminate the quirky behavior of the validation here as the pop-up calendar would always enforce a valid date.
This CP would be so easy to build, I can't not see it built. It would be a tremendous improvement for the effort required to do it.
This all would only leave the issue of the emails.
It seems to me that if the admin's order notification email has the date, one would expect it would include the time too, if it's required/provided. Easy enough bug to fix.
Adding the date and time to the customer's order confirmed email (and order received email) would also be easy enough, and I'd be tempted to call this buggish too as it just seems to me that if the customer selects a date/time, they should reasonably expect to see that on their confirmation email -- just as they see it on their order confirmation page at the end of checkout.
Adding the date and time to the drop-shipper might should/could be an option. Maybe there's some reason the drop-shipper wouldn't need to know this. I'd wager that the default option should be that they would, though. However, to make things simple, I would just include it in the fault code for generating these emails -- if folks really want to have the option to exclude it, it could be a simple code edit (rather than have to tie it in through an option in the CP).
That is, building the enhanced blackout-date enabled calendar user interface and CP options would be pretty "stand alone" and unaffected by updates. The issues with the email notifications, not so much -- any of the several files touching this are likely to get overwritten in updates, so would be better as part of the standard code, IMHO.
|