I'm developing an iOS app that stores details on events. There are input fields for event date, start time and end time. None of which are required. There is an option to add these events to your calendar - either the default Calendar app or to Google Calendar. When adding events to the calendar you have to either specify the event as all-day or add a start time and end time. Depending on the various inputs there are a few different outcomes:
No event date has been input: can't add to the calendar. No problem.
If an event date has been input and no start time or end time has been input, the event is added to the calendar as an all day event. No problem.
If an event date has been added and either a start time has been added with no end time or an end time has been added without a start time - what is the best way to deal with those times?
The best solution I can think of is to inform the user that there is no start/end time and give them the option of adding the event as all-day, setting the duration of the event to a default (maybe 1 hour?), edit the event to add the needed time or not add the event at all (i.e Cancel).
Is that a reasonable solution or is there a better way to deal with ambiguous event times in a calendar?
If I do set a default event duration is 1 hour a reasonable assumption? Should I let users set the default value or is having a start and end time input enough?