PHPackages                             thelia/chronopost-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. thelia/chronopost-module

Abandoned → [thelia/chronopost-home-delivery-module](/?search=thelia%2Fchronopost-home-delivery-module)ArchivedThelia-module

thelia/chronopost-module
========================

1.1.1(5y ago)01531[4 issues](https://github.com/thelia-modules/Chronopost/issues)LGPL-3.0+PHP

Since Jun 12Pushed 5y ago5 watchersCompare

[ Source](https://github.com/thelia-modules/Chronopost)[ Packagist](https://packagist.org/packages/thelia/chronopost-module)[ RSS](/packages/thelia-chronopost-module/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (10)Used By (0)

\[DEPRECATED\] This module is no longer maintained, please use :

- For home delivery :
- For delivery in pickup point :

Chronopost
==========

[](#chronopost)

Allows you to choose between differents delivery modes offered by Chronopost. Activating one or more of them will let your customers choose which one they want.

Delivery types currently availables :

- Chrono13
- Chrono18
- Chrono13 BAL (pickup points/relay delivery in France)
- Chrono Classic (Delivery in Europe)
- Chrono Express (Express delivery in Europe)
- Fresh13
- Others will be added in future versions

NB1 : You need IDs provided by Chronopost to use this module.

Installation
------------

[](#installation)

### Manually

[](#manually)

- Copy the module into `/local/modules/` directory and be sure that the name of the module is Chronopost.
- Activate it in your thelia administration panel

### Composer

[](#composer)

Add it in your main thelia composer.json file

```
composer require thelia/chronopost-module:~1.0

```

Usage
-----

[](#usage)

First, go to your back office, tab Modules, and activate the module Chronopost. Then go to Chronopost configuration page, tab "Advanced Configuration" and fill the required fields.

After activating the delivery types you wih to use, new tabs will appear. With these, you can change the shipping prices according to the delivery type and the area, and/or activate free shipping for a given price and/or given area, or just activate it no matter the are and cart amount.

To download labels without having to go on the directory in the server, use the "Export labels" tab and click on the save icon when a label has been created. Labels are automatically created when you put the order on the status ID you entered in the configuration form, usually the treatment status.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#to-download-labels-without-having-to-go-on-the-directory-in-the-server-use-the-export-labels-tab-and-click-on-the-save-iconwhen-a-label-has-been-createdlabels-are-automatically-created-when-you-put-the-order-on-the-status-id-you-entered-in-the-configuration-formusually-the-treatment-status)

For relay / pickup points, you need to integrate a template to choose one relay in the list provided by the loop 'chronopost.get.relay'. Ideally from a map, like google maps, yandex, or similar.

Then, you can either create an entry in the address table and use it immediately, or overload the thelia.order.delivery form to accept entire addresses as input instead of only an address id from which to get the entire address.

Loop
----

[](#loop)

\###\[chronopost.check.rights\]

Check if label directory is writable and readable.

### Input arguments

[](#input-arguments)

None

### Output arguments

[](#output-arguments)

VariableDescription$ERRMESError message$ERRFILEFolder where the error has been detected### Exemple

[](#exemple)

`{loop name="yourloopname" type="chronopost.check.rights"}\{/loop}`

\###\[chronopost.delivery.mode\]

### Input arguments

[](#input-arguments-1)

None

### Output arguments

[](#output-arguments-1)

VariableDescription$IDThe delivery mode ID in the table$TITLEThe delivery mode title (ex : Fresh13)$CODEThe delivery mode code (ex : 2R)$FREESHIPPING\_ACTIVE0 or 1 depending on whether the total freeshipping is active or not$FREESHIPPING\_FROMCart price needed for freeshipping### Exemple

[](#exemple-1)

`{loop name="yourloopname" type="chronopost.delivery.mode"}\{/loop}`

\###\[chronopost.get.relay\]

Search for pickup points (relays)

### Input arguments

[](#input-arguments-2)

ArgumentDescription**orderweight**REQUIRED : The order weight**countryid**The country ID in the database**zipcode**Zipcode where to search for pickup points (needs to be paired with city)**city**City in which to search for the pickup points (needs to be paired with a zipcode)**address**An address to search pickup points close by### Output arguments

[](#output-arguments-2)

The outputs are the same given in return by the Chronopost API response from the recherchePointChronopostInterParService method, in uppercase. Here will be displayed the most important ones

VariableDescription$IDENTIFIANTThe pickup point ID$NOMThe pickup point name$ADRESSE1Pickup point address line 1$ADRESSE2Pickup point address line 2$ADRESSE3Pickup point address line 3$CODEPOSTALPickup point Zipcode$LOCALITEPickup point City$CODEPAYSPickup point country code ISO ALPHA2$COORDGEOLOCALISATIONLATITUDEPickup point latitude coordinate$COORDGEOLOCALISATIONLONGITUDEPickup point longitude coordinate$URLGOOGLEMAPSURL for the position of the pickup point on google mazps$LISTEPERIODEFERMETURE(Array) List of closed periods for the pickup point$LISTEPERIODEOUVERTURE(Array) List of opened periods for the pickup point$TYPEDEPOINTType of pickup point$POIDSMAXIMax package weight accepted for this relay$DISTANCEENMETREDistance in meters between the given address and the relay### Exemple

[](#exemple-2)

`{loop name="yourloopname" type="chronopost.delivery.mode"}\{/loop}`

\###\[chronopost\]

### Input arguments

[](#input-arguments-3)

ArgumentDescription**area\_id****Mandatory** ID of the area from which you want to know the prices.**delivery\_mode\_id****Mandatory** ID of the delivery mode of which you want to know the prices.### Output arguments

[](#output-arguments-3)

VariableDescription$SLICE\_IDID of the price slice$MAX\_WEIGHTMax weight for this slice price$MAX\_PRICEMax untaxed price of a cart for this price$PRICEPrice for this slice### Exemple

[](#exemple-3)

`{loop name="chronopost" type="socolissimo"}\{/loop}`

\###\[chronopost.area.freeshipping\]

### Input arguments

[](#input-arguments-4)

ArgumentDescription**area\_id**ID of the area from which you want to know the free shipping minimum amount needed.**delivery\_mode\_id**ID of the delivery mode of which you want to know the free shipping minimum amount needed.### Output arguments

[](#output-arguments-4)

VariableDescription$AREA\_IDID of the area$DELIVERY\_MODE\_IDID of the delivery mode$CART\_AMOUNTCart amount needed for free shipping in this area and for this delivery mode### Exemple

[](#exemple-4)

`{loop name="chronopost.area.freeshipping" type="socolissimo"}\{/loop}`

\###\[chronopost.export.label\]

### Input arguments

[](#input-arguments-5)

ArgumentDescription**order\_ref**Reference of the order you want to display**delivery\_type**Delivery type (ex Fresh13) of the orders you want to display**delivery\_code**Delivery code (ex 2R) of the orders you want to display.**label\_number**Label number of the order you want to display**label\_directory**Label directory of the orders you want to display### Output arguments

[](#output-arguments-5)

VariableDescription$REFERENCEReference of the order$DELIVERY\_TYPEDelivery type of the order (ex Fresh13)$DELIVERY\_CODEDelivery code of the order (ex 2R)$LABEL\_NBRLabel number of the order$LABEL\_DIRLabel directory of the order$ORDER\_IDOrder ID### Exemple

[](#exemple-5)

`{loop name="chronopost.area.freeshipping" type="socolissimo"}\{/loop}`

\##Integration

Templates are examples of integration for the default theme of Thelia and should probably be modified to suit your website better.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 89.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~93 days

Recently: every ~12 days

Total

9

Last Release

2144d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2196919?v=4)[thelia](/maintainers/thelia)[@thelia](https://github.com/thelia)

---

Top Contributors

[![Lurivar](https://avatars.githubusercontent.com/u/33634597?v=4)](https://github.com/Lurivar "Lurivar (17 commits)")[![roadster31](https://avatars.githubusercontent.com/u/2197734?v=4)](https://github.com/roadster31 "roadster31 (2 commits)")

---

Tags

delivery

### Embed Badge

![Health badge](/badges/thelia-chronopost-module/health.svg)

```
[![Health](https://phpackages.com/badges/thelia-chronopost-module/health.svg)](https://phpackages.com/packages/thelia-chronopost-module)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
