namespace Api; public sealed class Customer { public int Id { get; set; } public required string Name { get; set; } public required string Email { get; set; } public required string Country { get; set; } } public sealed class Product { public int Id { get; set; } public required string Sku { get; set; } public required string Name { get; set; } public decimal Price { get; set; } } public sealed class Address { public int Id { get; set; } public required string Street { get; set; } public required string City { get; set; } public required string PostalCode { get; set; } public required string Country { get; set; } } public sealed class Carrier { public int Id { get; set; } public required string Name { get; set; } } public sealed class Order { public int Id { get; set; } public int CustomerId { get; set; } public Customer Customer { get; set; } = null!; public DateTime OrderedAt { get; set; } public required string Status { get; set; } public int ShippingAddressId { get; set; } public Address ShippingAddress { get; set; } = null!; public int? BillingAddressId { get; set; } public Address? BillingAddress { get; set; } public int? CarrierId { get; set; } public Carrier? Carrier { get; set; } public List Lines { get; set; } = []; public List Payments { get; set; } = []; } public sealed class OrderLine { public int Id { get; set; } public int OrderId { get; set; } public int ProductId { get; set; } public Product Product { get; set; } = null!; public int Quantity { get; set; } public decimal UnitPrice { get; set; } } public sealed class Payment { public int Id { get; set; } public int OrderId { get; set; } public decimal Amount { get; set; } public DateTime PaidAt { get; set; } public required string Method { get; set; } }