Rename the collection fulfilment method to pickup (spec 0077) - #2717
Open
glennjacobs wants to merge 1 commit into
Open
Rename the collection fulfilment method to pickup (spec 0077)#2717glennjacobs wants to merge 1 commit into
glennjacobs wants to merge 1 commit into
Conversation
Renames the in-store handover vocabulary end to end to match
Shopify/WooCommerce/Magento:
- core: FulfilmentMethods\Pickup (key 'pickup'), states ReadyForPickup
('ready-for-pickup') and PickedUp ('picked-up'), ShippingOption::$pickup
stamped as meta['pickup'] by CreateShippingLine, factory states
pickup()/pickedUp()
- table-rate-shipping: ShippingMethods\Pickup driver (key 'pickup'),
createPickupDriver(), driver select option
- lang: key renames in core states/fulfilment, panel orders, admin order,
shipping shippingmethod across every locale; mistranslations fixed
(mn/bg/fr/pt_BR driver labels)
- demo data, tests and docblocks follow the new vocabulary
- upgrade: shipping_methods.driver data migration, LunarSetList class and
property renames, RenameShippingOptionCollectArgRector for the collect:
named argument
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
glennjacobs
changed the base branch from
2.x
to
spec/0076-rename-collection-to-pickup
September 7, 2026 13:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements spec 0077 (#2716) — renames the in-store handover vocabulary end to end from "collection"/"collected" to "pickup"/"picked up", matching Shopify's state vocabulary (WooCommerce "Local pickup", Magento "In-Store Pickup").
Slice 1 — the rename
Drivers\FulfilmentMethods\Pickup(keypickup); statesReadyForPickup(ready-for-pickup) andPickedUp(picked-up);ShippingOption::$pickupreplaces$collectand is stamped asmeta['pickup']byCreateShippingLine;orderCollects()→orderPicksUp(); factory statespickup()/pickedUp();Cart::getEstimatedShipping()andValidateCartForOrderCreationread the new flag.ShippingMethods\Pickupdriver (keypickup),ShippingManager::createPickupDriver(), driver select option.states.php/fulfilment.php, panelorders.php, adminorder.php(16 locales each) and shippingshippingmethod.php(14 locales). Most locales already translated the concept as pickup, so values move with their keys; English values become "Pickup" / "Ready for Pickup" / "Picked Up" / "Mark picked up" / "Picked up at". Fixed literal mistranslations in the shipping driver labels: mnЦуглуулга→Очиж авах, bgКолекция→Получаване на място, frCollecte→Retrait, pt_BRColeta→Retirada.method => 'pickup'.Slice 2 — upgrade path
2026_06_01_000017_rename_collection_shipping_driverrewrites persistedshipping_methods.driver'collection'→'pickup'(guarded, one-way, no-op without the table).LunarSetList: class renameLunar\Shipping\Drivers\ShippingMethods\Collection→...\Pickup; property renameShippingOption::$collect→$pickup(v1 + v2 class strings).RenameShippingOptionCollectArgRectorrewrites thecollect:named argument onShippingOptionconstruction (the parameter kept its position, so positional calls are unaffected).CreateShippingLinewrites'meta' => $shippingOption->metaverbatim and never persists the flag (verified against1.x), so no order-line meta rewrite is needed.Verification
vendor/bin/pest --testsuite <s> --parallelfor core (1288✓), admin (264✓), panel (936✓), filament (75✓), shipping (103✓), stripe (48✓), search (28✓), upgrade (103✓), demo-data (31✓)npm test(340✓),npm run type-check, add-on example buildvendor/bin/phpstan analyse— no errors;vendor/bin/pint --dirty— passExisting v2 alpha databases hold stale values per the alpha policy — re-seed (demo data regenerates).
🤖 Generated with Claude Code