Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As a shopper, I can see my cart is secured during 15 minutes when I start to checkout #522

Open
RachL opened this issue Oct 1, 2024 · 3 comments
Labels
Funded Feature Issue is part of the (potential) funded features pipe

Comments

@RachL
Copy link
Contributor

RachL commented Oct 1, 2024

⚠️ Please use clockify code #12476 Flower Farms

Description

- As a: Shopper
- On page: /checkout/details
- I want to be able to do:

As soon as I start the checkout steps, I can see a little timer telling me how much time my cart is secured. If that time runs out during my checkout process I'm redirected to the cart.
On the cart, the current logic is kept, which means:

  • cart are saved for shoppers with accounts as long as the OC stays open
  • if items have run out of stock, users are prompted with a message to remove them
  • cart are saved for guest checkout as long as they keep browsing on the website. If they leave, the cart is lost

how much time my cart is secure

This means the products I have in my cart are not available for other shoppers: stock is reserved during 15min process.

If I quit checkout, stock is not secured anymore and I can be redirected to cart if products have become unavailable when I restart checkout later.

Design proposal:

image

If we do some simple messaging like this ⬆️ we might need to make the menu (or at least the message) sticky on scroll...

Acceptance Criteria & Tests

To complete once we have agreed on a solution

⚠️ this will need a feature toggle / a rollout as it touches a sensitive part of the app, but we will need to turn entire shops to avoid weird conflicts between shoppers of the same shop?

Guest shopper behavior needs to be covered.

@RachL RachL added the Funded Feature Issue is part of the (potential) funded features pipe label Oct 1, 2024
@github-project-automation github-project-automation bot moved this to Candidates in Wishlist Board Oct 1, 2024
@RachL RachL moved this from Candidates to Inception In Progress in Wishlist Board Oct 1, 2024
@dacook
Copy link
Member

dacook commented Oct 15, 2024

Partly discussed. Gut feel it could be 5 days develompent, but there is more to consider.
Suggested behaviour (WIP):

  • Is the timer active for all shops, or can be enabled on per shop basis?
  • Timer is initiated when cart moves into Checkout state (first time you click on checkout)
    • If you go back to shop page, or navigate to another page: the cart remains in "checkout" state, and continues to appear at top-right of page. So the timer should also appear. Design required (Eg appear as small number within the cart button).
    • Also if you navigate away from shop: the cart remains in top-right
  • One timer for all products in cart. Timer is restarted whenever cart is updated
    • add/increment products
    • doesn't need to restart for remove/decrement
    • Also when cart details are updated? (confirm details and payment)
    • What if somebody abuses it and extends their cart for a very long time? Seems unlikely.

@RachL
Copy link
Contributor Author

RachL commented Oct 15, 2024

Thanks @openfoodfoundation/core-devs !

Is the timer active for all shops, or can be enabled on per shop basis?

what's the cheapest? :) From product pov I would do it for everyone without the ability to disable it.

If you go back to shop page, or navigate to another page: the cart remains in "checkout" state, and continues to appear at top-right of page. So the timer should also appear.

It's true that some ecommerce shops do that. I don't think we need to do this here / or for a first version. I would release the stock / stop the timer as soon as the checkout process is left.
Otherwise how would we handle the cart? Currently the cart is kept for shoppers with accounts as long as the OC is open. I find it weird to keep the timer during that time. the process when the timer ends seems also more complex: we would need to push a notification to the user.

Also if you navigate away from shop: the cart remains in top-right

yes same answer as above, if it's possible technically I would link the timer to the availability of the cart. Otherwise it also means we need to start the timer as soon as the first item lands on the cart?

add/increment products
doesn't need to restart for remove/decrement

So yes for me as soon as we leave checkout the timer is reset / the stock in released

Also when cart details are updated? (confirm details and payment)

IMO, if we can do it easily, I wouldn't update the timer during step 1 and 2 of the checkout.

@RachL
Copy link
Contributor Author

RachL commented Oct 15, 2024

Actually @openfoodfoundation/core-devs sorry for the double ping but after checking this with Theresa, there might be a case where we want the timer to start on the shopfront already.
My feeling is this is too big already to be handled on the flower farm budget, so there is a new feature to estimate here: openfoodfoundation/openfoodnetwork#12918

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Funded Feature Issue is part of the (potential) funded features pipe
Projects
Status: Inception In Progress
Development

No branches or pull requests

2 participants