E-commerce shop based in OpenCart platform v. 22.214.171.124.
Theme used: Journal 2.7.3.
Extensions installed: Ajax Quick Checkout, Mass Products Update PACKAGE, Mega Filter PRO, [login to view URL]
We want to reduce costs of shipping and give extra reward (bonus points) for orders that picked up by customer himself.
We need a feature to add 500 extra reward points to user who selects shipping method “Pickup” (code=”pickup”) by conditions:
1) Analyze last 3 customer’s orders which could be delivered for free (order total >= threshold value of free_total in settings route=shipping/free), sort them by date
2) If at least 2 of 3 orders have shipping method “delivery” – we offer bonus, otherwise – don’t
3) If user has only 2 orders, then check latest order, if it was “delivery” – we offer bonus, otherwise – don’t
4) If user has only 1 order, , if it was “delivery” – we offer bonus
5) If user has no such orders – we offer bonus
a) Recognize orders of same customer by email field.
b) Show label “+ 500 bonuses!” nearby pickup checkbox on checkout page only to orders which are going to meet conditions above. (also, order total >= threshold value of free_total)
(You need to develop same method to check for conditions for regular customers and for admins)
c) Extra reward is added in web backend in order info page (as usual) by clicking button. There should be ability to remove it too.
d) Reward title in table in customer profile should contain additional string in case of adding extra reward, like “Order #XXX + 500 extra points”
Website is in Russian, but I can change to English locale in OpenCart for you. Few labels may be only in Russian though. You can use built-in Translate in Chrome or ask me in case of questions.
It’s okay if you write code, comments and labels in English.
Web is manager by VPS.
You can use Git (preferable). Also there is SSH (SFTP) access.
I added some extra features in website without using of extensions, so the code and markup were added just in needed files. Sometimes code was added twice – in /storage/modification/ and in default path both.