It seems like the conversion of the the three arrays to `DingProviderReservation` could be refactored. There seems to be some duplicated code which could make future maintenance tricky.