namespace SeaHaven.Services.DTOs { public sealed class WorkOrderIngestPayloadDto { public required string ExternalWorkOrderId { get; set; } public string? Description { get; set; } public string? WoStatus { get; set; } public string? Severity { get; set; } public string? Customer { get; set; } public string? SiteCode { get; set; } public string? Building { get; set; } public string? Address { get; set; } public DateTime? DueDate { get; set; } public DateTime? DateReported { get; set; } public DateTime? ScheduledStart { get; set; } public string? SourceEmailS3Key { get; set; } public DateTime? CreatedAt { get; set; } } public sealed class WorkOrderIngestBatchRequestDto { public List? Items { get; set; } } public sealed class WorkOrderIngestItemResultDto { public required string ExternalWorkOrderId { get; set; } public int WorkOrderId { get; set; } public bool Created { get; set; } } public sealed class WorkOrderIngestBatchResultDto { public int Created { get; set; } public int Updated { get; set; } public int Skipped { get; set; } public List Results { get; set; } = new(); } public sealed class WorkOrderOpsHealthDto { public DateTime? LastWeekRolledRunUtc { get; set; } public DateTime? LastPastDueCacheRunUtc { get; set; } public string? LastWeekRolledError { get; set; } public string? LastPastDueCacheError { get; set; } public int SyncRejectedLast24h { get; set; } public int FieldLockCount { get; set; } public bool SyncEnabled { get; set; } public bool IngestEnabled { get; set; } public bool LegacyDeprecationEnabled { get; set; } public string? LegacySunsetDate { get; set; } public DateTime CheckedAtUtc { get; set; } } }