using System.Text.Json; namespace SendEngine.Api.Models; public sealed class CreateSendJobRequest { public Guid TenantId { get; set; } public Guid ListId { get; set; } public string? Name { get; set; } public string? Subject { get; set; } public string? BodyHtml { get; set; } public string? BodyText { get; set; } public JsonElement? Template { get; set; } public DateTimeOffset? ScheduledAt { get; set; } public DateTimeOffset? WindowStart { get; set; } public DateTimeOffset? WindowEnd { get; set; } public TrackingOptions? Tracking { get; set; } } public sealed class TrackingOptions { public bool? Open { get; set; } public bool? Click { get; set; } } public sealed class CreateSendJobResponse { public Guid SendJobId { get; set; } public string Status { get; set; } = "pending"; } public sealed class SendJobResponse { public Guid Id { get; set; } public Guid TenantId { get; set; } public Guid ListId { get; set; } public Guid CampaignId { get; set; } public string Status { get; set; } = "pending"; public DateTimeOffset? ScheduledAt { get; set; } public DateTimeOffset? WindowStart { get; set; } public DateTimeOffset? WindowEnd { get; set; } } public sealed class SendJobStatusResponse { public Guid Id { get; set; } public string Status { get; set; } = string.Empty; }