export const scheduleUsesCartDiscount = (schedule) => Number(schedule?.cart_items_count ?? schedule?.cartItemsCount ?? schedule?.cart?.items_count ?? 0) >= 3 export const getSchedulePlatformFeeRate = (schedule, paymentType, platformFees) => { const fees = platformFees?.value ?? platformFees ?? {} if (scheduleUsesCartDiscount(schedule) && fees.cart_min_3_schedules !== null && fees.cart_min_3_schedules !== undefined) { return fees.cart_min_3_schedules } return fees[paymentType] } export const getSchedulePaymentType = (schedule, fallback = 'pix') => { const raw = schedule?.payment_method ?? schedule?.paymentMethod ?? schedule?.payment?.payment_method ?? schedule?.payment?.method ?? fallback const value = String(raw ?? fallback).toLowerCase() if (value.includes('credit') || value.includes('card')) return 'credit_card' if (value.includes('pix')) return 'pix' return fallback } export const getScheduleTotalWithPlatformFee = (schedule, paymentType, platformFees) => { const base = Number(schedule?.total_amount) || 0 const feeRate = getSchedulePlatformFeeRate(schedule, paymentType, platformFees) return parseFloat((base * (1 + (feeRate ?? 0))).toFixed(2)) }