Shopify orders have no dedicated field for a pickup point. Atlas always saves the selected pickup point to an order metafield (atlas_pickup_points.point), with no configuration needed. But fulfillment software, shipping label apps, and warehouse or order management systems (WMS, ERP, OMS) each expect pickup point details in a different place and format. That’s why Atlas can also write them to wherever your system looks.
#Check whether your system is already integrated
Some systems already read pickup point data from Atlas automatically, and for others we have documented the recommended setup. Check the Integrations page first. If your system is listed, follow its instructions.
#Choose where your system reads pickup point details
Ask your system provider where it expects pickup point details, then use the matching option below. You can enable more than one.
| Option | Use it when your system | Setup |
|---|---|---|
| Order metafield | Can read order metafields | None, always on |
| Order custom attributes | Reads custom attributes (note attributes). The most common option | In the pickup point configuration |
| Shipping address update | Only reads the shipping address | In the pickup point configuration |
| Custom order metafield | Needs a different metafield namespace, key, or value format | In the pickup point configuration |
When the pickup point is selected during checkout, the options set up in the pickup point configuration update the order within seconds after it is created. When it is selected on the Thank you page or assigned by automatic selection, they are applied at that moment. If your system imports orders immediately at creation or payment, see when Atlas writes data to the order to avoid reading the order before the data arrives.
#Order metafield
The standard Atlas metafield (atlas_pickup_points.point) is always active and requires no configuration. We recommend treating it as the source of truth for pickup point details. See the integration guide for the metafield structure and API access.
#Order custom attributes
Order custom attributes (also known as note attributes) are key-value pairs of extra data attached to the order.
To set this up:
- Check with your third-party system which custom attributes it expects (e.g., attribute name and value format).
- In Shopify Admin → Atlas Pickup Points, open the pickup point configuration.
- Click Add attribute and define the attribute name and value to match what your third-party system requires. You can use variables like
{{ point.code }},{{ point.provider }},{{ point.address.address1 }}, etc.
#Shipping address update
By default, orders are placed with the shipping address the buyer enters, not the pickup point address. If you enable Update order shipping address with pickup point address in the pickup point configuration, Atlas will update the order’s shipping address with the pickup point location.
By default, Atlas updates:
- Address line 1 (street and number)
- City
- Postal code
- Province
- Country code
It does not include the pickup point code (ID) or provider (carrier) by default. If your system needs these, check Customize how shipping address is updated to control three address fields:
- Company (default: empty)
- Address / address line 1 (default:
{{ point.address.address1 }}) - Apartment, suite, etc / address line 2 (default: empty)
For example, if your system expects the pickup point code in address line 2, enter {{ point.code }}. You can also combine multiple variables in a single field, e.g., {{ point.provider }} {{ point.code }}.
#Custom order metafield
If your system reads order metafields but requires a different namespace, key, or value format than the standard Atlas metafield, you can add one directly in the pickup point configuration:
- In Shopify Admin → Atlas Pickup Points, open the pickup point configuration.
- Click Add metafield and fill in the three fields:
- Namespace and key - the metafield namespace and key your third-party system expects.
- Type - single line text or JSON.
- Value - the value template. You can use variables like
{{ point.code }},{{ point.provider }},{{ point.address.address1 }}, etc.