<?xml version="1.0" encoding="utf-8"?>
<odoo>

    <!-- List View — mirrors extension columns -->
    <record id="wt_location_log_view_list" model="ir.ui.view">
        <field name="name">wt.location.log.list</field>
        <field name="model">wt.location.log</field>
        <field name="arch" type="xml">
            <list string="Location Logs" default_order="arrived_at asc">
                <field name="category"/>
                <field name="distance_from_previous" string="Distance (mi)"/>
                <field name="address"/>
                <field name="name" string="Name"/>
                <field name="arrived_at" string="Begin Time"/>
                <field name="departed_at" string="End Time"/>
                <field name="time_at_location" string="Duration (hrs)" widget="float_time"/>
                <field name="travel_mode" optional="show"/>
                <field name="date" optional="show"/>
            </list>
        </field>
    </record>

    <!-- Form View -->
    <record id="wt_location_log_view_form" model="ir.ui.view">
        <field name="name">wt.location.log.form</field>
        <field name="model">wt.location.log</field>
        <field name="arch" type="xml">
            <form string="Location Log">
                <header>
                    <button name="action_geocode" string="Resolve Address" type="object" class="btn-primary"/>
                    <button name="action_compute_distances" string="Compute Distances" type="object"/>
                </header>
                <sheet>
                    <group>
                        <group string="Location">
                            <field name="date"/>
                            <field name="category"/>
                            <field name="place_name" string="Name"/>
                            <field name="address"/>
                            <field name="latitude"/>
                            <field name="longitude"/>
                        </group>
                        <group string="Timing">
                            <field name="arrived_at" string="Begin Time"/>
                            <field name="departed_at" string="End Time"/>
                            <field name="time_at_location" string="Duration (hrs)" widget="float_time"/>
                        </group>
                    </group>
                    <group>
                        <group string="Travel from Previous Stop">
                            <field name="distance_from_previous" string="Distance (mi)"/>
                            <field name="travel_time_from_previous" string="Travel Time (hrs)" widget="float_time"/>
                            <field name="travel_mode"/>
                        </group>
                        <group string="Settings">
                            <field name="source"/>
                            <field name="add_to_calendar"/>
                            <field name="calendar_event_id"/>
                        </group>
                    </group>
                    <group string="Notes">
                        <field name="notes" nolabel="1"/>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

    <!-- Search View -->
    <record id="wt_location_log_view_search" model="ir.ui.view">
        <field name="name">wt.location.log.search</field>
        <field name="model">wt.location.log</field>
        <field name="arch" type="xml">
            <search string="Search Location Logs">
                <field name="name"/>
                <field name="address"/>
                <field name="place_name"/>
                <field name="category"/>
                <field name="date"/>
                <filter string="Today" name="today" domain="[('date','=', context_today().strftime('%Y-%m-%d'))]"/>
                <filter string="This Week" name="this_week" domain="[('date','&gt;=', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"/>
                <group expand="0" string="Group By">
                    <filter string="Date" name="group_date" context="{'group_by': 'date'}"/>
                    <filter string="Category" name="group_category" context="{'group_by': 'category'}"/>
                    <filter string="Travel Mode" name="group_travel_mode" context="{'group_by': 'travel_mode'}"/>
                </group>
            </search>
        </field>
    </record>

    <!-- Action -->
    <record id="wt_location_log_action" model="ir.actions.act_window">
        <field name="name">Location Logs</field>
        <field name="res_model">wt.location.log</field>
        <field name="view_mode">list,form</field>
        <field name="search_view_id" ref="wt_location_log_view_search"/>
    </record>

</odoo>
