namespace NeonSprawl.Server.Game.PositionState;

/// <summary>HTTP JSON body when <c>POST …/move</c> is rejected by movement validation (NS-19).</summary>
/// <remarks>
/// <para><b><c>reasonCode</c> (v1):</b> <see cref="MoveCommandReasonCodes"/>.</para>
/// </remarks>
public sealed class MoveCommandRejectedResponse
{
    public const int CurrentSchemaVersion = 1;

    public int SchemaVersion { get; init; }

    /// <summary>Non-empty stable code; see <see cref="MoveCommandReasonCodes"/>.</summary>
    public string ReasonCode { get; init; } = "";
}
