Dono da reserva, anfitrião da agenda e equipe (owner, admin, moderador, financeiro), enquanto a reserva está ativa e **ainda não começou** (400 `startsAt`). Informe `startsAt` e/ou `endsAt` ou `durationMinutes`; o que faltar fica como está (a duração se mantém). Valem as mesmas regras de criar: horário de funcionamento, bloco, antecedência, bloqueios e conflito (a própria reserva não conflita com ela mesma), com a mesma trava; 409 traz `data.nextSlots`. Os créditos são acertados na mesma transação pelo novo custo: mais caro debita a diferença (sem saldo, 409 com `required/balance/shortfall`), mais barato estorna a diferença; reserva em cortesia não mexe no livro. Sem mudança, 400. O convite de calendário é atualizado (mesmo `UID`, `SEQUENCE` maior), o lembrete de 1 hora volta a valer e o e-mail `changed` sai pela fila. Remarcar não é cancelar e não perde crédito, mas quando o próprio dono remarca uma reserva que já está dentro da janela de cancelamento, a reserva fica marcada `lateCancel: true` e um cancelamento posterior perde os créditos conforme `lateCancelLosesCredits`. Se o plano está em atraso ou pausado e a variável de plataforma `credits.useWhileSubscriptionInactive` está desligada, a diferença a debitar é recusada (409, `credits`). Anfitrião (que não é equipe) não pode fazer a remarcação que encarece a reserva do outro (403).