For example: The End time picker in outlook and google calendar allow to schedule a meeting/event for 0 minutes.
Is this a real use case? Why would anyone schedule something for 0 mins? Does anyone know the reason why this option is available?
When you think about exactly what the user is choosing, this makes sense (to allow zero minutes).
What you're really doing is asking two questions of the user:
The answer to the first is the start time. The answer to the second is either a number of minutes, or an end time - both have valid logic behind them. But either way, what you're really doing is picking "how long to block off". If the user does not want to block off any time for the meeting, that's a perfectly reasonable choice when thought of this way.
In this case the meeting can act as two things: a reminder to do something that is not constrained by time and a start of something with no clearly defined schedule.
It could also be an oversight; in Glasgow we have ticket machines for rail that default you to buy 0 tickets which is really dumb.
My answer is why not? Software is designed to enable users. Be cautious of making decisions, particularly ones that constrain users in ways you may not consider. There are many reasons why someone might use it: a reminder or a broadcasted note to others... who knows? (some research may find out)
In my experience, removing things like that because you ask (and don't answer) the question, "who would do that?" always leads to complaints. Also, the best software is able to provide utility in ways even the developers didn't see or intend. Scheduling is rife with such cases.
This relates to two maxims I work from:
get out of the users' way
Know thy users, and you are not thy users.
Should a calculator allow you to add zero to a number? My answer: yes. What's the use case? My answer: it doesn't need a use case. You don't remove a capability that "falls out naturally" and requires no effort to provide, just because you can't think why anyone would want to do that.
Any sort of open-house event might be well-served by this approach: people can accept and have a reminder added without it blocking out their calendar. The event may also have an end criterion that's not defined in terms of time. For example:
To force a minimum meeting time is an unnecessary restriction on your users without helping them, and begs the question "what is the shortest meeting permissible?" If you set minimum 5 minutes, the next management fad will be a 1-minute meeting, standing up at your desk shouting what you achieved today.
Seeing as this is a UX form, one would hope that people will work interfaces from user needs, and no the other way around.
If you collect user stories during the research/requirements phase, I doubt anyone would like to book a meeting that has no length - obviously if you meet, the meeting will take some time. A meeting with the length of 0 is not a meeting.
You may have stakeholders asking to have reminders on the calendar, but using the event interface is daft - if the user wants a reminder, why would she have to pick the both the same date and time twice? It's senseless.