#nullable enable
namespace Baya.Application.Models.Booking;

/// <summary>
/// The served money breakdown for the C6 checkout of an <c>accepted_awaiting_payment</c> request. All money
/// is IRR digit-strings, computed server-side from config (the client renders, never derives). The display
/// decomposition reconciles to the captured total: <c>serviceCostIrr + commissionIrr + vatIrr = totalIrr</c>.
/// VAT is <b>carved out of the platform commission</b> (VAT-on-commission-only), so <c>commissionIrr</c> is
/// the commission <i>net of VAT</i> and the customer's total equals <c>grossPriceIrr</c> — the amount
/// captured. The raw b10 amounts (<c>grossPriceIrr</c>/<c>balinyaarCommissionIrr</c>/<c>nursePayoutAmount</c>)
/// are surfaced alongside for reference: <c>grossPriceIrr = balinyaarCommissionIrr + nursePayoutAmount</c>.
/// </summary>
public record CheckoutSummaryDto(
    long BookingRequestId,
    string RequestStatus,
    string NurseName,
    string PatientName,
    string VariantLabel,
    string VariantPriceUnit,
    int? SessionCount,
    DateOnly RequestedDate,
    TimeOnly RequestedTimeStart,
    TimeOnly RequestedTimeEnd,
    DateTime? PaymentDeadlineAt,
    string ServiceCostIrr,
    string CommissionIrr,
    string VatIrr,
    decimal VatRate,
    string TotalIrr,
    string GrossPriceIrr,
    string BalinyaarCommissionIrr,
    string NursePayoutAmount);
