UNPKG

softseti-sale-calculator-library

Version:

Sales calculation engine by Softseti

85 lines (76 loc) 1.83 kB
export interface CurrencyConversion { amount: number; original_amount: number; currency_iso: string; original_currency_iso: string; exchange_rate: number; } export interface PaymentCalculation extends CurrencyConversion { gived_amount: number; original_gived_amount: number; } export interface WholesaleLevel { dw_product_id: number; wholesale_level_id: number; name: string; description: string; price: number; quantity_min: number; quantity_max: number; branch_id: number; company_id: number; } export interface SaleTotals { subtotal: number; total: number; original_subtotal?: number; original_total?: number; change: number; debt: number; } export interface Sale { id: string | number; total: number; currency_iso: string; return_items: SaleItem[]; credit_memos?: CreditMemo[]; } export interface SaleItem { product_id: string | number; quantity: number | null; sale_product_quantity: number; price: number; name?: string; code?: string; sku?: string; refund_amount?: number; } export interface CreditMemo { id: string | number; sale_id: string | number; total_refund: number; return_items: SaleItem[]; timestamp?: Date; } export interface RefundCalculation { valid: boolean; message?: string, total_refund: number; return_items: { product_id: string | number; quantity: number | null; refund_amount: number; price: number; name?: string; code?: string; sku?: string; }[]; remaining_sale_total: number; previous_refunds_total: number; input_type: 'items_full_refund' | 'items_with_custom_amount' | 'amount_only'; } export interface RefundOptions { input_type: 'items_full_refund' | 'items_with_custom_amount' | 'amount_only'; requested_refund_amount?: number; decimal_precision: number; }