Forum Moderators: phranque
I'm in the design phase of a Customer Service package. This isn't to be a 'big' project with a lot of complicated tasks, I just want my customers to be able to enter an order number and check the status of thier order. The biggest reason is because my widgets don't ship in 24-48 hours, they have to be made first, and that can take a week or more. Meanwhile, the customer has pre-paid, and sits impatiently beside the mailbox every day. I want to help ease their anxiety.
On the customer side it seems that simple validation with the order number and e-mail address (used when the order was placed) would be enough to address most security issues.
On the administrative side I need to be able to modify my database records, view all open orders, add comments....
I've come up with an initial database design that will have several tables.
Key Table
Seq# , Ord#, e-mail
Status Table
Seq#, Status, order and shipping data
Comment Table
Seq#, Comments
Customer Table
Seq#, Cust ID, Invoice information
Items Table
Seq#, items
The key to all the tables is Seq#, which would be assigned unique to the Key Table and serve as the index for the other tables.
To make the whole process work, I plan to scrape e-mails from my shopping cart to initiate a new record and populate my tables.
My design plans go a little deeper than this and I had actually written them with an eye to posting them. Nah...
I'm only thru Chap 8 of the PHP Bible, so there's a bit more reading before work might actually begin. I guess what I'm looking for here is a head's up about any serious pitfalls, especially regarding the security of individual customer records. I don't plan to capture some of the most sensitive data, but that plan could be changed in the future.
In general I want my design to be flexible enough to allow for changes/growth. For example, I already know I want to be notified and/or have the customer record brought to the top if a customer checks in and adds a comment. But this little feature does not have to be working to get the basic structure online.
So, if anyone might be able to offer any suggestions, comments, laughter... I'd be willing to listen.
Thanks
grandpa
I'm almost ready to start writing some code for this project, but there's a wall in front of me. Perhaps there's a suggestion lurking around this forum.
The wall is that I haven't found a decent method to handle the emails that begin the entire process. It looks like PEAR or SOAP might offer the best solutions, but I'm in over my head with either of them.
What I would like to have happen is this: An email gets placed somewhere on my server, and once an hour an application would wake up and process any new messages.
It sounds simple enough, and I'm sure it is easy, once the process is understood.
You can log in, see each order, if its in production, preproduction, or shipping state. There is also a checklist of what is being done, and the estimated date for the completion of that project phase.
So, I can log in, look at my orders, see that one computer is being tested, another is having software installed that day, and yet another the hardware is being built.
This both keeps me informed of my order status, but also makes their site sticker, as I'll go over to the site and check what's being done on occasion, so if I needed some other part, I might just buy it since I'm already on that site.
You could let them enter an order number, a security password if you want to, and then let the server send you an email to let you know the customer has checked.
I don't understand exactly what you're trying to do.
When a customer places an order, an e-mail is automatically sent to them, detailing the shipping information and items ordered. No billing info is sent in that email.
What I think I want to do... send a duplicate of that email to my server, either directly or by uploading it as a text file after it has been received here.
Then a program would wake up (once an hour, maybe) and process any files on the server. Basically, I'll parse the data and create table records. I'm pretty comfortable with everything except how to get that message to the server.
I'm thinking the best solution would be to process the messages on our local PC, and send them to the server as text files. Ideally, I want a one click solution, as opposed to say, firing up FTP and sending the files to the server.
eWhisper - that's right along the lines of what I want to implement. It doesn't have to be as fancy as Dell's, just yet, but I want my customers to visit the site and check the order status, instead of having to call or e-mail. I despise the phone and e-mails can get lost in the sea of spam that's called my Inbox.
Now it seems like you're saying you want the server to send an email containing the data to your mail server, then some other sever reads the email, parses the body to extract the data, and enters it into the database.
I don't understand the extra email steps.
The PHP program can run on your web server, collect the data, compose and send the email, and enter the data into your database right then and there. One click and it's done. It could also send you an email to notify you of the new order so you could check the database and get to work on the order.
Why the intermediate email step? PHP can do it all without that.