What it does
Viindoo Tracking Location provides a reusable tracking-history and geocoding foundation for business objects in Odoo. It offers a shared current-location snapshot and history stack that can be reused by shipments, containers, vehicles, vessels, packages, and other documents that need location visibility.
Key Features
- Reusable tracking mixin
- Provide tracking.location.mixin so business models can enable current location snapshots and tracking history through one shared contract.
- Keep target models lightweight by reusing common actions and synchronization helpers.
- Shared tracking history model
- Provide tracking.location.history to store location updates through res_model_id, res_model, res_id, and res_ref.
- Allow one common tracking-history model to serve many business objects.
- Geocoding and synchronization workflow
- Support manual and automatic coordinate refresh from free-text location updates.
- Synchronize the latest confirmed coordinates back to the tracked record.
- Optional route-map extension
- Keep this core module focused on tracking history and geocoding.
- Install viin_tracking_location_route when you need backend/portal map rendering and route-aware polyline behavior.
Ideal For
This module is suitable for:
- Logistics modules tracking shipment, container, vehicle, or vessel locations.
- Custom Odoo modules that need one shared tracking-history model and geocoding workflow.
- Teams that want to keep map rendering optional and install it only when needed.
How It Works
- Add viin_tracking_location as a dependency to your business module.
- Inherit tracking.location.mixin on the model you want to track.
- Add a button that calls action_log_tracking() so users can create tracking.location.history records for that document.
- Use the shared tracking-history action and form views for history logging and auditing.
- Optionally install viin_tracking_location_route when your business model needs journey map rendering.
Developer Notes
- Core scope
- This module intentionally does not provide map widgets on its own.
- Keep this module as the base layer for tracking-history storage and geocoding only.
- Extension scope
- If your use case needs map rendering or planned-route behavior, install viin_tracking_location_route.
- Route/map hook customization should be documented and implemented in extension modules, not in this core base.
Editions Supported
- Community Edition
- Enterprise Edition
This software and associated files (the "Software") may only be
used
(executed, modified, executed after modifications) if you have
purchased a
valid license from the authors, typically via Odoo Apps,
or if you
have
received a written agreement from the authors of the
Software (see the
COPYRIGHT file).
You may develop Odoo modules that use the Software as a library
(typically
by depending on it, importing it and using its
resources), but
without
copying any source code or material from the
Software. You may distribute
those modules under the license of your
choice, provided that this
license
is compatible with the terms of
the Odoo Proprietary License (For
example:
LGPL, MIT, or proprietary
licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell
copies of the
Software or modified copies of the Software.
The above copyright notice and this permission notice must be
included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT
SHALL THE
AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING
FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE
SOFTWARE.