/**
  * Construct and initialize the importer
  *
  * @since 1.0.0
  */
 public function __construct()
 {
     parent::__construct();
     $this->title = __('Import Customers', 'woocommerce-csv-import-suite');
     $this->file_url_import_enabled = apply_filters('woocommerce_csv_customer_file_url_import_enabled', true);
     $this->i18n = array('count' => esc_html__('%s customers'), 'count_inserted' => esc_html__('%s customers inserted'), 'count_merged' => esc_html__('%s customers merged'), 'count_skipped' => esc_html__('%s customers skipped'), 'count_failed' => esc_html__('%s customers failed'));
     $this->address_fields = array('first_name', 'last_name', 'company', 'email', 'phone', 'address_1', 'address_2', 'city', 'state', 'postcode', 'country');
     $this->customer_data_fields = array('billing_address', 'shipping_address', 'paying_customer');
     add_filter('wc_csv_import_suite_woocommerce_customer_csv_column_default_mapping', array($this, 'column_default_mapping'), 10, 2);
     add_action('wc_csv_import_suite_before_import_options_fields', array($this, 'advanced_import_options'));
 }
 /**
  * Construct and initialize the importer
  *
  * @since 1.0.0
  */
 public function __construct()
 {
     parent::__construct();
     $this->title = __('Import Coupons', 'woocommerce-csv-import-suite');
     $this->file_url_import_enabled = apply_filters('woocommerce_csv_coupon_file_url_import_enabled', true);
     $this->coupon_data_fields = array('type', 'amount', 'enable_free_shipping', 'expiry_date', 'individual_use', 'minimum_amount', 'maximum_amount', 'exclude_sale_items', 'products', 'exclude_products', 'product_categories', 'exclude_product_categories', 'customer_emails', 'usage_limit', 'usage_limit_per_user', 'usage_count', 'limit_usage_to_x_items');
     $this->coupon_meta_fields = array('discount_type', 'coupon_amount', 'free_shipping', 'expiry_date', 'individual_use', 'minimum_amount', 'maximum_amount', 'exclude_sale_items', 'product_ids', 'exclude_product_ids', 'product_categories', 'exclude_product_categories', 'customer_email', 'usage_limit', 'usage_limit_per_user', 'usage_count', 'limit_usage_to_x_items');
     $this->coupon_meta_data_mapping = array('discount_type' => 'type', 'coupon_amount' => 'amount', 'free_shipping' => 'enable_free_shipping', 'product_categories' => 'product_category_ids', 'exclude_product_categories' => 'exclude_product_category_ids', 'customer_email' => 'customer_emails');
     $this->i18n = array('count' => esc_html__('%s coupons'), 'count_inserted' => esc_html__('%s coupons inserted'), 'count_merged' => esc_html__('%s coupons merged'), 'count_skipped' => esc_html__('%s coupons skipped'), 'count_failed' => esc_html__('%s coupons failed'));
     add_filter('wc_csv_import_suite_woocommerce_coupon_csv_column_default_mapping', array($this, 'column_default_mapping'), 10, 2);
 }
 /**
  * Construct and initialize the importer
  *
  * @since 1.0.0
  */
 public function __construct()
 {
     parent::__construct();
     $this->title = __('Import Orders', 'woocommerce-csv-import-suite');
     $this->file_url_import_enabled = apply_filters('woocommerce_csv_order_file_url_import_enabled', true);
     $this->i18n = array('count' => esc_html__('%s orders'), 'count_inserted' => esc_html__('%s orders inserted'), 'count_merged' => esc_html__('%s orders merged'), 'count_skipped' => esc_html__('%s orders skipped'), 'count_failed' => esc_html__('%s orders failed'));
     $this->order_meta_fields = array("tax_total", "shipping_total", "shipping_tax_total", "cart_discount", "order_total", "payment_method", "customer_user", "download_permissions_granted");
     $this->order_address_fields = array('first_name', 'last_name', 'company', 'email', 'phone', 'address_1', 'address_2', 'city', 'state', 'postcode', 'country');
     $this->line_types = array('line_item' => 'line_items', 'shipping' => 'shipping_lines', 'fee' => 'fee_lines', 'tax' => 'tax_lines', 'coupon' => 'coupon_lines');
     $this->line_item_mapping = array('id' => 'order_item_id');
     $this->tax_item_mapping = array('id' => 'order_item_id', 'name' => 'code', 'title' => 'label', 'total' => 'tax_amount', 'shipping_total' => 'shipping_tax_amount', 'tax_rate_compound' => 'compound');
     $this->shipping_item_mapping = array('id' => 'order_item_id', 'method' => 'method_title', 'total' => 'cost');
     $this->fee_item_mapping = array('id' => 'order_item_id', 'title' => 'name', 'tax' => 'total_tax');
     // provide some base custom order number functionality, while allowing 3rd party plugins with custom
     // order number functionality to unhook this and provide their own logic
     add_action('woocommerce_set_order_number', array($this, 'woocommerce_set_order_number'), 10, 3);
     add_filter('wc_csv_import_suite_woocommerce_order_csv_column_default_mapping', array($this, 'column_default_mapping'), 10, 2);
     add_action('wc_csv_import_suite_column_mapping_options', array($this, 'advanced_column_mapping_options'), 10, 5);
     add_action('wc_csv_import_suite_before_import_options_fields', array($this, 'advanced_import_options'));
 }