We’ve now added the ability to process modifications to existing reservations sent to ReservationKey from MyAllocator.
How this works is we set the prior version of the reservation to cancelled and then insert the modification as if we were inserting a new reservation. If the ReservationKey account doesn’t contain a status that doesn’t block the calendar (such as cancelled) the system will create one. We considered just deleting the old reservation but that didn’t seem like a good idea since it may have been possible that some custom notes or other information were added to the reservation that shouldn’t be deleted. We also considered just changing the rooms/units associated with the original reservation, but that also seemed difficult since we wouldn’t always know what to change, and there wouldn’t be a good record of the differences between the modifications.
In order to make this work, we are now saving the version number with the reservation as it comes in from MyAllocator (this isn’t visible to the end-user). If the same version and MyAllocator ID already exists in ReservationKey we don’t do anything (in order to avoid entering duplicate reservations, in case the reservation gets posted to our system multiple times for any reason). If the data being submitted is a different version than what already exists in ReservatoinKey, we change the existing version(s) to cancelled and then insert the new version as if it were a new reservation. If for any reason the new reservation dates are already blocked in ReservationKey the system will email the ReservationKey user a warning that the reservation was unable to be entered.
So, here is how it would look.
1. Original reservation.
2. First modification moves the date one day; original reservation cancelled (shows as a 1) and new reservation is entered.
3. Second modification changes the reservation from one day to two days.
This should help keep things in much better sync with regard to modifications. We suggest that you carefully monitor your incoming reservations from MyAllocator and check ReservationKey, at least for awhile, so you can verify that everything is working as expected.
Thanks to all our MyAllocator users for your help with our continued development with this functionality between ReservationKey and MyAllocator.