TIP: You can type at any time to perform a new search.
TMS - Sales
tms_sale · OCA/stock-logistics-transport
- Repository
- OCA/stock-logistics-transport · module folder · Try on Runboat
- Module version
- Category
- TMS
- Folder size
- 0.15 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-transport
- Last tracking update
- 2026-08-12 23:26:23
- Authors
- Odoo Community Association (OCA), Open Source Integrators
- Maintainers
- Odoo Community Association (OCA), Open Source Integrators
- Committers
- Maxime Chambreuil, Weblate, OCA-git-bot, oca-ci, Volkan TAŞCI
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- tms_account
- Description
This module extends sales orders to sell transportation management services. It allows selling trips and passenger seats, automatically generating transport orders from sale order lines, and managing seat tickets for passenger vehicles.
Code Analysis ⓘ
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fleet_vehicle_view_form_tms_sale |
fleet.vehicle.form.inherit.tms.sale | fleet.vehicle | form | Inherits tms.fleet_vehicle_inherit_view_form |
product_template_form_view |
product.template.common.form.inherit.tms.product | product.template | form | Inherits product.product_template_form_view |
sale_order_line_seat_ticket_view_form |
trip.sale.order.line.seat.ticket.view.form | seat.ticket.line | form | New |
sale_order_line_trip_view_form |
trip.sale.order.line.trip.view.form | sale.order.line.trip | form | New |
sale_order_view_form |
sale.order.view.form.tms.sale | sale.order | form | Inherits sale.view_order_form |
seat_ticket_view_form |
seat.ticket.view.form.tms.sale | seat.ticket | form | New |
tms_order_view_form |
tms.order.view.form.inherit.tms.sale | tms.order | form | Inherits tms.tms_order_view_form |
view_tms_driver_form_inherit_sale |
tms.driver.form.inherit.sale | tms.driver | form | Inherits tms.view_tms_driver_form_inherit |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (2)
-
tms_service_filter_typeCharcompute='_compute_tms_service_filter_type' -
tms_service_product_idMany2one → product.productdomain="[('type', '=', 'service'), ('product_tmpl_id.tms_trip', '=', True)]"string='TMS Service' args: 'product.product'
No public methods.
New fields (3)
-
has_tms_orderBooleancompute='_compute_has_tms_order' -
tms_order_countIntegercompute='_compute_tms_order_ids'string='Transport Orders' -
tms_order_idsMany2many → tms.ordercompute='_compute_tms_order_ids'copy=Falsestring='Transport orders associated to this sale' args: 'tms.order'
-
action_view_tms_order(self) -
action_view_trip_sale_order_line(self) -
create(self, vals_list)@api.model_create_multi -
remove_lines_with_trips(self, initial_trips, initial_line_ids, initial_quantities) -
write(self, vals)@api.model
New fields (14)
-
has_trip_productBooleancompute='_compute_sale_order_line_tms'default=Falseprecompute=Truereadonly=Truestore=True -
seat_ticketBooleancompute='_compute_sale_order_line_tms'default=Falseprecompute=Truereadonly=Truestore=True -
tms_destination_idMany2one → res.partnercontext={'default_tms_location': True}domain="[('tms_location', '=', 'True')]"string='Destination' args: 'res.partner' -
tms_factorFloatcompute='_compute_sale_order_line_tms'default=1precompute=Truereadonly=Falsestore=True -
tms_factor_uomCharcompute='_compute_sale_order_line_tms'precompute=Truereadonly=Falsestore=True -
tms_order_idsOne2many → tms.ordercopy=Falsehelp='Transport Order generated by the sales order item'index=True args: 'tms.order', 'sale_line_id' -
tms_origin_idMany2one → res.partnercontext={'default_tms_location': True}domain="[('tms_location', '=', 'True')]"string='Origin' args: 'res.partner' -
tms_route_flagBooleandefault=Falsestring='Use Routes' -
tms_route_idMany2one → tms.routestring='Routes' args: 'tms.route' -
tms_scheduled_date_endDatetimestring='Scheduled End' -
tms_scheduled_date_startDatetimestring='Scheduled Start' -
tms_ticket_idsOne2many → seat.ticketargs: 'seat.ticket', 'sale_line_id' -
tms_trip_ticket_idMany2one → tms.orderargs: 'tms.order' -
trip_line_idsOne2many → sale.order.line.tripargs: 'sale.order.line.trip', 'order_line_id'
-
write(self, vals)@api.model
New fields (8)
-
destinationMany2one → res.partnercontext={'default_tms_location': True}domain="[('tms_location', '=', 'True')]" args: 'res.partner' -
endDatetimestring='Scheduled end' -
has_routeBooleanstring='Use Routes' -
order_confirmedBooleanreadonly=True -
order_line_idMany2one → sale.order.lineargs: 'sale.order.line' -
originMany2one → res.partnercontext={'default_tms_location': True}domain="[('tms_location', '=', 'True')]" args: 'res.partner' -
routeMany2one → tms.routeargs: 'tms.route' -
startDatetimestring='Scheduled start'
No public methods.
New fields (8)
-
availableSelectiondefault='available'readonly=True args: [('available', 'Available'), ('not_available', 'Not available')] -
customer_idMany2one → res.partnerrelated='sale_line_id.order_id.partner_id' args: 'res.partner' -
nameCharcopy=Falsedefault=<expr>index='trigram'readonly=False -
priceFloat -
product_idMany2one → product.productdomain="[('type', '=', 'service'), ('product_tmpl_id.tms_trip', '=', True), ('product_tmpl_id.trip_product_type', '=', 'seat')]"string='Seat Service' args: 'product.product' -
sale_line_idMany2one → sale.order.lineargs: 'sale.order.line' -
sale_order_idMany2one → sale.orderrelated='sale_line_id.order_id' args: 'sale.order' -
tms_order_idMany2one → tms.orderstore=True args: 'tms.order'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)@api.model
New fields (4)
-
order_confirmedBooleanreadonly=True -
order_line_idMany2one → sale.order.lineargs: 'sale.order.line' -
ticket_idsMany2many → seat.ticketargs: 'seat.ticket' -
trip_idMany2one → tms.orderargs: 'tms.order'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
action_view_sale_orders(self)
New fields (6)
-
sale_idMany2one → sale.ordercopy=False args: 'sale.order' -
sale_line_idMany2one → sale.order.linecopy=False args: 'sale.order.line' -
seat_sale_order_countIntegercompute='_compute_seat_sale_orders'string='Sales Orders' -
seat_sale_order_idsMany2many → sale.ordercompute='_compute_seat_sale_orders' args: 'sale.order' -
seat_ticket_idsOne2many → seat.ticketargs: 'seat.ticket', 'tms_order_id' -
vehicle_operationSelectionrelated='vehicle_id.operation'
-
action_view_sales(self) -
action_view_seat_sale_orders(self) -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
Loading…