Quick validation so far
In the system prompt Step 5 you instruct:
> “Trigger: BookAppointment, SendNotificationForMeetingReminder”
but you do not tell the model that those must be sequential or blocking.
Tool definitions:
_BookAppointment → "async": true
_SendNotificationForMeetingReminder → "async": false
Because of that, the model often emits both function calls in a single message. The platform dispatches them top‑to‑bottom, but the async (= fire‑and‑forget) booking call immediately returns control to the runtime, letting the synchronous notification finish first—so you see the wrong order in practice even though the JSON order was correct.