<odoo>
    <record id="stock_picking_batch_pivot" model="ir.ui.view">
        <field name="name">stock.picking.batch.pivot</field>
        <field name="model">stock.picking.batch</field>
        <field name="arch" type="xml">
            <pivot string="Batch Transfer" class="oe_stock_picking_batch" sample="1">
                <field name="scheduled_date" type="row"/>
                <field name="vehicle_id" type="col"/>
            </pivot>
        </field>
    </record>

    <record id="stock_picking_batch_graph" model="ir.ui.view">
        <field name="name">stock.picking.batch.graph</field>
        <field name="model">stock.picking.batch</field>
        <field name="arch" type="xml">
            <graph string="Graph View" class="oe_stock_picking_batch" sample="1">
                <field name="scheduled_date" type="row" interval="day"/>
                <field name="vehicle_category_id" type="row"/>
            </graph>
        </field>
    </record>

    <record id="stock_picking_batch_form" model="ir.ui.view">
        <field name="name">stock.picking.batch.form.inherit.stock.fleet</field>
        <field name="model">stock.picking.batch</field>
        <field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_form"/>
        <field name="arch" type="xml">
            <xpath expr="//group[@id='batch_delivery_data']" position="after">
                <group invisible="not has_dispatch_management">
                    <field name="dock_id" invisible="not allowed_dock_ids" groups="stock.group_stock_multi_locations" options="{'no_create': True, 'no_open': True}"/>
                    <field name="vehicle_id" placeholder="Third Party Provider"/>
                    <field name="vehicle_category_id" placeholder="semi-truck"/>
                    <label for='used_weight_percentage' string="Weight" invisible="not vehicle_category_id or not vehicle_weight_capacity"/>
                        <div class='d-flex flex-row gap-4' invisible="not vehicle_category_id or not vehicle_weight_capacity">
                            <div class='d-flex flex-row gap-1'>
                                <field name='estimated_shipping_weight'/>
                                <span><field name='weight_uom_name'/></span>
                            </div>
                            <field name='used_weight_percentage' widget='progressbar'/>
                        </div>

                    <label for='used_volume_percentage' string="Volume" invisible="not vehicle_category_id or not vehicle_volume_capacity"/>
                        <div class='d-flex flex-row gap-4' invisible="not vehicle_category_id or not vehicle_volume_capacity">
                            <div class='d-flex flex-row gap-1'>
                                <field name='estimated_shipping_volume'/>
                                <span><field name='volume_uom_name'/></span>
                            </div>
                            <field name='used_volume_percentage' widget='progressbar'/>
                        </div>
                </group>
            </xpath>
        </field>
    </record>

    <record id="stock_picking_batch_tree" model="ir.ui.view">
        <field name="name">stock.picking.batch.list.inherit.stock.fleet</field>
        <field name="model">stock.picking.batch</field>
        <field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_tree"/>
        <field name="arch" type="xml">
            <data>
                <field name="user_id" position="attributes">
                    <attribute name="optional">show</attribute>
                </field>
                <field name="user_id" position="after">
                    <field name="vehicle_category_id" optional="hide"/>
                    <field name="vehicle_id" optional="hide"/>
                    <field name="dock_id" optional="hide" groups="stock.group_stock_multi_locations"/>
                    <field name="used_volume_percentage" optional="hide"/>
                    <field name="used_weight_percentage" optional="hide"/>
                </field>
            </data>
        </field>
    </record>

    <record id="stock_picking_batch_filter" model="ir.ui.view">
        <field name="name">stock.picking.batch.filter.inherit.stock.fleet</field>
        <field name="model">stock.picking.batch</field>
        <field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_filter"/>
        <field name="arch" type="xml">
            <field name="user_id" position="after">
                <field name="vehicle_id"/>
                <field name="dock_id"/>
                <field name="driver_id"/>
            </field>
            <xpath expr="//filter[@name='state']" position="after">
                <filter name="group_by_vehicle_id" string="Vehicle" context="{'group_by':'vehicle_id'}"/>
                <filter name="group_by_vehicle_category_id" string="Vehicle Category" context="{'group_by':'vehicle_category_id'}"/>
                <filter name="group_by_scheduled_date" string="Scheduled Date" context="{'group_by':'scheduled_date'}"/>
                <filter name="group_by_picking_type_id" string="Operation Type" context="{'group_by':'picking_type_id'}"/>
                <filter name="group_by_dock_id" string="Dock Location" context="{'group_by':'dock_id'}" groups="stock.group_stock_multi_locations"/>
            </xpath>
            <xpath expr="//filter[@name='done']" position="after">
                <filter name="vehicle_id" string="Own Fleet" domain="[('vehicle_id', '!=', False)]"/>
                <filter name="vehicle_id" string="Third Party Carrier" domain="[('vehicle_id', '=', False), ('vehicle_category_id', '!=', False)]"/>
            </xpath>
            <xpath expr="//filter[@name='my_transfers']" position="after">
                <filter name="scheduled_date" date="scheduled_date" string="Scheduled Date"/>
                <filter string="Today" name="filter_today" domain="[('scheduled_date', '&gt;=', 'today'), ('scheduled_date', '&lt;', 'today +1d')]"/>
                <filter string="Tomorrow" name="filter_tomorrow" domain="[('scheduled_date','&gt;=', 'today +1d')]" /><!-- wrong -->
                <filter string="Next 7 Days" name="filter_next_7_days" domain="[('scheduled_date','&gt;=', 'today +7d')]"/><!-- wrong -->
            </xpath>
        </field>
    </record>

    <record id="stock_picking_batch_kanban" model="ir.ui.view">
        <field name="name">stock.picking.batch.kanban.inherit.stock.fleet</field>
        <field name="model">stock.picking.batch</field>
        <field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_kanban"/>
        <field name="arch" type="xml">
            <data>
                <xpath expr="//field[@name='company_id']" position="after">
                    <field name="estimated_shipping_weight"/>
                    <field name="estimated_shipping_volume"/>
                    <field name="vehicle_id"/>
                    <field name="vehicle_weight_capacity"/>
                    <field name="vehicle_volume_capacity"/>
                </xpath>
                <xpath expr="//field[@name='scheduled_date']" position="after">
                    <i class="fa fa-long-arrow-right mx-2" title="Arrow"/>
                    <field name="end_date"/>
                </xpath>
                <xpath expr="//div[field[@name='scheduled_date']]" position="after">
                    <t t-set="total_vehicle_weight_capacity" t-value="record.vehicle_weight_capacity.raw_value"/>
                    <t t-set="total_vehicle_volume_capacity" t-value="record.vehicle_volume_capacity.raw_value"/>
                    <div t-if="record.vehicle_id.raw_value" class="d-flex">
                        <div>
                            <i class="fa fa-truck text-primary me-2" title="Vehicle"/>
                        </div>
                        <div>
                            <t t-out="record.vehicle_id.value"/>
                            <span class="text-muted text-nowrap" t-if="total_vehicle_weight_capacity or total_vehicle_volume_capacity">
                                (<t t-if="total_vehicle_weight_capacity">
                                    <t t-out="total_vehicle_weight_capacity"/> <field name="weight_uom_name"/>
                                    <t t-if="total_vehicle_volume_capacity">, </t>
                                </t>
                                <t t-if="total_vehicle_volume_capacity">
                                    <t t-out="total_vehicle_volume_capacity"/> <field name="volume_uom_name"/>
                                </t>)
                            </span>
                        </div>
                    </div>
                    <div t-if="record.dock_id.raw_value" class="text-truncate" invisible="not allowed_dock_ids" groups="stock.group_stock_multi_locations">
                        <i class="fa fa-cubes text-primary me-2" title="Location"/>
                        <field name="dock_id"/>
                    </div>
                </xpath>
                <xpath expr="//span[@name='transfer_count']" position="after">
                    <t t-set="total_estimated_shipping_weight" t-value="record.estimated_shipping_weight.raw_value"/>
                    <t t-set="total_estimated_shipping_volume" t-value="record.estimated_shipping_volume.raw_value"/>
                    <t t-set="insufficient_capacity" t-value="total_estimated_shipping_weight > total_vehicle_weight_capacity or total_estimated_shipping_volume > total_vehicle_volume_capacity"/>
                    <span t-if="total_estimated_shipping_weight or total_estimated_shipping_volume"
                          t-att-class="record.vehicle_id.raw_value and (insufficient_capacity ? 'text-danger' : 'text-success')">
                        (<t t-if="total_estimated_shipping_weight">
                            <t t-out="total_estimated_shipping_weight"/> <field name="weight_uom_name"/>
                            <t t-if="total_estimated_shipping_volume">, </t>
                        </t>
                        <t t-if="total_estimated_shipping_volume">
                            <t t-out="total_estimated_shipping_volume"/> <field name="volume_uom_name"/>
                        </t>)
                    </span>
                </xpath>
            </data>
        </field>
    </record>
</odoo>
