In-store Pickup Shipping

Contrib type: 
Module
Status: 
Complete and working

Downloads

Latest version: 
0.2
Compatibility: 
Ubercart 1.x

This is a module to give an "in-store shipping" option. It is written from scratch (more or less) and allows to specify a shipping fee based on a % markup or based on a flat-fee (or simply $0). Also has a "turn around time" option.

Note: I have only tested this with Alpha 7e, please provide feedback about the workflow-ng integration if you try it.

0.2 (2007-11-01):
* Fix bug: http://ubercart.org/forum/bug_reports/1596/store_pickup_warning
+ Now using "Note" field for turnaround time
(Note: for Alpha7e you'll have to apply the patch: http://ubercart.org/issue/1503/note_field_shipping_quote. Without it, you won't see the turnaround time text)
+ Add postal code restriction, allowing the option to be visible only when the postal code matches one of the patterns (or regex's) configured in the module. This lets you only show the pickup option to local customers.
+ Change accessorials label to be 'In-store Pickup'
+ Add workflow-ng hook (thanks Lyle)

0.1.1 (2007-10-20):
* Updated to fix http://www.ubercart.org/issue/1436/uc_canadapost_line_55


PreviewAttachmentSize
uc_storepickup-5.x-0.1.tar.gz1.9 KB
uc_storepickup-5.x-0.1.1.tar.gz1.9 KB
uc_storepickup-5.x-0.2.tar.gz2.69 KB
bmagistro's picture
Offline
Getting busy with the Ubercode.
Joined: 09/24/2007
Juice: 200
Re: In-store Pickup Shipping

thanks for the module, i like it.

edit: my previous comment was me makeing a mistake on somehting else

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6855
Re: In-store Pickup Shipping

Add this function to integrate Workflow-ng, which is needed for compatibility with Alpha 8.

<?php
/******************************************************************************
* Workflow-ng Hooks                                                          *
******************************************************************************/

/**
* Implementation of hook_configuration().
*
* Connect the quote action with the quote event.
*/

function uc_storepickup_configuration(){
 
$enabled = variable_get('uc_quote_enabled', array('storepickup' => true));
 
$configurations = array(
   
'uc_storepickup_get_quote' => array(
     
'#label' => t('Shipping quote for store pickup'),
     
'#event' => 'get_quote_from_storepickup',
     
'#module' => 'uc_storepickup',
     
'#active' => $enabled['storepickup'],
    ),
  );
 
$action = workflow_ng_use_action('uc_quote_action_get_quote', array(
   
'#label' => t('Fetch a shipping quote'),
  ));
 
$configurations['uc_storepickup_get_quote'] = workflow_ng_configure($configurations['uc_storepickup_get_quote'], $action);
 
  return
$configurations;
}
?>
Alaska's picture
Offline
Joined: 10/16/2007
Juice: 1434
Location

Lyle:

Saw this added update. Seems that it is already in place in the new update for In Store Pickup released on Nov 1. Just ignore then. Is that correct?

Thanks,

Jim

tahongawaka's picture
Offline
Joined: 11/01/2007
Juice: 4
Not appearing on checkout page

I'd like to use this module for Will Call ticket pickups, with no mailing. However, the option for In-store pickup (Will Call) is not appearing on any checkout pages. Help! What am I missing or what non-compatible configurations did I select?

I am using uc_storepickup-5.x-0.2 and ubercart-5.x-1.0-alpha7e

Alaska's picture
Offline
Joined: 10/16/2007
Juice: 1434
New In Store Now Working on Localhost

Lyle:

Thanks for all of the assistance with In Store Pickup. Tried to just update the files in the In Store Pickup module via but it would work. Perhaps something in the DB needed to be changed and that could not happen. Still do not have it working on my live sites.

However, the good news is that on the localhost site it is now working 100% along with Flat Rate, Inventory and Simple Stock Levels. Had to delete all of the files including the DB and start from fresh with Drupal 5.3. Not sure if I was missing some module or just had some other issue. Will first try adding more modules to the live sites and see if something was missing. If not, then a total reinstall will be in order.

Jim

Alaska's picture
Offline
Joined: 10/16/2007
Juice: 1434
In Store

Tahongawaka:

Make sure that "Store Pickup Shipping" is listed in your modules and is checked. Then there are some other setup options in admin/store/settings/quotes/methods and in admin/store/settings/quotes/methods/storepickup. And it dpends on: Shipping Quotes being enabled.

Jim

tahongawaka's picture
Offline
Joined: 11/01/2007
Juice: 4
Re: In Store

Thanks, Jim.

Both modules are enabled. On admin/store/settings/quotes/methods "In Store pickup" is enabled for All Countries, and it is the "Default order fulfillment type for products."

On my product screen, the In-Store pickup is the default product shipping type. I am using this module with the flat rate shipping module.

This still isn't appearing on the checkout pages. Got any more ideas? Is there a debug log that is produced somewhere that I can examine?

T

Alaska's picture
Offline
Joined: 10/16/2007
Juice: 1434
Module

Tahongawaka:

I can say that it now works on this end, but that is of no help to your issue. Perhaps the author of the module can assist in a solution.

Jim

gregmac's picture
Offline
Getting busy with the Ubercode.
Joined: 09/24/2007
Juice: 87
Re: Re: In Store

Do you have anything in the postal code restriction field? (assuming you are using 0.2). Does 0.1.1 work?

There's really nothing else that limits it, aside from the country selection in ubercart.

Alaska's picture
Offline
Joined: 10/16/2007
Juice: 1434
New Module

Greg:

What is the best way to install your new In Store over the old one? On this end just remove the files via FTP in the drupal/modules folder and place the news one/s in. However there is no uninstall in Drupal for In Store.

The old issue still happens with your new code, but it did work when I unselected many of the Uber modules and then ran the Drupal uninstall and then reinstalled the Uber modules in Drupal. Seems that something gets hung up and will not reset, thus the need for more aggressive action. Not sure if it is tied to accessorials as that does show up in the DB.

Generally all that is needed is to only FTP the new files over the old ones. But not in this case for whatever reason. Maybe something is being stored in the DB and not being cleared out. But there is no DB with In Store.

Well back to uninstalling and reinstalling on the live site. Will see what happens and it anything else breaks.

Jim

somatics's picture
Offline
Joined: 08/18/2007
Juice: 121
In Store Pickup not showing up anywhere for user

I have the uc_storepickup-5.x-0.2.tar.gz version installed in my Drupal 5.3 installation using UberCart Alpha8. On modules it shows up as:

Store Pickup Shipping In-Store Pickup shipping option Depends on: Shipping Quotes (enabled)

I have it enabled, and in http://mysite.org/admin/store/settings/quotes/methods I have the In-store Pickup checkbox selected. However, the option for In-Store Pickup does not show up anywhere in checkout (or on the product pages, if it's supposed to).

I also have Flat Rate per Product enabled in http://mysite.org/admin/store/settings/quotes/methods and it seems to be using this option only. It's automatically calculating shipping that seems to reflext Flat Rate Per Product, without giving me the option for any other kind of shipping.

This site is live and we really rely on the use of some sort of in-store pickup option. Can anyone tell me how to make In-Store Pickup work?

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6855
Re: In Store Pickup not showing up anywhere for user

Does In-Store Pickup show up on the Workflow-ng configuration page (/admin/build/workflow-ng)? If it doesn't, then the cache_workflow_ng table needs to be emptied.

somatics's picture
Offline
Joined: 08/18/2007
Juice: 121
yes

Yes, on the /admin/build/workflow-ng page, there's a popup menu "Filter by module", and in that value list is uc_storepickup.

There are no configurations listed on the page, for any module, even with no filter applied. Does this mean something is wrong?

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6855
Re: yes

That's really weird. If nothing else, there should be some inactive configurations from the workflow-ng module. And you can't delete non-custom configurations, so I don't know what's going on.

timl's picture
Offline
Joined: 11/14/2007
Juice: 12
Re: In-store Pickup Shipping

Thanks for the module - got it going fine.

I have a question regarding the workflow that I'd appreciate some comments on:

If my store is pickup only - this module offers a good solution, however It appears that shipping is dependent on the 'Delivery' information from the corresponding pane. Which doesn't really make sense if the user only wishes to pick up or that's all the store offers.

If I omit the delivery pane (btw: the billing pane still refers to it in 'same as delivery' checkbox) and the user has to manually press the 'get shipping quote'

Any thoughts? It just seems a little backwards that you have to enter delivery address in order for store pickup option to display..

also - I saw a case: in the code for map extension (Google map?) can't wait! Eye-wink

cstreit's picture
Offline
Joined: 11/12/2007
Juice: 45
In-store Pickup Shipping

I'm using Drupal 5.3 and uc Alpha8, uc_storepickup-5.x-0.2

I have the flat rate shipping cost per order configured.

I have the zip code restriction sepcified for one zip code only for testing. Even if a enter this explicit zip code in the cart section, I always get the flat rate for the shipping.

I assume I should get the option to either use in-store pick-up or flar rate per order?

I set the country to switzerland with the currency of CHF

What do I do wrong?

I configured the two options with a wrong weight. As soon as I corrected this, I can use the module as expected and It shows me the option for instore pick up as well as the regular flat rate.

Thanks for this excellent work for uc in general and with this additional module

-Chris

zmove's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.Internationalizationizer
Joined: 08/13/2007
Juice: 1195
Hi there, Could be great to

Hi there,

Could be great to add a textarea to specify the store address to display in the checkout pane, when you choose in-store pickup shipping address.

And could be great too to specify a custom message to send if this shipping option is selected to send store address by email too...

zmove's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.Internationalizationizer
Joined: 08/13/2007
Juice: 1195
Re: In-store Pickup Shipping

The new shipping type defined by the customer pickup module causes me problems and, as I don't know the interest of defining a new shipping type, I just remove it.

The problem causes by this is that I was not able to define a weight to my shipping quote, so, even by changing weight on the shipping type, workflow etc...., the in-store shipping quote was the first to display.

So I remove the customer pickyp type and I put in-store shipping quote in small_package, and the weight still work.

So, for people that have weight problems and don't need a new shipping type, I post my package.

AttachmentSize
uc_storepickup.zip 2.85 KB
Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6855
Re: In-store Pickup Shipping

I came across an interesting thing today while testing out a new workflow condition. It seems that this shipping method somehow changes the weight of the products to include the quantity instead of being the unit weight. This would be fine except it affects the weight sent to all of the other shipping methods. If you also use the weightquote module, you get a much bigger price than you should.

The condition I was writing tests the weight on an order, and since I was mistakenly not taking the quantity into account, it worked perfectly the first time. Go figure. Eye-wink

What's worse, the PHP documentation explicitly says this shouldn't happen. It's probably Workflow's fault.

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6855
Re: Re: In-store Pickup Shipping

I think I may be misinterpreting the PHP docs, actually. The bit I was referring to was that arrays get copied, but objects just get their references passed. What we're dealing with in the shipping quotes is an array of product objects. Even though the array does get copied (so it's a separate entity), the values in it are still the same references to the same product objects.

I changed the way the quote module passes along the product information, so now this shouldn't be a problem.

stacium's picture
Offline
Joined: 01/12/2008
Juice: 17
Weight Bug
morten's picture
Offline
Joined: 01/27/2008
Juice: 12
No quotes received

I have enabled in-store pickup as the only shipping method, with no restrictions, and also set as the default shipping method. The "Shipping quote for store pickup" is active in workflow-ng. But I am not able to get a shipping quote in the checkout pane, it behaves as if no shipping methods are active.
The other shipping quote methods have been working fine.
I have tried uninstalling all shipping modules, and reinstalling, but still have the same problem.

Is there something I have overlooked, or something I can try to get it to work? I think that its probably a workflow-ng interaction problem, am I right?

Thank you in advance,
Morten

emdeex's picture
Offline
Joined: 03/02/2008
Juice: 2
Same prob, won't work

I'm having the same prob as the previous poster. Other shipping methods work, but in store pickup will not. If I disable all other shipping methods and leave instore pickup enabled, I get the following during checkout:

"There were problems getting a shipping quote. Please verify the delivery and product information and try again.If this does not resolve the issue, please call in to complete your order."

I'll try deleting all the shipping modules, clearing the caches, and starting again.

zmove's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.Internationalizationizer
Joined: 08/13/2007
Juice: 1195
Re: Same prob, won't work

Now Ubercart have workflow, I think this module is not usefull anymore.

You all can create a free flatrate named "Store shipping quote" and add the workflow rules you need to apply it. it will more "core compatible".

pebosi's picture
Offline
Uber DonorBug Finder
Joined: 03/27/2008
Juice: 2
Re: In-store Pickup Shipping

Please provide a language template. tested your contrib and it's working with beta7 / drupal5.7.

regards pebosi

cgapperi's picture
Offline
Joined: 03/14/2009
Juice: 4
6.x compatible version?

This is exactly the module I am looking for. Tried installing it on my 6.10 version and it fails with a 'not compatible with Drupal 6.10' message.

geerlingguy's picture
Offline
Joined: 03/10/2009
Juice: 15
Drupal 6.x?

Are there plans to port this module to Drupal 6.x? I would really like to have this functionality.

kyutums's picture
Offline
Joined: 05/24/2009
Juice: 45
Re: Drupal 6.x?

Same here. Hope this gets ported to Drupal 6. Smiling

douglas79's picture
Offline
Joined: 07/31/2009
Juice: 39
Drupal 6?

Nobody Sad

jasonabc's picture
Offline
Uber Donor
Joined: 05/05/2008
Juice: 584
Re: In-store Pickup Shipping

adding my name to the Drupal 6 port requests!!

betancourt's picture
Offline
Joined: 10/04/2009
Juice: 17
Not working on Drupal 6.x

Have the same problem over here

Any ideas?

TR
TR's picture
Offline
Bug FinderFAQ ModeratorGetting busy with the Ubercode.
Joined: 11/05/2007
Juice: 3292
Re: Not working on Drupal 6.x

If it's that important to you, why don't you just port it yourself or offer a small bounty to have someone do it for you? Seems like this functionality is currently provided by the core modules, without need for a separate in-store pickup module, so I don't understand the motivation behind calling for a D6 port.

<tr>.
jugney's picture
Offline
Joined: 06/03/2008
Juice: 202
Re: Re: Not working on Drupal 6.x

TR is right. It's pretty easy. I recently upgraded from D5 to 6 and noticed the other day that In-store pickup no longer showed up as a shipping option. (Oops!)

But it is easy to set up. Just create a new flat rate shipping method and give it an appropriate name in admin/store/settings/quotes/methods/flatrate. For our site, I set it to display "Pickup in Blue Mounds, WI" for this shipping option.

jasonabc's picture
Offline
Uber Donor
Joined: 05/05/2008
Juice: 584
Re: In-store Pickup Shipping

the reason the Flat Rate shipping module is no good here is because the customer needs to specify a delivery address, which for In-Store pickup orders is not needed. An In Store pickup module should remove the delivery address fields as happens for virtual products.

fineartist99's picture
Offline
Joined: 06/08/2011
Juice: 77
use a Flat rate option

had problems getting this to work on Drupal 7 UBERCART 7.x-3.0-beta3 so I looked online and found this article that stated to just set up a Flat rate option.

https://drupal.org/node/791348

That will do for me : )

Oh wait, I just saw jasonabc comment - and that would be better! Anyway to complete something like this for my version of Drupal and Ubercart?