Comments (12)
@panSarin maybe you would like to challenge yourself with this feature? 😎
from ecommerce.
Sure, I would love to - but can you gimme some more details? ;]
from ecommerce.
we want to mimic this
https://support.getdpd.com/hc/en-us/articles/201282573-Creating-Coupons-in-DPD
as the first story, only create and percentage discount is fine
from ecommerce.
🤔 Is this still a thing? I saw a lot of code connected to discounts, isin't that the same thing?
from ecommerce.
what we have right now is discounts directly assigned by sales people (at the moment only they can create orders).
what we need in this ticket is to have "codes" which enable discounts. it's still a bit artificial as they would be entered by sales people but later it can be used by clients directly (when we finish the ticket where clients can create their orders).
we need a way of creating a coupon where "arkency20" would enable a discount of some value, probably 20%.
so a form with discount name, value and percentage - in UI terms
from ecommerce.
Alright, I'd like to take this issue then
from ecommerce.
I prepared something: #127 would appreciate any feedback
from ecommerce.
Shall this be closed?
from ecommerce.
Yea, the basic functionality requested is done, I'll add PR that fixes the issues from comments from that PR this week
from ecommerce.
I'm reopening this issue.
Currently we can create coupons, but it seems they can't be used in any way.
As such this feature is not bringing any business value.
We should extend the ordering process with the possibility of providing the coupon. As a result the order will have the associated discount.
from ecommerce.
Now that a cart is ready on the client side, we can add buttons to use the coupon from the client perspective
from ecommerce.
Assumptions:
- using such coupon makes sense from the client perspective
- It makes less sense from the admin/sales perspective to have this in their UI (they already have the option to set discount)
- we can rely on the existing logic for setting discount on orders (ensuring there is only discount at a time is handled there)
- Introduce a new command
UseCoupon
, withorder_id
andcoupon_id
which results in a new eventCouponUsed
with the same attributes - React to
CouponUsed
in theClientOrders
read model and display on the view - React to
CouponUsed
in theOrders
read model and display on the view - Create a simple process, when
CouponUsed
happens - trigger theSetPercentageDiscount
command - Extend
orders/edit
view (or a new view) to display a field for entering coupon code
from ecommerce.
Related Issues (20)
- Decouple Customers read model from ClientOrders in UpdatePaidOrdersSummary HOT 1
- Make ReservationProcess asynchronous
- Consider if invariant in Crm::Order is really needed
- Review Ordering::Order possible state transitions and/or update docs
- Move Omnibus directive related stuff from ClientOrders to PublicOffer read model HOT 2
- Allow users to set password
- create ClientAuthentication read model
- Generating an invoice doesn't work
- Decouple domain modules from sidekiq
- Setting future price to 0 crashes the app
- Reset discount - link doesn't work
- Submitting order crashes sometimes
- After reset discount the page doesn't refresh HOT 1
- After update discount the page doesn't refresh
- Setting discount on empty order crashes HOT 1
- Error raised : Arkency::CommandBus::UnregisteredHandler: Missing handler for Crm::RegisterCustomer HOT 5
- Integration test for adding unavailable item to order (as client)
- Rename Pricing::Order to Pricing::Offer HOT 1
- Consider creating Sales BC which contains Pricing and maybe others HOT 1
- Log out when detecting unexisting client_id in cookies HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ecommerce.