# Stores

Retail stores and pickup locations (public)

## List Pickup Locations

> Find cargo pickup points (e.g., PTT, cargo offices).\
> \
> \*\*Related Settings\*\* (Omnitron → Sales Channels → Dynamic Settings):\
> \
> \- \*\*PICKUP\_LOCATION\_PROVIDER\*\* (Dictionary): Configure external cargo/pickup location service. Structure:\
> &#x20; \`\`\`json\
> &#x20; {\
> &#x20;   "klass": "omnishop.address.pickup\_locations.provider.PickupLocationProvider",\
> &#x20;   "conf": {\
> &#x20;     "base\_url": "<https://api.example.com",\\>
> &#x20;     "username": "api\_user",\
> &#x20;     "password": "api\_pass"\
> &#x20;   }\
> &#x20; }\
> &#x20; \`\`\`\
> &#x20; Options:\
> &#x20; \- \`PickupLocationProvider\` - Default provider\
> &#x20; \- \`ExtensionPickupLocationProvider\` - Custom extension provider

````json
{"openapi":"3.0.3","info":{"title":"Address API","version":"1.0.0"},"tags":[{"name":"Stores","description":"Retail stores and pickup locations (public)"}],"servers":[{"description":"Server base URL for address operations","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce server URL"}}}],"paths":{"/address/pickup-locations/":{"get":{"tags":["Stores"],"summary":"List Pickup Locations","description":"Find cargo pickup points (e.g., PTT, cargo offices).\n\n**Related Settings** (Omnitron → Sales Channels → Dynamic Settings):\n\n- **PICKUP_LOCATION_PROVIDER** (Dictionary): Configure external cargo/pickup location service. Structure:\n  ```json\n  {\n    \"klass\": \"omnishop.address.pickup_locations.provider.PickupLocationProvider\",\n    \"conf\": {\n      \"base_url\": \"https://api.example.com\",\n      \"username\": \"api_user\",\n      \"password\": \"api_pass\"\n    }\n  }\n  ```\n  Options:\n  - `PickupLocationProvider` - Default provider\n  - `ExtensionPickupLocationProvider` - Custom extension provider","operationId":"listPickupLocations","parameters":[{"name":"country","in":"query","required":true,"description":"Country code (e.g., TR, US)","schema":{"type":"string","minLength":2,"maxLength":2}},{"name":"city","in":"query","description":"Filter by city ID","schema":{"type":"integer"}},{"name":"township","in":"query","description":"Filter by township ID","schema":{"type":"integer"}},{"name":"district","in":"query","description":"Filter by district ID","schema":{"type":"integer"}},{"name":"postcode","in":"query","required":true,"description":"Postal code (2-6 characters)","schema":{"type":"string","minLength":2,"maxLength":6}},{"$ref":"#/components/parameters/AcceptLanguageHeader"}],"responses":{"200":{"description":"List of pickup locations.\n\n**Response varies by provider**:\n- **PickupLocationProvider**: Returns `PickupLocation` schema\n- **ExtensionPickupLocationProvider**: Returns `ExtensionPickupLocation` schema","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/PickupLocation"},{"$ref":"#/components/schemas/ExtensionPickupLocation"}]}}}}},"400":{"description":"Invalid parameters (missing required fields, invalid postcode length)","content":{"application/json":{"schema":{"type":"object","properties":{"field_name":{"type":"array","items":{"type":"string"}}}}}}}}}}},"components":{"parameters":{"AcceptLanguageHeader":{"name":"Accept-Language","in":"header","description":"Language preference (for multilingual content).\nSupported languages: tr, en, ar, ru, de, fr","required":false,"schema":{"type":"string","enum":["tr","en","ar","ru","de","fr"],"default":"tr"}}},"schemas":{"PickupLocation":{"type":"object","description":"Cargo pickup point (e.g., PTT, cargo office)","properties":{"id":{"type":"string","description":"Pickup location ID from provider"},"name":{"type":"string","description":"Pickup location name"},"type":{"type":"string","description":"Location type"},"supply_chain_company":{"type":"object","nullable":true,"properties":{"name":{"type":"string"}}},"country":{"type":"string","description":"Country code"},"city":{"type":"string","description":"City name"},"township":{"type":"string","nullable":true,"description":"Township name"},"district":{"type":"string","nullable":true,"description":"District name"},"address_text":{"type":"string","description":"Full address text"},"working_hours":{"type":"array","description":"Weekly working hours","items":{"type":"object","properties":{"day_of_week":{"type":"string","description":"Day of week (MONDAY, TUESDAY, etc.)"},"hour_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"time"},"end":{"type":"string","format":"time"},"service_cost":{"type":"number","format":"decimal"}}}}}}},"currency":{"type":"string","nullable":true},"contact":{"type":"object","nullable":true,"properties":{"related_staff_name":{"type":"string"},"phone_number":{"type":"string"},"email":{"type":"string"}}},"note":{"type":"string","nullable":true}}},"ExtensionPickupLocation":{"type":"object","description":"Cargo pickup point from ExtensionPickupLocationProvider (with coordinates and postcode)","properties":{"id":{"type":"string","description":"Pickup location ID from provider"},"name":{"type":"string","description":"Pickup location name"},"type":{"type":"string","description":"Location type"},"country":{"type":"string","description":"Country code"},"city":{"type":"string","description":"City name"},"township":{"type":"string","nullable":true,"description":"Township name"},"district":{"type":"string","nullable":true,"description":"District name"},"address_text":{"type":"string","description":"Full address text"},"coordinates":{"type":"object","description":"Geographic coordinates","properties":{"latitude":{"type":"number","format":"float"},"longitude":{"type":"number","format":"float"}}},"working_hours":{"type":"array","description":"Weekly working hours","items":{"type":"object","properties":{"day_of_week":{"type":"string","description":"Day of week (MONDAY, TUESDAY, etc.)"},"hour_ranges":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"time"},"end":{"type":"string","format":"time"},"service_cost":{"type":"number","format":"decimal"}}}}}}},"contact":{"type":"object","nullable":true,"properties":{"phone_number":{"type":"string"},"email":{"type":"string"}}},"postcode":{"type":"string","nullable":true}}}}}}
````

## List Retail Stores

> Find retail stores for click-and-collect orders.

```json
{"openapi":"3.0.3","info":{"title":"Address API","version":"1.0.0"},"tags":[{"name":"Stores","description":"Retail stores and pickup locations (public)"}],"servers":[{"description":"Server base URL for address operations","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce server URL"}}}],"paths":{"/address/retail_store/":{"get":{"tags":["Stores"],"summary":"List Retail Stores","description":"Find retail stores for click-and-collect orders.","operationId":"listRetailStores","parameters":[{"name":"city","in":"query","description":"Filter by city ID","schema":{"type":"integer"}},{"name":"township","in":"query","description":"Filter by township ID","schema":{"type":"integer"}},{"$ref":"#/components/parameters/PageParameter"},{"$ref":"#/components/parameters/PageSizeParameter"},{"$ref":"#/components/parameters/AcceptLanguageHeader"}],"responses":{"200":{"description":"List of stores","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"uri","nullable":true},"previous":{"type":"string","format":"uri","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/RetailStore"}}}}}}}}}}},"components":{"parameters":{"PageParameter":{"name":"page","in":"query","description":"Page number (starts from 1)","required":false,"schema":{"type":"integer","minimum":1,"default":1}},"PageSizeParameter":{"name":"page_size","in":"query","description":"Number of records per page","required":false,"schema":{"type":"integer","minimum":1,"default":10}},"AcceptLanguageHeader":{"name":"Accept-Language","in":"header","description":"Language preference (for multilingual content).\nSupported languages: tr, en, ar, ru, de, fr","required":false,"schema":{"type":"string","enum":["tr","en","ar","ru","de","fr"],"default":"tr"}}},"schemas":{"RetailStore":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"township":{"type":"integer"},"district":{"type":"integer","nullable":true},"address":{"type":"string"},"phone_number":{"type":"string"},"fax_phone_number":{"type":"string","nullable":true},"image":{"type":"string","nullable":true,"description":"Image URL"},"image_path":{"type":"string","nullable":true},"erp_code":{"type":"string","nullable":true},"store_hours":{"type":"array","description":"Weekly store hours (7 days, each with [open, close] times)","items":{"type":"array","items":{"type":"string","format":"time","nullable":true}}},"latitude":{"type":"number","format":"float","nullable":true},"longitude":{"type":"number","format":"float","nullable":true},"is_active":{"type":"boolean"},"click_and_collect":{"type":"boolean","description":"Available for pickup orders?"},"store_type":{"type":"integer","nullable":true},"kapida_enabled":{"type":"boolean"},"fast_delivery":{"type":"boolean"},"config":{"type":"object"},"group":{"type":"integer","nullable":true},"sort_order":{"type":"integer"},"translations":{"type":"object"},"related_retail_stores":{"type":"array","items":{"type":"integer"}},"created_date":{"type":"string","format":"date-time"},"modified_date":{"type":"string","format":"date-time"}}}}}}
```

## Get Store Details

> View details of a specific retail store.

```json
{"openapi":"3.0.3","info":{"title":"Address API","version":"1.0.0"},"tags":[{"name":"Stores","description":"Retail stores and pickup locations (public)"}],"servers":[{"description":"Server base URL for address operations","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce server URL"}}}],"paths":{"/address/retail_store/{pk}/":{"get":{"tags":["Stores"],"summary":"Get Store Details","description":"View details of a specific retail store.","operationId":"getRetailStore","parameters":[{"name":"pk","in":"path","required":true,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/AcceptLanguageHeader"}],"responses":{"200":{"description":"Store details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetailStore"}}}},"404":{"description":"Store not found","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}}},"components":{"parameters":{"AcceptLanguageHeader":{"name":"Accept-Language","in":"header","description":"Language preference (for multilingual content).\nSupported languages: tr, en, ar, ru, de, fr","required":false,"schema":{"type":"string","enum":["tr","en","ar","ru","de","fr"],"default":"tr"}}},"schemas":{"RetailStore":{"type":"object","properties":{"pk":{"type":"integer"},"name":{"type":"string"},"township":{"type":"integer"},"district":{"type":"integer","nullable":true},"address":{"type":"string"},"phone_number":{"type":"string"},"fax_phone_number":{"type":"string","nullable":true},"image":{"type":"string","nullable":true,"description":"Image URL"},"image_path":{"type":"string","nullable":true},"erp_code":{"type":"string","nullable":true},"store_hours":{"type":"array","description":"Weekly store hours (7 days, each with [open, close] times)","items":{"type":"array","items":{"type":"string","format":"time","nullable":true}}},"latitude":{"type":"number","format":"float","nullable":true},"longitude":{"type":"number","format":"float","nullable":true},"is_active":{"type":"boolean"},"click_and_collect":{"type":"boolean","description":"Available for pickup orders?"},"store_type":{"type":"integer","nullable":true},"kapida_enabled":{"type":"boolean"},"fast_delivery":{"type":"boolean"},"config":{"type":"object"},"group":{"type":"integer","nullable":true},"sort_order":{"type":"integer"},"translations":{"type":"object"},"related_retail_stores":{"type":"array","items":{"type":"integer"}},"created_date":{"type":"string","format":"date-time"},"modified_date":{"type":"string","format":"date-time"}}}}}}
```
