My suggestion is that in addition to NEW EVENT and EDIT event on the context menu, you include an COPY EVENT entry. What this would do is add a new entry, but also copy the details from the currently selected event. It'd be up to the user to change whatever they needed to, and an assumption would be that if nothing was changed, it couldn't be saved (thereby avoiding duplicated events).
Why have something like this? It'd be used for irregular appointments/events where almost everything one or two fields are the same, such as Doctor's appointments. It would save some retyping of the details.