<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <tab id="zhik_extensions" sortOrder="100">
            <label>Zhik Extensions</label>
        </tab>
        <section id="myoba" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
            <class>separator-top</class>
            <label>MYOBA</label>
            <tab>zhik_extensions</tab>
            <resource>Zhik_Myoba::settings</resource>
            <group id="connection" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1" translate="label">
                <label>Connection</label>
                <field id="status" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Enable Syncing with MYOBA</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="connection" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Default MYOB Connection</label>
                    <source_model>Zhik\Myoba\Model\System\Config\Source\Connections</source_model>
                    <hint>MYOB Connections can only be edited directly in the database at this time</hint>
                </field>
            </group>
            <group id="inventory" type="text" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Inventory</label>
                <field id="status" type="select" translate="label" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Enable Inventory Syncing</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="warehouse_map" translate="label" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Inventory Source Mapping</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\WarehouseMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>
            </group>
            <group id="orders" type="text" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Orders</label>
                <field id="status" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Enable Order Syncing</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="sync_from" type="date" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Sync Orders From Date</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\Field\Date</frontend_model>
                </field>
                <field id="warehouse" translate="label" type="select" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>MYOBA Warehouse</label>
                    <source_model>Zhik\Myoba\Model\System\Config\Source\Warehouses</source_model>
                </field>
                <field id="create_customers" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Create new customers</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="default_customerclass" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Default Customer Class</label>
                    <comment>Used when creating new customers in MYOB</comment>
                    <source_model>Zhik\Myoba\Model\System\Config\Source\CustomerClasses</source_model>
                </field>
                <field id="default_priceclass" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Default Price Class</label>
                    <comment>Used when creating new customers in MYOB</comment>
                    <source_model>Zhik\Myoba\Model\System\Config\Source\CustomerPriceClasses</source_model>
                </field>
                <field id="default_customerid" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Default Customer ID</label>
                    <comment>Assigned to an order when new customer creation fails or is not enabled</comment>
                    <source_model>Zhik\Myoba\Model\System\Config\Source\DefaultCustomers</source_model>
                </field>
                <field id="discount_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Shopping Cart Price Rules</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\DiscountMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>
                <!--<field id="certificate_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Gift Certificates</label>
                    <frontend_model>zhik_myoba/adminhtml_config_certificateMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>-->
                <field id="payment_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Payments</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\PaymentMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>
                <field id="shipvia_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Shipping Methods</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\ShipviaMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                </field>
                <field id="magento_taxes" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Use Magento Taxes</label>
                    <comment>Submit Magento order tax rates into MYOB. Requires MYOB ID entered for each tax rate. Selecting no will use MYOB tax calculations</comment>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="duties_tax_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Duty and Tax Mapping</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\DutiesTaxesMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                    <comment>Maps specific non-stock/stock item IDs in MYOB for Duties and Taxes.</comment>
                </field>
            </group>
            <group id="shipments" type="text" translate="label" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Shipments</label>
                <field id="status" type="select" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Enable Shipment Syncing</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="time_limit" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Sync Delta</label>
                    <comment>Limit shipment sync to number of days after the last modified date</comment>
                </field>
            </group>
            <group id="customers" type="text" translate="label" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Customers</label>
                <field id="status" type="select" translate="label" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Enable Customer Syncing</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="tax_class_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Tax Exempt Zone Map</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\TaxClassMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                    <comment>Customers with these tax classes are assigned to the tax exempt customer group.</comment>
                </field>
                <field id="external_orders_customer_map" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Specific Orders Customer Mapping</label>
                    <frontend_model>Zhik\Myoba\Block\Adminhtml\Config\ExternalCustomerMap</frontend_model>
                    <backend_model>Magento\Config\Model\Config\Backend\Serialized\ArraySerialized</backend_model>
                    <comment>Maps specific order class types (amazon,other customer group, etc) to specific customer IDs in MYOB.</comment>
                </field>
            </group>
            <group id="schedule" type="text" translate="label" sortOrder="60" showInDefault="1" showInWebsite="0" showInStore="0">
                <label>Automatic Syncing Schedule</label>
                <field id="exec" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Executor</label>
                    <comment>Runs all jobs that have been scheduled below</comment>
                </field>
                <field id="watchdog" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Watchdog</label>
                    <comment>Send alert email for unsynced orders &amp; errors</comment>
                </field>
                <field id="order" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Order</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="shipment" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Shipments</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="product" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Products</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="prices" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Customer Prices</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="inventory" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Inventory</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="customer" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Customers</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
                <field id="purchase" type="text" translate="label" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Purchase Orders</label>
                    <comment>Use Crontab Format (Eg. "*/5 * * * *" for every 5 minutes)</comment>
                </field>
            </group>
            <group id="webhooks" type="text" translate="label" sortOrder="70" showInDefault="1" showInWebsite="0" showInStore="0">
                <label>Webhooks</label>
                <field id="key" type="text" translate="label" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Key</label>
                    <comment>Authorisation key used for requests</comment>
                </field>
                <field id="enable_customer" type="select" translate="label" showInDefault="1" showInWebsite="0" showInStore="0">
                    <label>Enable Customers</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <comment>Enable customer updates via webhook</comment>
                </field>
            </group>
        </section>
    </system>
</config>
