68 lines
2.9 KiB
C#
68 lines
2.9 KiB
C#
namespace LittleShop.Client.Models;
|
|
|
|
public class Customer
|
|
{
|
|
public Guid Id { get; set; }
|
|
public long TelegramUserId { get; set; }
|
|
public string TelegramUsername { get; set; } = string.Empty;
|
|
public string TelegramDisplayName { get; set; } = string.Empty;
|
|
public string TelegramFirstName { get; set; } = string.Empty;
|
|
public string TelegramLastName { get; set; } = string.Empty;
|
|
public string? Email { get; set; }
|
|
public string? PhoneNumber { get; set; }
|
|
public bool AllowMarketing { get; set; }
|
|
public bool AllowOrderUpdates { get; set; }
|
|
public string Language { get; set; } = "en";
|
|
public string Timezone { get; set; } = "UTC";
|
|
public int TotalOrders { get; set; }
|
|
public decimal TotalSpent { get; set; }
|
|
public decimal AverageOrderValue { get; set; }
|
|
public DateTime FirstOrderDate { get; set; }
|
|
public DateTime LastOrderDate { get; set; }
|
|
public string? CustomerNotes { get; set; }
|
|
public bool IsBlocked { get; set; }
|
|
public string? BlockReason { get; set; }
|
|
public int RiskScore { get; set; }
|
|
public int SuccessfulOrders { get; set; }
|
|
public int CancelledOrders { get; set; }
|
|
public int DisputedOrders { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public DateTime UpdatedAt { get; set; }
|
|
public DateTime LastActiveAt { get; set; }
|
|
public DateTime? DataRetentionDate { get; set; }
|
|
public bool IsActive { get; set; }
|
|
public string DisplayName { get; set; } = string.Empty;
|
|
public string CustomerType { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class CreateCustomerRequest
|
|
{
|
|
public long TelegramUserId { get; set; }
|
|
public string TelegramUsername { get; set; } = string.Empty;
|
|
public string TelegramDisplayName { get; set; } = string.Empty;
|
|
public string TelegramFirstName { get; set; } = string.Empty;
|
|
public string TelegramLastName { get; set; } = string.Empty;
|
|
public string? Email { get; set; }
|
|
public string? PhoneNumber { get; set; }
|
|
public bool AllowMarketing { get; set; } = false;
|
|
public bool AllowOrderUpdates { get; set; } = true;
|
|
public string Language { get; set; } = "en";
|
|
public string Timezone { get; set; } = "UTC";
|
|
}
|
|
|
|
public class UpdateCustomerRequest
|
|
{
|
|
public string TelegramUsername { get; set; } = string.Empty;
|
|
public string TelegramDisplayName { get; set; } = string.Empty;
|
|
public string TelegramFirstName { get; set; } = string.Empty;
|
|
public string TelegramLastName { get; set; } = string.Empty;
|
|
public string? Email { get; set; }
|
|
public string? PhoneNumber { get; set; }
|
|
public bool AllowMarketing { get; set; }
|
|
public bool AllowOrderUpdates { get; set; }
|
|
public string Language { get; set; } = "en";
|
|
public string Timezone { get; set; } = "UTC";
|
|
public string? CustomerNotes { get; set; }
|
|
public bool IsBlocked { get; set; }
|
|
public string? BlockReason { get; set; }
|
|
} |