Metadata-Version: 2.1
Name: odoo-addon-delivery_schenker
Version: 18.0.1.0.0.2
Requires-Python: >=3.10
Requires-Dist: odoo-addon-delivery_package_number==18.0.*
Requires-Dist: odoo-addon-delivery_state==18.0.*
Requires-Dist: odoo==18.0.*
Requires-Dist: zeep
Summary: Delivery Carrier implementation for DB Schenker API
Home-page: https://github.com/OCA/delivery-carrier
License: AGPL-3
Author: Tecnativa, Studio73, Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 18.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

=================
Delivery Schenker
=================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:a0ae107b8335679df7480c084213e07d57a943f6a3debdba9158704c7ffac4fe
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github
    :target: https://github.com/OCA/delivery-carrier/tree/18.0/delivery_schenker
    :alt: OCA/delivery-carrier
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/delivery-carrier-18-0/delivery-carrier-18-0-delivery_schenker
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=18.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module links the `DB Schenker <https://www.dbschenker.com>`__
booking and tracking APIs with Odoo delivery system.

**Table of contents**

.. contents::
   :local:

Installation
============

This module depends on the zeep python library and the
OCA/delivery-carrier delivery_package_number and delivery_state modules.

The Schenker API doesn't provide delivery rating methods, so OCA's
delivery_price_method is advised in order to use this carrier in a sales
workflow.

Configuration
=============

To configure a Schenker delivery method:

1. Go to *Inventory > Configuration > Delivery > Shipping methods* and
   create a new one.
2. Choose *DB Schenker* as provider.
3. Configure the service parameters according to your contract
   considerations.
4. Choose a delivery product and a default packaging. This is mandatory
   for the booking request as it needs the packaging code.

To make tests, set the carrier environment to test from the smart
button. Don't forget to set it to production once you're ready to use
the delivery method!

Usage
=====

These are the operations possible with this module:

Place shipping bookings
-----------------------

1. When the picking is validated, the shipping will be booked at
   Schenker.
2. With the response, we'll receive the delivery tracking number and the
   pdf label in a chatter message and it will be kept as attachment to
   the document.
3. You can manage packages number either with the proper Odoo workflows
   or with the package number field available in the *Additional Info*
   tab. You'll get as many labels as declared packages.

Cancel bookings
---------------

1. As in other carriers, we can cancel the shipping after the picking is
   done. To do so, go to *Additional Info* tab and click on the *Cancel*
   action on the side of the tracking number.
2. We can generate a new shipping if necessary.

Get labels
----------

1. If by chance we delete the generated labels, we can obtain them again
   hitting the *Schenker Label* buttons in the header of the picking
   form.

Tracking
--------

1. The module is integrated with delivery_state to be able to get the
   tracking info directly from the DB Schenker API.
2. To do so, go to a picking shipped with Schenker. In the *Additional
   Info* tab you'll find an action button to *Update tracking state* so
   the state will be updated from the Schenker API.

Debugging
---------

The API calls and responses are tracked in two special fields in the
picking that can be viewed by technical users. You can also log them in
as ir.logging records setting the carrier debug on from the smart
button.

Known issues / Roadmap
======================

- There's no dummy access key to test API calls so no tests can be
  performed.
- The test booking and shipping APIs databases aren't connected so it
  isn't possible to perform trackings on test mode.
- Only land shipping is implemented, although the module is prepared for
  extend to air and ocean just considering the mandatory request fields
  for those methods. Some additional adaptations could be needed (e.g.:
  origin and destination airport, port) anyway.
- Only volume is supported as a measure unit and with the limitations of
  Odoo itself. To enjoy a full fledged volume support, install and
  configure the OCA’s stock_quant_package_dimension module and its
  dependencies. The connector is ready to make use of their volume
  computations.
- It’d be needed to extend the method to support Schenker measure units
  such as loading pieces or pallet space.
- Some more booking features aren’t yet supported although can be
  extended in the future. Some of those, although the complete list
  would be really extensive:

  - Dangerous goods.
  - Driver pre-advise.
  - Transport temperature.
  - Customs clearance.
  - Cargo insurance.
  - Cash on delivery.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/delivery-carrier/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_schenker%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa
* Studio73

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

  - David Vidal

- `Studio73 <https://www.studio73.es>`__:

  - Ethan Hildick

- Michael Tietz (MT Software) <mtietz@mt-software.de>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/18.0/delivery_schenker>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
