Maintaining Consistency between Loosely Coupled Services in the Presence of Timing Constraints and Validation Errors