Using the core UPS module, is there a way to prevent a customer from choosing Next Day Air, 2nd Day Air, etc., if they are within 1 day Ground service from the shipping warehouse?
Thanks,
Marc
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
Since the origin Zip Code is entered in the UPS module, you'd think that it would be compared against the ship to Zip and return only the viable choices.
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter
Our present cart does exactly that. It uses a lookup table that stores a list of Zip Codes (just the first 3 digits) and the corresponding UPS zones, and then the calc compares the two zones and determines the "available" shipping types.Xsecrets wrote:I have a feeling it's going to be rather difficult to implement, because the other options are viable options. ... All opencart can do is send the delivery address and shipping address information to the ups api and display what it gets back. I suppose if you took the time to build some sort of table of all the zip codes that fall within the 1dg delivery area you could then hack the heck out of the module to do some sort of a comparison and only display the ground option.
Well, there's always a first time for everything, isn't there? Seriously, though, why should a customer have the option to choose 3 day shipping when ground will be next day anyway? If you're a business owner, you should know by now that end users will choose something they shouldn't simply because it's there.Xsecrets wrote:Honestly I've never been asked this question in over 6 years of building online stores.
To be fair to my customers, we're based in Seattle and this supplier is based in NY, so people on the East Coast think the items will ship from us and they want it quicker than the 5+ days cross country. I simply want to prevent as many headaches as I can, so I need to find a way to do this.
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
I suppose if you assume UPS Ground is local and you say something like:
if myzip = 901xx and the customer zip = 901xx then only show ground?
I guess it depends on how you go about it. The lookup tables we use now look like this:Qphoria wrote:There would need to be some sort of definition of what is considered to be a "local" shipping.
Code: Select all
003,--
004,2
005,2
006,45
007,45
008,--
009,45
...
505,6
506,5
507,5
508,6
...
Not sure if that's the best way to go about it in OC, but by using zones, it should be pretty straight forward —
example:
• Zone 2 would show only Ground
• Zone 3 would show Ground and Next Day Air
• Zone 4 would show Ground, Next Day Air, and 2nd Day Air
etc.
It appears that this would be done in admin/controller/shipping/ups.php? Getting started is always the hardest part for me, so any help would be greatly appreciated.
Attachments
UPS_Map_NY.gif (12.85 KiB) Viewed 5504 times
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter
Every option that we use, yes.Xsecrets wrote:so you would have that complete table for every possible shipping option?
Hey, it works — but if you have a better idea, I'm all ears.Xsecrets wrote:that seems kind of crazy.
I realize all this. I'll need to set up lookup tables or use some other method. I was hoping someone here would have some good ideas on how I could go about coding this.Xsecrets wrote:The next issue you'll run into is that opencart doesn't have any idea of zones per shipping option only per shipping module.
Are you saying that this can't be done in PHP? Am I stuck with my Perl cart because of this?Xsecrets wrote:as a matter of fact opencart and every other cart I've ever used really doesn't have an idea of shipping options, other than a list of which ones you accept. It just submits address data to ups and displays the array they send back.
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
absolutely not. Just that I'm not sure the best way. I'm guessing you would have to take the returned array of quotes and loop through it doing all your checks and unset that key if it doesn't pass or something like that. Just seems like a huge pain.marc_cole wrote: Are you saying that this can't be done in PHP? Am I stuck with my Perl cart because of this?
OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter
Agreed.Xsecrets wrote: Just seems like a huge pain.
Is there a way to have UPS return the zone of the Ship To address? I echoed out the result of curl_exec($ch) and got this:
Code: Select all
Bare Bones Rate Request1.00011Success03Your invoice may vary from the displayed reference ratesLBS30.0USD18.50USD0.00USD18.50USD18.50USD0.00USD18.5030.0LBS30.012Your invoice may vary from the displayed reference ratesLBS30.0USD33.99USD0.00USD33.993USD33.99USD0.00USD33.9930.0LBS30.002Your invoice may vary from the displayed reference ratesLBS30.0USD43.56USD0.00USD43.562USD43.56USD0.00USD43.5630.0LBS30.013Your invoice may vary from the displayed reference ratesLBS30.0USD59.68USD0.00USD59.681USD59.68USD0.00USD59.6830.0LBS30.014Your invoice may vary from the displayed reference ratesLBS30.0USD102.69USD0.00USD102.6918:00 A.M.USD102.69USD0.00USD102.6930.0LBS30.001Your invoice may vary from the displayed reference ratesLBS30.0USD68.59USD0.00USD68.59110:30 A.M.USD68.59USD0.00USD68.5930.0LBS30.0
Code: Select all
7D1B515986514785 marc_cole 631TT8c Bare Bones Rate Request 1.0001 Rate shop 11 04
Windsor NY US 12553
Seattle WA US 98121
Windsor NY US 12553
02 LBS 30
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
If only it was that simple! Zones that would be 2 days by Ground should have the option of Next Day Air, but not 2nd Day Air. Zones that are 3 days by Ground should be able to choose Ground, Next Day Air, and 2nd Day Air, but not 3 Day Select. And the list goes on...Qphoria wrote:Better idea would be my idea compare the first 3 and if they match, only show local.
I'm sure you run across this yourself, but people just don't read. Sad but true.Qphoria wrote:On the shipping page, explain to people that you are located in seattle. If they are located in seattle, they should be smart enough to realize they should choose local
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
EDIT: Just in case it came across that way, I wasn't trying to be sarcastic.
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
OpenCart v1.4.9.4
VQMod | Categories Home | Cleaner By Default - 2 Column | Speak Good English
It would be great if someone could select "California" and have UPS 2-Day Shipping be the only thing that comes up, as opposed to NY, where Ground, 2-Day and 3-Day Select show up. The "Zone" structure would be great...
Users browsing this forum: No registered users and 38 guests