Announcement

Collapse
No announcement yet.

Dropshipping

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Dropshipping

    Have a store that wants to be able to offer drop shipping to it's wholesale customers - the wholesale customer would login, place the order but have it sent to their customer's address instead. I'm thinking this could be as easy as just having them change the Ship To address, but they also want to be able to charge a dropship fee. Would something like the EmporiumPlus Miscellaneous Fee module be good for this? Is so, then how to display the fee only to the wholesale price group? It would need to be a checkbox, but how to make sure that it gets checked when needed?

    Any other methods / suggestions? All are welcome.

    Thanks!
    Leslie
    Leslie Kirk
    Miva Certified Developer
    Miva Merchant Specialist since 1997
    Previously of Webs Your Way
    (aka Leslie Nord leslienord)

    Email me: [email protected]
    www.lesliekirk.com

    Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

    #2
    Re: Dropshipping

    You should be able to do it by making the attribute not required and only showing it when the customer belongs to your "wholesale" group (toolkit #24). That means monkeying with the attribute templates for your product pages, so you can draw attention to it however you want. Then the Misc. Fee module is perfect.

    You could also add other attributes to get the drop ship info. As long as you don't make any of them required, they'll never show up in unusual places. THen the wholesaler isn't changing ship-to info constantly, which they will forget to do at least once.

    You could put all that into an "attribute template" (wow, it can get confusing) and detect that (l.settings:attribute:template_code) in the product pages attribute template and have how you want it to appear all planned out. We do that to insert javascript that counts the number of characters a customer wants imprinted on products and to insert the proper header/footer (think a wrapper) for certain attributes that may require explanation or a helper graphic, but we also don't collect attribute info on the product page, so we don't have to go through all that for every product page rendered.

    If you figure out how to make people check something in a fool-proof manner, falling short of being there to click it for them, please share your method.
    Last edited by nottheusual1; 01-31-13, 06:21 PM.

    Comment


      #3
      Re: Dropshipping

      Still thinking this one through...perhaps the EmporiumPlus Order Custom Fields that could conditionally display for wholesale customers. It can collect the address AND a fee. They could still change the Ship To but this field would be the confirmation of that ship to. I would have to check with Bill to see if the fields could be required but not hold up the checkout process.
      Leslie Kirk
      Miva Certified Developer
      Miva Merchant Specialist since 1997
      Previously of Webs Your Way
      (aka Leslie Nord leslienord)

      Email me: [email protected]
      www.lesliekirk.com

      Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

      Comment


        #4
        Re: Dropshipping

        I have another thought on this - but I'm not even sure if it's doable - create a default "dropship" account that would be used for this type of order. The BIG problem I see with this is Ship To / Bill To info from the last time an order would still be in those fields. Is there any way to have this data cleared when the order is submitted? I think I would still want to also use the EmporiumPlus Order Custom Fields to collect the dropship fee and to (re)collect the Ship To address.

        Thoughts?
        Leslie Kirk
        Miva Certified Developer
        Miva Merchant Specialist since 1997
        Previously of Webs Your Way
        (aka Leslie Nord leslienord)

        Email me: [email protected]
        www.lesliekirk.com

        Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

        Comment


          #5
          Re: Dropshipping

          Originally posted by nottheusual1 View Post
          You should be able to do it by making the attribute not required and only showing it when the customer belongs to your "wholesale" group (toolkit #24). That means monkeying with the attribute templates for your product pages, so you can draw attention to it however you want. Then the Misc. Fee module is perfect.
          So I thought I would play around with a variation of your suggestion using the Addendum module. But I think my "logic" is a tick off, since it displays this for all customers. I used this code inside the Addendum module Primary Questions Set (maybe I should ask Bill if this snippet can be used in there):

          Code:
          <mvt:item name="toolkit" param="pgroup|pcount" />
          <mvt:if expr="g.pcount GT 0">
          <mvt:foreach iterator="customer_pgroup" array="customer_pgroups">
          <mvt:if expr="l.settings:customer_pgroup:name EQ 'Dropship'">
          <mvt:item name="toolkit" param="sassign|drop|1" />
          </mvt:if>
          </mvt:foreach>
          </mvt:if>
          <mvt:if expr="g.drop">
          <strong>Dropship to the above address?</strong><INPUT TYPE="checkbox" NAME="question4" VALUE="Yes">
          <br>
          <br>
          <br>
          <mvt:exit>
          </mvt:if>
          Wondering what I did wrong

          Leslie
          Leslie Kirk
          Miva Certified Developer
          Miva Merchant Specialist since 1997
          Previously of Webs Your Way
          (aka Leslie Nord leslienord)

          Email me: [email protected]
          www.lesliekirk.com

          Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

          Comment


            #6
            Re: Dropshipping

            The addendum input cannot use store morph in the module's admin. However, on the page you have this on you have a token for addendum. You could remove that token and replace it with your store morph code. As long as all the question inputs are there and the hidden input for max questions is there, the data will be saved. So by doing this you could have store morph conditionals for specific addendum questions.
            Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
            Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
            Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
            Facebook http://www.facebook.com/EmporiumPlus
            Twitter http://twitter.com/emporiumplus

            Comment


              #7
              Re: Dropshipping

              Hi Bill,

              I was just going to post that I figure that out. I also discovered a "flaw" in my snippet. Here's what worked for me. I placed this on the OCST screen just above the token for the addendum module:

              Code:
              <mvt:item name="toolkit" param="pgroup|pcount" />
              <mvt:if expr="g.pcount GT 0"> 
              <mvt:foreach iterator="customer_pgroup" array="customer_pgroups"> 
              <mvt:if expr="l.settings:customer_pgroup:name EQ 'Dropship'"> 
              <mvt:item name="toolkit" param="sassign|drop|1" /> 
              </mvt:if> 
              </mvt:foreach> 
              </mvt:if> 
              <mvt:if expr="g.drop"> <strong>Dropship to the above address?</strong><INPUT TYPE="checkbox" NAME="question4" VALUE="Yes"> 
              <br> 
              <br> 
              </mvt:if>
              The <mvt:exit> caused me a little grief until I released it needed to be removed. And I upped the max questions to 4.

              Thanks!
              Leslie
              Leslie Kirk
              Miva Certified Developer
              Miva Merchant Specialist since 1997
              Previously of Webs Your Way
              (aka Leslie Nord leslienord)

              Email me: [email protected]
              www.lesliekirk.com

              Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

              Comment


                #8
                Re: Dropshipping

                So after I get all this in place, test it, find that it works greats, send it to the store owner for review, they come back and say they want the drop ship to be a shipping method, not an additional fee...

                I'm thinking I may have already asked about needing to restrict shipping methods to a Price Group, so I'm off to search the forum.
                Leslie Kirk
                Miva Certified Developer
                Miva Merchant Specialist since 1997
                Previously of Webs Your Way
                (aka Leslie Nord leslienord)

                Email me: [email protected]
                www.lesliekirk.com

                Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                Comment


                  #9
                  Re: Dropshipping

                  What shipping modules are they using?
                  Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
                  Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
                  Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
                  Facebook http://www.facebook.com/EmporiumPlus
                  Twitter http://twitter.com/emporiumplus

                  Comment


                    #10
                    Re: Dropshipping

                    They are using Base + Weight and Flat Rate Shipping. I had already created a conditional for the Wholesale group which works great. So I was thinking I could add into it. If I'm in the Dropship group just the Dropship shipping shows as wanted. But when I'm not in a price group the Dropship the shipping method still displays at checkout. So I've goofed something up...

                    Code:
                    <mvt:item name="toolkit" param="pgroup|pcount" />
                    <mvt:if expr="g.pcount GT 0">
                    <mvt:foreach iterator="customer_pgroup" array="customer_pgroups">
                    <mvt:if expr="l.settings:customer_pgroup:name EQ 'Wholesale'">
                    <mvt:item name="toolkit" param="sassign|whole|1" />
                    
                    
                    <mvt:elseif expr="l.settings:customer_pgroup:name EQ 'Dropship'">
                    <mvt:item name="toolkit" param="sassign|drop|1" />
                    </mvt:if>
                    
                    
                    </mvt:foreach>
                    </mvt:if>
                    
                    <mvt:if expr="g.whole EQ 1"> 
                    <input name="ShippingMethod" value="flatrate:Wholesale Shipping" type="radio"> Wholesale Shipping ($18.00)<br>
                    <mvt:elseif expr="g.drop EQ 1">
                    <input name="ShippingMethod" value="flatrate:Drop Shipping" type="radio"> Drop Shipping ($10.00)<br>
                    <mvt:else>
                    ... the rest of the default shipping code ...
                    Leslie Kirk
                    Miva Certified Developer
                    Miva Merchant Specialist since 1997
                    Previously of Webs Your Way
                    (aka Leslie Nord leslienord)

                    Email me: [email protected]
                    www.lesliekirk.com

                    Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                    Comment


                      #11
                      Re: Dropshipping

                      The whole and drop variables are determined before starting the foreach loop of the shipping methods.

                      What does your whole foreach loop look like?
                      Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
                      Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
                      Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
                      Facebook http://www.facebook.com/EmporiumPlus
                      Twitter http://twitter.com/emporiumplus

                      Comment


                        #12
                        Re: Dropshipping

                        Here's the entire code I've tried:

                        Code:
                        <mvt:comment> Price Group Conditional </mvt:comment>
                        <mvt:item name="toolkit" param="pgroup|pcount" />
                        <mvt:if expr="g.pcount GT 0">
                        <mvt:foreach iterator="customer_pgroup" array="customer_pgroups">
                        <mvt:if expr="l.settings:customer_pgroup:name EQ 'Wholesale'">
                        <mvt:item name="toolkit" param="sassign|whole|1" />
                        
                        
                        <mvt:elseif expr="l.settings:customer_pgroup:name EQ 'Dropship'">
                        <mvt:item name="toolkit" param="sassign|drop|1" />
                        </mvt:if>
                        
                        
                        </mvt:foreach>
                        </mvt:if>
                        
                        <mvt:if expr="g.whole EQ 1"> 
                        <input name="ShippingMethod" value="flatrate:Wholesale Shipping" type="radio"> Wholesale Shipping ($18.00)<br>
                        <mvt:elseif expr="g.drop EQ 1">
                        <input name="ShippingMethod" value="flatrate:Drop Shipping" type="radio"> Drop Shipping ($10.00)<br>
                        <mvt:else>
                        
                                                <mvt:if expr="ISNULL l.settings:shippingmethods">
                                        <mvt:if expr="ISNULL l.settings:fallbackshippingmethod">
                                                            Unable to Calculate Shipping Costs
                                                        <mvt:else>
                                                            &mvt:fallbackshippingmethod:name; (&mvt:fallbackshippingmethod:formatted_price;)
                                      </mvt:if>
                                    <mvt:else>
                                        <mvt:foreach array="shippingmethods" iterator="method">
                        <mvt:if expr="(l.settings:shippingmethod:code NE 'flatrate:Wholesale Shipping') OR (l.settings:shippingmethod:code NE 'flatrate:Drop Shipping')">
                        <mvt:if expr="ISNULL g.ShippingMethod AND pos1 EQ 1">
                        <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" checked="checked" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                        <mvt:elseif expr="g.ShippingMethod EQ (l.settings:method:module $ : $ l.settings:method:code)">
                        <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" checked="checked" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                        <mvt:else>
                        <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                        </mvt:if>
                        </mvt:if>
                        </mvt:foreach>
                                    
                        </mvt:if>
                                    </mvt:if>
                                            </div>
                                            <mvt:if expr="ISNULL l.settings:shippingmethods">
                                                <span class="bold">No valid shipping methods are available for your order.  You will be contacted regarding shipping when your order is processed.</span>
                                            </mvt:if>
                        Last edited by lesliekirk; 03-04-13, 07:16 AM.
                        Leslie Kirk
                        Miva Certified Developer
                        Miva Merchant Specialist since 1997
                        Previously of Webs Your Way
                        (aka Leslie Nord leslienord)

                        Email me: [email protected]
                        www.lesliekirk.com

                        Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                        Comment


                          #13
                          Re: Dropshipping

                          Inside the foreach loop wrap all the code with

                          <mvt:foreach array="shippingmethods" iterator="method">
                          <mvt:if expr="(l.settings:method:code NE 'Wholesale Shipping') OR (l.settings:method:code NE 'Drop Shipping')">
                          <mvt:else>

                          the existing code for the other methods here

                          </mvt:if>
                          </mvt:foreach>
                          Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
                          Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
                          Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
                          Facebook http://www.facebook.com/EmporiumPlus
                          Twitter http://twitter.com/emporiumplus

                          Comment


                            #14
                            Re: Dropshipping

                            Not sure I quite follow you on this one. Is my final code supposed to look like this?

                            Code:
                            <mvt:item name="toolkit" param="pgroup|pcount" />
                            <mvt:if expr="g.pcount GT 0">
                            <mvt:foreach iterator="customer_pgroup" array="customer_pgroups">
                            <mvt:if expr="l.settings:customer_pgroup:name EQ 'Wholesale'">
                            <mvt:item name="toolkit" param="sassign|whole|1" />
                            
                            
                            <mvt:elseif expr="l.settings:customer_pgroup:name EQ 'Dropship'">
                            <mvt:item name="toolkit" param="sassign|drop|1" />
                            </mvt:if>
                            
                            
                            </mvt:foreach>
                            </mvt:if>
                            
                            <mvt:if expr="g.whole EQ 1"> 
                            <input name="ShippingMethod" value="flatrate:Wholesale Shipping" type="radio"> Wholesale Shipping ($18.00)<br>
                            <mvt:elseif expr="g.drop EQ 1">
                            <input name="ShippingMethod" value="flatrate:Drop Shipping" type="radio"> Drop Shipping ($10.00)<br>
                            <mvt:else>
                            
                                                    <mvt:if expr="ISNULL l.settings:shippingmethods">
                                            <mvt:if expr="ISNULL l.settings:fallbackshippingmethod">
                                                                Unable to Calculate Shipping Costs
                                                            <mvt:else>
                                                                &mvt:fallbackshippingmethod:name; (&mvt:fallbackshippingmethod:formatted_price;)
                                          </mvt:if>
                                        <mvt:else>
                                            <mvt:foreach array="shippingmethods" iterator="method">
                            <mvt:if expr="(l.settings:method:code NE 'Wholesale Shipping') OR (l.settings:method:code NE 'Drop Shipping')">
                            <mvt:else>
                            <mvt:if expr="ISNULL g.ShippingMethod AND pos1 EQ 1">
                            <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" checked="checked" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                            <mvt:elseif expr="g.ShippingMethod EQ (l.settings:method:module $ : $ l.settings:method:code)">
                            <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" checked="checked" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                            <mvt:else>
                            <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                            </mvt:if>
                            </mvt:foreach>
                                        </mvt:if>
                            </mvt:if>
                                        </mvt:if>
                                                </div>
                                                <mvt:if expr="ISNULL l.settings:shippingmethods">
                                                    <span class="bold">No valid shipping methods are available for your order.  You will be contacted regarding shipping when your order is processed.</span>
                                                </mvt:if>
                            Leslie Kirk
                            Miva Certified Developer
                            Miva Merchant Specialist since 1997
                            Previously of Webs Your Way
                            (aka Leslie Nord leslienord)

                            Email me: [email protected]
                            www.lesliekirk.com

                            Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

                            Comment


                              #15
                              Re: Dropshipping

                              Existing code for the other methods.

                              <mvt:if expr="g.ShippingMethod EQ (l.settings:method:module $ : $ l.settings:method:code)">
                              <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" checked="checked" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                              <mvt:else>
                              <input type="radio" name="ShippingMethod" value="&mvte:method:module;:&mvte:method:code;" /> &mvt:method:name; (&mvt:method:formatted_price;)<br />
                              </mvt:if>
                              Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
                              Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
                              Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
                              Facebook http://www.facebook.com/EmporiumPlus
                              Twitter http://twitter.com/emporiumplus

                              Comment

                              Working...
                              X