TIP: You can type at any time to perform a new search.
Delivery Schenker
delivery_schenker · OCA/delivery-carrier
- Repository
- OCA/delivery-carrier · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Stock
- 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 08:42:52
- Authors
- Odoo Community Association (OCA), Tecnativa, Studio73
- Maintainers
- Odoo Community Association (OCA), Tecnativa, Studio73
- Committers
- Weblate, OCA-git-bot, sergio, oca-ci
- Odoo dependencies
- Python dependencies
- zeep
- System dependencies
- None
- Required by
- None
- Description
This module links the [DB Schenker](https://www.dbschenker.com) booking and tracking APIs with Odoo delivery system.
Code Analysis ⓘ
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_delivery_carrier_form |
delivery.carrier | form | Inherits delivery.view_delivery_carrier_form | |
view_picking_withcarrier_out_form |
stock.picking | form | Inherits stock_delivery.view_picking_withcarrier_out_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (22)
-
delivery_typeSelectionondelete={'schenker': 'set default'}selection_add=[('schenker', 'DB Schenker')] -
schenker_access_keyCharhelp='Schenker Access Key'string='Access Key' -
schenker_barcode_a4_separatedBooleandefault=Falsehelp='For A4 define if the labels shall be printed on separate pages'string='Barcode Separated' -
schenker_barcode_a4_start_posIntegerdefault=1help='For A4 format you can define the starting position'string='Barcode Start Position' -
schenker_barcode_formatSelectiondefault='A6'selection=[('A4', 'A4'), ('A6', 'A6')]string='Barcode Format' -
schenker_barcode_mailCharhelp='Optional: send a barcode copy to this email address'string='Barcode Copy Email' -
schenker_booking_typeSelectiondefault='land'help='Choose Schenker booking type. Only land is currently supported'selection=[('land', 'Land'), ('air', 'Air'), ('ocean_fcl', 'Ocean FCL'), ('ocean_lcl', 'Ocean LCL')]string='Booking Type' -
schenker_default_package_type_idMany2one → stock.package.typecomodel_name='stock.package.type'domain=[('package_carrier_type', '=', 'schenker')]help="If not delivery package or the package doesn't have defined the packaging it will default to this type"string='Default Package Type' -
schenker_expressBooleanhelp='Defines if shipment is express'string='Express' -
schenker_food_relatedBooleanhelp='Defines if shipment is food related'string='Food Related' -
schenker_group_idCharstring='Group' -
schenker_heated_transportBooleanhelp='Defines if shipment is required heated transport'string='Heated Transport' -
schenker_home_deliveryBooleanhelp='Defines if shipment is required home delivery'string='Home Delivery' -
schenker_incoterm_idMany2one → account.incotermscomodel_name='account.incoterms'help="It will be overriden by the sale order one if it's specified."string='Default Incoterm' -
schenker_indoor_deliveryBooleanhelp='Defines if indoor delivery is required'string='Indoor Delivery' -
schenker_measure_unitSelectiondefault='VOLUME'help='The proper request will be formed accordingly from the picking'selection=[('VOLUME', 'Volume'), ('LOADING_METERS', 'Loading meters'), ('PIECES', 'Pieces'), ('PALLET_SPACE', 'Pallet space')]string='Measure Unit' -
schenker_own_pickupBooleanhelp='Defines if shipment is required own pickup'string='Own Pickup' -
schenker_pharmaceuticalsBooleanhelp='Defines if shipment is pharmaceutical'string='Pharmaceuticals' -
schenker_service_airSelectionhelp='Air shipping product options. Depending on your customer account, some services could not be available'selection=[('f', 'DB SCHENKERjetcargo first'), ('s', 'DB SCHENKERjetcargo special'), ('b', 'DB SCHENKERjetcargo business'), ('e', 'DB SCHENKERjetcargo economy'), ('eagd', 'DB SCHENKERjetexpress gold'), ('easv', 'DB SCHENKERjetexpress silver')]string='Air service' -
schenker_service_landSelectionhelp='Land shipping product options. Depending on your customer account, some services could not be available'selection=[('CON', 'DBSchenkerconcepts'), ('DIR', 'DBSchenkerdirects'), ('LPA', 'DBSchenkerparcel Logistics Parcel'), ('PAL', 'DBSchenkerpallets'), ('PRI', 'DBSchenkerprivpark'), ('auc0', 'austroexpress PUNKT 10'), ('auc2', 'austroexpress PUNKT 12'), ('auc8', 'austroexpress PUNKT 8'), ('aucc', 'austroexpress PUNKT 17'), ('auco', 'austrocargo'), ('ecsp', 'SCHENKERsystem-plus'), ('ect1', 'DB SCHENKERspeed 10'), ('ect2', 'DB SCHENKERspeed 12'), ('sch2', 'DB SCHENKERtop 12'), ('schs', 'DB SCHENKERsystem international'), ('sysd', 'DB SCHENKERsystem domestic'), ('scht', 'DB SCHENKERtop'), ('schx', 'DB SCHENKERsystem fix'), ('ecpa', 'DB SCHENKERparcel'), ('ect8', 'DB SCHENKERspeed 8'), ('ectn', 'DB SCHENKERspeed'), ('40', 'DB SCHENKERsystem classic'), ('41', 'DB SCHENKERsystem speed'), ('42', 'DB SCHENKERsystem fixday'), ('43', 'DBSchenker System'), ('44', 'DBSchenker System Premium'), ('71', 'DB SCHENKERdirect')]string='Land service' -
schenker_service_typeSelectionhelp='Defines service type: D2D, D2P, P2D, P2P, D2A, A2D, A2A. Depending on the Transport mode the service will be validated. For instance if the transport mode is AIR, the service type A2A (AirportToAirport)'selection=[('D2D', 'Door-to-door'), ('D2P', 'Door-to-port'), ('P2D', 'Port-to-door'), ('D2A', 'Door-to-airport'), ('A2D', 'Airport-to-door'), ('A2A', 'Aiport-to-airport')]string='Service Type' -
schenker_userCharstring='User'
-
onchange_schenker_booking_type(self)@api.onchange('schenker_booking_type')Avoid by UX that the user could choose another shipping method. In the future, this can be removed as long as those method have the proper support -
onchange_schenker_measure_unit(self)@api.onchange('schenker_measure_unit')Avoid by UX that the user could choose another measure unit. Proper pallet calculation structure should be provided to use the other API options. A hook method is provided though. -
schenker_cancel_shipment(self, pickings)Cancel the expedition :param pickings - stock.picking recordset :returns pdf file -
schenker_get_label(self, reference)Generate label for picking :param picking - stock.picking record :returns pdf file -
schenker_get_tracking_link(self, picking)Provide tracking link for the customer -
schenker_rate_shipment(self, order)There's no public API so another price method should be used. -
schenker_send_shipping(self, pickings)Send booking request to Schenker :param pickings: A recordset of pickings :return list: A list of dictionaries although in practice it's called one by one and only the first item in the dict is taken. Due to this design, we have to inject vals in the context to be able to add them to the message. -
schenker_tracking_state_update(self, picking)Tracking state update
New fields (2)
-
package_carrier_typeSelectionselection_add=[('schenker', 'DB Schenker')] -
schenker_stackableBooleanhelp='Define if the package is stackable by default'string='Stackable'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
schenker_get_label(self)
Loading…
Loading…
Loading…
Loading…