<?php

namespace SplitPay\Contracts;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class TransferableItem {

	public int $product_id;
	public string $product_type;
	public int $quantity;
	public float $unit_price;
	public float $line_total;
	public float $product_discount;
	public array $tax_data;
	public float $shipping_cost;
	public array $connected_accounts;
	public array $transfer_types;
	public array $transfer_percentages;
	public array $transfer_amounts;
	public array $shipping_transfer_settings;
	public string $transfer_level;

	public function __construct(
		int $product_id = 0,
		string $product_type = '',
		int $quantity = 0,
		float $unit_price = 0.0,
		float $line_total = 0.0,
		float $product_discount = 0.0,
		array $tax_data = [],
		float $shipping_cost = 0.0,
		array $connected_accounts = [],
		array $transfer_types = [],
		array $transfer_percentages = [],
		array $transfer_amounts = [],
		array $shipping_transfer_settings = [],
		string $transfer_level = ''
	) {
		$this->product_id                = $product_id;
		$this->product_type              = $product_type;
		$this->quantity                  = $quantity;
		$this->unit_price                = $unit_price;
		$this->line_total                = $line_total;
		$this->product_discount          = $product_discount;
		$this->tax_data                  = $tax_data;
		$this->shipping_cost             = $shipping_cost;
		$this->connected_accounts        = $connected_accounts;
		$this->transfer_types            = $transfer_types;
		$this->transfer_percentages      = $transfer_percentages;
		$this->transfer_amounts          = $transfer_amounts;
		$this->shipping_transfer_settings = $shipping_transfer_settings;
		$this->transfer_level            = $transfer_level;
	}
}
