Your duration is not a duration though, it is being interpreted as an actual time of day. If you want 4.5 hours added to start then you can do start+Minute(270) which adds 270 minutes (4.5 hours).
Is there a convenience function for handling the duration more intuitively instead of total number of minutes? Which is doing something like the following?
function duration(h::Int64=0,m::Int64=0,s::Int64=0,ms::Int64=0,mus::Int64=0,ns::Int64=0)
return (Hour(h) + Minute(m) + Second(s) + Millisecond(ms) + Microsecond(mus) + Nanosecond(ns))
end