using Meezi.Core.Enums;

namespace Meezi.API.Models.Billing;

public record SubscribeRequest(PlanTier PlanTier, int Months, string? PaymentMethod = null);

public record PaymentMethodDto(string Id, string DisplayNameFa, bool IsDefault);

public record SubscribeResponse(string PaymentId, string PaymentUrl);

public record BillingStatusDto(
    PlanTier PlanTier,
    DateTime? PlanExpiresAt,
    int OrdersToday,
    int? OrdersDailyLimit,
    int CustomersCount,
    int? CustomersLimit,
    int SmsUsedThisMonth,
    int SmsMonthlyLimit,
    bool Menu3dEnabled,
    bool MenuAi3dEnabled,
    int MenuAi3dUsedThisMonth,
    int MenuAi3dMonthlyLimit,
    bool DiscoverProfileEnabled,
    bool IsPlanExpired);

public record BillingVerifyResult(bool Success, string RedirectUrl);
