A Delivery Customization Function reads the customer's zip code at checkout and consults a blocklist of known service gaps. When a zip matches the blocklist, Saturday disappears from the available delivery options. The blocklist stays current through a weekly sync that queries the carrier API and surfaces discrepancies to an admin panel.
A mid-market DTC merchant was offering Saturday delivery at checkout, but the carrier's actual service area was narrower than advertised. Customers in certain zip codes would select Saturday and receive incorrect delivery dates. The merchant needed a way to filter Saturday from specific zip codes without changing the global carrier settings.
Four pieces
Shipping
Zip Code Blocklist
A private list of zip codes where the carrier does not actually deliver Saturday, so the Function knows which addresses to filter.
Replace YOUR_SHOP_ID with your shop ID and add your known problem zips as JSON strings in the value array.
Shipping
Checkout Delivery Filter
The Function that runs at checkout, reads the customer's zip and the blocklist, and hides Saturday from delivery options if that zip is on the list.
Shopify Delivery Customization Function
Shipping
Carrier Sync Tool
A weekly scan that calls the carrier API, compares their stated service areas against known weekend black holes, and flags new zips to add to the blocklist.
Heroku-hosted sync + admin dashboard
Admin GraphQL explorer or backend scheduled taskgraphql
# Admin GraphQL — query to fetch current blocklist and update it
query GetBlocklist {
shop {
metafield(namespace: "delivery_config", key: "weekend_blocklist_zips") {
value
}
}
}
mutation UpdateBlocklist($metafields: [MetafieldsSetInput!]!) {
metafieldsSet(metafields: $metafields) {
metafields {
id
value
}
userErrors {
field
message
}
}
}
# Your sync service calls the carrier API, parses the response,
# compares it to shop metafield, and submits the mutation with new zips.
Run this on a weekly cron job to keep the blocklist fresh as carrier coverage changes.
Shipping
Blocklist Admin Panel
A simple dashboard where zip codes can be viewed, added, and removed from the Saturday blocklist without touching code.
Custom Shopify app (React + Polaris)
Got a similar problem?
Sketch your build in 30 seconds — voice, type, or attach a screenshot.