vm0824 Posted December 18, 2017 Share Posted December 18, 2017 I am an FFL dealer, which means that I sell firearms and accessories. One of the requirements is that I must ship all firearms to other FFL dealers (near the customer), and not to the customer directly. This allows the receiving FFL dealer to validate the customer's credentials in person and complete a background check. I am looking to learn to create a module to help my workflow: Add a new attribute to products which will signal whether they need to be shipped to an FFL, or if they can be shipped directly to the customer. Maybe i can use categories? If there is a firearm product in the cart, then ensure that the user MUST enter an "FFL" address during checkout. This can be in addition to the billing and shipping addresses. I manually then validate the FFL address to check that its actually a real registered address with the ATF, before shipping the products. Maybe also add this to the customer's page so they can save the addresses like their billing and shipping addresses. I am new to Prestashop development, but am very interested in learning. I have done some c# coding, but never web. I've read the module developers guide for 1.7, and was hoping to just get some guidance as to how to approach this build. Can someone point me in the right direction to get started? Thanks, Vinnie Link to comment Share on other sites More sharing options...
Inform-All Posted December 19, 2017 Share Posted December 19, 2017 I think the easiest would be to use a module like Module Pickup At Store with this module you can import a list of all your FFL stores. Afterwards you can enable this shipping method for your FFL required products and disable all the other shipping methods. Link to comment Share on other sites More sharing options...
vm0824 Posted December 20, 2017 Author Share Posted December 20, 2017 Nice! The only gotcha here is that I do not have a list of every FFL in the nation. See its not going to be one of my stores. It has to get shipped to an FFL in the state where the customer lives. And then that FFL dealer will (for a charge) complete the firearms transfer. So they buy the item from me I ship it to a different dealer that is convenient for the user Then the user completes the required transfer with the other dealer. The user gets to pick which FFL dealer they would like the item shipped to. I can probably look at getting a list from the ATF, but it'd be a large list of thousands of dealers which would need periodic updating. Though, still a decent option if I wanted to put in the build there. Link to comment Share on other sites More sharing options...
Inform-All Posted December 21, 2017 Share Posted December 21, 2017 22 hours ago, vm0824 said: Nice! The only gotcha here is that I do not have a list of every FFL in the nation. See its not going to be one of my stores. It has to get shipped to an FFL in the state where the customer lives. And then that FFL dealer will (for a charge) complete the firearms transfer. So they buy the item from me I ship it to a different dealer that is convenient for the user Then the user completes the required transfer with the other dealer. The user gets to pick which FFL dealer they would like the item shipped to. I can probably look at getting a list from the ATF, but it'd be a large list of thousands of dealers which would need periodic updating. Though, still a decent option if I wanted to put in the build there. So if this is the case, you cant automatically refer the customer to a pickup adres right? Then you might not even need that module. This could just be a standard carrier from Prestashop. Link to comment Share on other sites More sharing options...
vm0824 Posted December 21, 2017 Author Share Posted December 21, 2017 I currently use a standard carrier, but I need to differentiate between: Invoice Address (aka billing address) - for the CC verification Home Address - This is the customers actual home residence, where non-FFL products can ship to FFL Address - This is an address of a local business (FFL Dealer) near the customer, that the customer gets to pick for use. This is where FFL products will ship. That is why originally I was thinking of just adding a new address type that the customer can save. Because it is likely that they will reuse it. Example: Bob lives in Texas, I live in NJ. Bob adds one pistol (FFL item) and a holster (non-FFL item) to his cart. He goes to check out. He enters his invoice address which will match the address for his credit card validation. He adds his delivery (home) address like normal on every other type of website. In addition, he enters an FFL address of a local licensed FFL dealer: Texas Pawn Shop. I then run his credit card with the invoice address, ship the holster to the delivery (home) address, and then ship the pistol to the FFL address for Texas Pawn Shop (after calling and having them email me a copy of their license). All three addresses are now saved in Bobs customer record for later reuse. Link to comment Share on other sites More sharing options...
Inform-All Posted December 22, 2017 Share Posted December 22, 2017 Ahh, oke so if this is the case then i would recommend using the default Prestashop order note/message. I think it would be easiest for you to implement something that a order message is required for your customers if they have a product from a certain category. This message should contain their local FFL address. Link to comment Share on other sites More sharing options...
vm0824 Posted December 22, 2017 Author Share Posted December 22, 2017 Alright, that seems like a simpler method to get things going. My current solution has been to add a new hook in the checkout screen for a banner that states in bold "enter FFL address as delivery address if there is a firearm". Then i just contact the address phone number to validate. Link to comment Share on other sites More sharing options...
Pierre_d Posted December 24, 2017 Share Posted December 24, 2017 If you have some programming experience, it shouldn't be too complex to achieve what you need. A hook is the right starting point. You can add table in the database to hold additional data (FFL address eg). Come back if you have more specific questions. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now