I've read the documentation, but it doesn't seem to be complete just yet.

I'm using Drupal 9.4 and Commerce Core 8.x-2.31 with a few extra Commerce modules. I've got a basic question (I think?). How can you get the checkout in a way that the customer can choose between filling in an address and picking up the order at 1 of 2 locations? When they pick it up at a location, no cost should be added.

There are product variations seeing that we are using SKU numbers for stock and tracing etc.

The customer shouldn't be bothered with extra details, just choose a product and during checkout say 'I want to pay x to send, or pick it up at x or y with no extra cost'.

I have 3 shipping methods, 2 of which add 0 cost to the order, 1 adding the shipping fee. To add this to the checkout, I saw a question about how the order types and ordertype items are linked to each other.

I'm not sure if this setup needs multiple stores (1 online/ 2 offline), or just have multiple Order item types which the Product variation types link to? (The last option, it seems that you can only enter 1 Order item type per Product variation type, so that doesn't seem like the correct way to go?)

  • I found drupal.org/project/commerce_pickup, this module adds a few options to the shipping method. But I still cant get a customer to chose between picking something up or getting it sent to them.
    – Neli
    Commented Sep 4, 2022 at 10:03

1 Answer 1


An easy solution would be to use two flat rate shipping methods (Pick up at place x, Pick up at place Y). Flat rates is provided by Commerce Shipping module.

The drawback is that it will require the customer to enter their address. On the other hand, you probably need billing address anyway, so it may be good enough solution.

  • Ok, I think I know where you're going with this. But where in the process of the checkout can the customer choose that they want to pick it up? Thanks for your answer.
    – Neli
    Commented Sep 5, 2022 at 12:04
  • You can create a new shipping method as described in the docs. Probably choosing "flat rate" as a plugin and a description that the customers will understand.
    – rs211
    Commented Sep 7, 2022 at 21:56
  • All methods you create in this way will be available for the customer to choose from. Provided you have defined an appropriate checkout flow in /admin/commerce/config/checkout-flows. Also you need to configure in /admin/commerce/config/order-types an order type with workflow "Fulfillment" (or "Fulfillment with validation").
    – rs211
    Commented Sep 7, 2022 at 22:01
  • Indeed, yesterday I fixed the entire flow and used the flat rate as you mentioned. I had forgotten to put the correct setting in the "order types" default, which was "enable shipping for this order type". It was a mess in settings, I thought I had to add a different order type for the different shipping methods, which was wrong ofcourse. I've cleaned out the types and set the correct settings. Thank you very much for the help, @rs211 ! I've created an issue about the settings not showing.
    – Neli
    Commented Sep 9, 2022 at 6:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.