TIP: You can type at any time to perform a new search.
Routific Connector
connector_routific · OCA/delivery-carrier
- Repository
- OCA/delivery-carrier · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Inventory
- Folder size
- 0.19 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/delivery-carrier
- Last tracking update
- 2026-08-07 07:57:01
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- CarlosRoca13, Weblate, OCA-git-bot, oca-ci
Code Analysis ⓘ
Views touched (12)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
attribute_tree_view |
product.attribute.tree.routific.type | product.attribute | tree | Inherits product.attribute_tree_view |
product_attribute_view_form |
product.attribute.form.routific.type | product.attribute | form | Inherits product.product_attribute_view_form |
project_creation_from_picking_view |
routific.project.creator.form | routific.project.creator | form | New |
res_partner_form_view |
res.partner.form | res.partner | form | Inherits base.view_partner_form |
routific_config_form_view |
routific.config.form | routific.config | form | New |
routific_config_tree_view |
routific.config.tree | routific.config | tree | New |
routific_project_driver_form_view |
routific.project.driver.form | routific.project.driver | form | New |
routific_project_form_view |
routific.project.form | routific.project | form | New |
routific_project_tree_view |
routific.project.tree | routific.project | tree | New |
view_driver_tree |
res.partner.driver.tree | res.partner | tree | Inherits base.view_partner_tree |
view_picking_internal_search |
stock.picking.driver.search | stock.picking | search | Inherits stock.view_picking_internal_search |
vpicktree |
stock.picking.tree | stock.picking | tree | Inherits stock.vpicktree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (1)
-
is_routific_typeBooleanstring='Is routific type'
No public methods.
New fields (12)
-
allowed_routific_type_idsMany2many → product.attribute.valuecomodel_name='product.attribute.value'compute='_compute_allowed_routific_type_ids' -
capacityIntegercompany_dependent=Truehelp='Keep as 0 for no control of capacity' -
delivery_durationIntegerstring='Delivery duration (MIN)' -
finish_at_startBooleancompany_dependent=Truedefault=Truestring='Finish route where start' -
is_routific_driverBooleancompany_dependent=Truestring='Is driver' -
partner_end_idMany2one → res.partnercomodel_name='res.partner'string='End location' -
partner_start_idMany2one → res.partnercomodel_name='res.partner'string='Start location' -
routific_driver_activeBooleancompany_dependent=Truecompute='_compute_routific_active'readonly=Falsestore=Truestring='Driver active' -
routific_endFloatcompany_dependent=Truedefault=24.0help="\n If the partner is a driver, this value shows the end work schedule.\n If it isn't it will show the end of the time that can receive a shipping.\n "string='End' -
routific_startFloatcompany_dependent=Truehelp="\n If the partner is a driver, this value shows the start work schedule.\n If it isn't it will show the start of the time that can receive a shipping.\n "string='Start' -
routific_type_idsMany2many → product.attribute.valuecomodel_name='product.attribute.value'domain="[('id', '=', allowed_routific_type_ids)]"string='Types allowed' -
speedFloatdefault=1.0help='Set the average speed of the driver\n being 0.1 the smallest and 2.0 the biggest'
-
get_address(self, address_format='', partner_id=False)With this method we achieve to calculate the address that has to be sent to Routific API. -
get_formatted_mobile_or_phone(self) -
get_routific_data(self, config_id)With this method we build the diccionary of one driver that has to be sent to Routific.
New fields (16)
-
address_formatTextdefault='%(street)s, %(city)s, %(state)s, %(zip)s, %(country)s'required=Truestring='Address format' -
auto_balanceBooleanstring='Stops distributed across all drivers' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>string='Company' -
default_durationIntegerdefault=10string='Default duration of stops' -
default_loadIntegerdefault=1string='Default load of stops' -
get_endpointChardefault='https://api.routific.com'required=True args: 'Get URL' -
max_driver_overtimeIntegerstring='Maximum driver overtime' -
max_stop_latenessIntegerstring='Maximum stop lateness' -
nameCharrequired=True -
picking_type_idMany2one → stock.picking.typecomodel_name='stock.picking.type'required=Truestring='Allowed operation type' -
post_endpointChardefault='https://product-api.routific.com'required=True args: 'Post URL' -
sequenceInteger -
shortest_distanceBooleanstring='Optimize by shortest distance' -
strict_startBooleanhelp='It forces the departure time of a driver to be at \u200bshift_start\u200b.\n The default is false\n 'string='Strict start' -
tokenTextrequired=True -
trafficFloatdefault=1help='Faster = 1.0 - Slower = 2.0'string='Traffic estimation'
-
get_settings(self)With this method we build the settings dictionary that has to be sent to Routific. -
get_solution(self, project_id)This method is for get the solution from Routific. -
send_new_stops(self, routific_project_id, json_object)This method is for post the new stops to a Routific project. -
send_project(self, json_object)This method is for post the project to Routific.
New fields (13)
-
allowed_picking_idsMany2many → stock.pickingcomodel_name='stock.picking'compute='_compute_allowed_picking_ids' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>required=Truestring='Company' -
dateDatedefault=<expr>required=True -
has_new_pickingBooleancompute='_compute_has_new_picking' -
json_retrieveText -
json_sendText -
json_solutionText -
nameCharcopy=Falsedefault='New'readonly=Truerequired=True -
picking_idsMany2many → stock.pickingcomodel_name='stock.picking'domain="[('id', '=', allowed_picking_ids)]"required=Truestring='Stops' -
project_driver_idsOne2many → routific.project.drivercomodel_name='routific.project.driver'default=_default_project_driver_idsinverse_name='project_id'required=Truestring='Drivers' -
routific_config_idMany2one → routific.configcomodel_name='routific.config'default=_default_routific_config_idrequired=Truestring='Settings' -
routific_project_idCharstring='Routific project id' -
stateSelectiondefault='draft'help="\n * The 'Draft' is used when a user create a new project\n\n * The 'Sent' is used when the project is sended to Routific\n "readonly=Trueselection=[('draft', 'Draft'), ('send', 'Sent')]string='Status'
-
action_affected_picking_tree_view(self) -
button_send_new_stops(self) -
create(self, vals)@api.model -
get_solution(self)Method that process the solution -
send_project(self)With this method we make the dictionary that has to be posted and we process the response. -
write(self, vals)
New fields (3)
-
config_idMany2one → routific.configcomodel_name='routific.config'default=_default_config_idrequired=Truestring='Settings' -
dateDatedefault=<expr>required=Truestring='Delivery date' -
driver_idsMany2many → res.partnercomodel_name='res.partner'default=_default_driver_idsdomain=[('is_routific_driver', '=', True), ('routific_driver_active', '=', True)]required=Truestring='Drivers'
-
create_project(self)
New fields (3)
-
driver_idMany2one → res.partnercomodel_name='res.partner'domain=[('is_routific_driver', '=', True), ('routific_driver_active', '=', True)]required=Truestring='Driver' -
project_idMany2one → routific.projectcomodel_name='routific.project'string='Project' -
routific_driver_idChar
No public methods.
New fields (4)
-
driver_idMany2one → res.partnercomodel_name='res.partner'string='Driver' -
routific_project_idMany2one → routific.projectcomodel_name='routific.project'string='Routific project id' -
routific_stop_idCharstring='Routific stop id' -
routific_stop_sequenceIntegerstring='Sequence stop'
-
get_routific_data(self, config_id)With this method we build the diccionary of one stop that has to be sent to Routific.
Loading…