diff --git a/Api/Resource/LocalPickupLocalAddressResource.php b/Api/Resource/LocalPickupLocalAddressResource.php
new file mode 100644
index 0000000..368dff6
--- /dev/null
+++ b/Api/Resource/LocalPickupLocalAddressResource.php
@@ -0,0 +1,383 @@
+ [LocalPickupLocalAddressResource::GROUP_FRONT_READ]]
+)]
+class LocalPickupLocalAddressResource
+{
+ public const GROUP_FRONT_READ = 'front:local_pickup_address:read';
+
+ /**
+ * @var int|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?int $id = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $label = null;
+
+ /**
+ * @var int|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?int $customer = null;
+
+ /**
+ * @var int|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?int $title = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $company = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $firstname = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $lastname = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $address1 = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $address2 = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $address3 = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $zipcode = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $city = null;
+
+ /**
+ * @var int|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?int $country = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $phone = null;
+
+ /**
+ * @var string|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?string $cellphone = null;
+
+ /**
+ * @var int|null
+ */
+ #[Groups([self::GROUP_FRONT_READ])]
+ public ?int $default = null;
+
+ /**
+ * @return int|null
+ */
+ public function getId(): ?int
+ {
+ return $this->id;
+ }
+
+ /**
+ * @param int|null $id
+ * @return void
+ */
+ public function setId(?int $id): void
+ {
+ $this->id = $id;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ /**
+ * @param string|null $label
+ * @return void
+ */
+ public function setLabel(?string $label): void
+ {
+ $this->label = $label;
+ }
+
+ /**
+ * @return int|null
+ */
+ public function getCustomer(): ?int
+ {
+ return $this->customer;
+ }
+
+ /**
+ * @param int|null $customer
+ * @return void
+ */
+ public function setCustomer(?int $customer): void
+ {
+ $this->customer = $customer;
+ }
+
+ /**
+ * @return int|null
+ */
+ public function getTitle(): ?int
+ {
+ return $this->title;
+ }
+
+ /**
+ * @param int|null $title
+ * @return void
+ */
+ public function setTitle(?int $title): void
+ {
+ $this->title = $title;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getLastname(): ?string
+ {
+ return $this->lastname;
+ }
+
+ /**
+ * @param string|null $lastname
+ * @return void
+ */
+ public function setLastname(?string $lastname): void
+ {
+ $this->lastname = $lastname;
+ }
+
+ /**
+ * @param string|null $address1
+ * @return void
+ */
+ public function setAddress1(?string $address1): void
+ {
+ $this->address1 = $address1;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getAddress2(): ?string
+ {
+ return $this->address2;
+ }
+
+ /**
+ * @param string|null $address2
+ * @return void
+ */
+ public function setAddress2(?string $address2): void
+ {
+ $this->address2 = $address2;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getAddress3(): ?string
+ {
+ return $this->address3;
+ }
+
+ /**
+ * @param string|null $address3
+ * @return void
+ */
+ public function setAddress3(?string $address3): void
+ {
+ $this->address3 = $address3;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getZipcode(): ?string
+ {
+ return $this->zipcode;
+ }
+
+ /**
+ * @param string|null $zipcode
+ * @return void
+ */
+ public function setZipcode(?string $zipcode): void
+ {
+ $this->zipcode = $zipcode;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getCity(): ?string
+ {
+ return $this->city;
+ }
+
+ /**
+ * @param string|null $city
+ * @return void
+ */
+ public function setCity(?string $city): void
+ {
+ $this->city = $city;
+ }
+
+ /**
+ * @return int|null
+ */
+ public function getCountry(): ?int
+ {
+ return $this->country;
+ }
+
+ /**
+ * @param int|null $country
+ * @return void
+ */
+ public function setCountry(?int $country): void
+ {
+ $this->country = $country;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getPhone(): ?string
+ {
+ return $this->phone;
+ }
+
+ /**
+ * @param string|null $phone
+ * @return void
+ */
+ public function setPhone(?string $phone): void
+ {
+ $this->phone = $phone;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getCellphone(): ?string
+ {
+ return $this->cellphone;
+ }
+
+ /**
+ * @param string|null $cellphone
+ * @return void
+ */
+ public function setCellphone(?string $cellphone): void
+ {
+ $this->cellphone = $cellphone;
+ }
+
+ /**
+ * @return int|null
+ */
+ public function getDefault(): ?int
+ {
+ return $this->default;
+ }
+
+ /**
+ * @param int|null $default
+ * @return void
+ */
+ public function setDefault(?int $default): void
+ {
+ $this->default = $default;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getCompany(): ?string
+ {
+ return $this->company;
+ }
+
+ /**
+ * @param string|null $company
+ * @return void
+ */
+ public function setCompany(?string $company): void
+ {
+ $this->company = $company;
+ }
+
+ /**
+ * @return string|null
+ */
+ public function getFirstname(): ?string
+ {
+ return $this->firstname;
+ }
+
+ /**
+ * @param string|null $firstname
+ * @return void
+ */
+ public function setFirstname(?string $firstname): void
+ {
+ $this->firstname = $firstname;
+ }
+}
diff --git a/Api/State/LocalPickupLocalAddressProvider.php b/Api/State/LocalPickupLocalAddressProvider.php
new file mode 100644
index 0000000..ef09653
--- /dev/null
+++ b/Api/State/LocalPickupLocalAddressProvider.php
@@ -0,0 +1,68 @@
+requestStack->getCurrentRequest();
+ $session = $request?->getSession();
+
+ if (!isset($uriVariables['id'])) {
+ return null;
+ }
+
+ $customer = $session?->getCustomerUser();
+ if (!$customer) {
+ throw new Exception("No customer in session");
+ }
+
+ $address = AddressQuery::create()
+ ->filterByCustomerId($customer->getId())
+ ->findPk($uriVariables['id']);
+
+ if (null === $address) {
+ throw new Exception("The requested address doesn't exist");
+ }
+
+ $resource = new LocalPickupLocalAddressResource();
+ $resource->id = 0;
+ $resource->label = $address->getLabel();
+ $resource->customer = $address->getCustomerId();
+ $resource->title = $address->getTitleId();
+ $resource->company = ConfigQuery::read('store_name');
+ $resource->firstname = $customer->getFirstname();
+ $resource->lastname = $customer->getLastname();
+ $resource->address1 = ConfigQuery::read('store_address1');
+ $resource->address2 = ConfigQuery::read('store_address2');
+ $resource->address3 = ConfigQuery::read('store_address3');
+ $resource->zipcode = ConfigQuery::read('store_zipcode');
+ $resource->city = ConfigQuery::read('store_city');
+ $resource->country = ConfigQuery::read('store_country');
+ $resource->phone = $address->getPhone();
+ $resource->cellphone = $address->getCellphone();
+ $resource->default = 0;
+
+ return $resource;
+ }
+}
diff --git a/Config/module.xml b/Config/module.xml
index 97173ba..3f89cee 100755
--- a/Config/module.xml
+++ b/Config/module.xml
@@ -7,7 +7,7 @@
Retrait sur place
- 2.1.3
+ 2.1.4
Thelia
info@thelia.net
diff --git a/LocalPickup.php b/LocalPickup.php
index e06cc91..aaf2b21 100755
--- a/LocalPickup.php
+++ b/LocalPickup.php
@@ -121,7 +121,7 @@ public function getDeliveryMode()
public static function configureServices(ServicesConfigurator $servicesConfigurator): void
{
$servicesConfigurator->load(self::getModuleCode().'\\', __DIR__)
- ->exclude([THELIA_MODULE_DIR.ucfirst(self::getModuleCode()).'/I18n/*'])
+ ->exclude(["/I18n/*"])
->autowire(true)
->autoconfigure(true);
}