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

🗺️ Marketplace: DeliveryArea #1136

Closed
6 of 7 tasks
Tracked by #1325
zspencer opened this issue Feb 24, 2023 · 4 comments
Closed
6 of 7 tasks
Tracked by #1325

🗺️ Marketplace: DeliveryArea #1136

zspencer opened this issue Feb 24, 2023 · 4 comments
Labels
✨ feature Reduces Client's Burden or Grants them Benefits 🥔 Satisfices It's good enough to use, but not particularly great
Milestone

Comments

@zspencer
Copy link
Member

zspencer commented Feb 24, 2023

In the beginning, the Marketplace only supported per-Marketplace delivery pricing.

When chatting with Piikup, we learned that they prefer to price on a per-Marketplace basis based on which DeliveryArea the Shopper collects

Fauxsonas

See Marketplace Fauxsonas

Use Cases

  • 🥔 Distributor adds DeliveryAreas
  • 🥔✨ Marketplace: Removing DeliveryAreas #2014
  • 🥔 Shopper sets DeliveryArea for Order
  • 🥔Shopper pays DeliveryFee based upon DeliveryArea
  • 🥔 Distributor sets OrderBy and DeliveryWindow for DeliveryArea
  • 🥔Shopper sees DeliveryConstraints based upon DeliveryArea
  • 🥔 Shopper may not see Marketplaces without a DeliveryArea
@zspencer zspencer changed the title 🌱 Distributor sets ??? Distance ??? Delivery Fee? Marketplace: 🌱 Distributor sets ??? Distance ??? Delivery Fee? Feb 24, 2023
@zspencer zspencer changed the title Marketplace: 🌱 Distributor sets ??? Distance ??? Delivery Fee? Marketplace: Distance Based Delivery Pricing Feb 26, 2023
@zspencer zspencer added the ✨ feature Reduces Client's Burden or Grants them Benefits label Feb 26, 2023
@zspencer zspencer changed the title Marketplace: Distance Based Delivery Pricing Marketplace: Distance Based Delivery Pricing Feb 26, 2023
@zspencer zspencer changed the title Marketplace: Distance Based Delivery Pricing 🌱 Marketplace: Distance Based Delivery Pricing Feb 26, 2023
@zspencer zspencer added this to the 1.0 - Andromeda milestone Feb 26, 2023
zspencer added a commit that referenced this issue Mar 2, 2023
- #1136
- #831

So, I totally didn't think about how delivery addresses are PII and
probably should not be stored in plaintext! Womp. Womp. Womp.

Now they ain't!

We'll want to delete the `release:after_build` bits after a prod deploy.
@zspencer zspencer changed the title 🌱 Marketplace: Distance Based Delivery Pricing 🌱 Marketplace: Dynamic Delivery Pricing Mar 2, 2023
zspencer added a commit that referenced this issue Mar 2, 2023
- #1136

While collecting the address via Stripe was reasonable at the time, if
we want to support dynamic pricing, we'll need the address ahead of
time.

This will also (theoretically) allow us to let people know when they are
outside of the `Distributor` delivery area.
zspencer added a commit that referenced this issue Mar 2, 2023
- #1136

While collecting the address via Stripe was reasonable at the time, if
we want to support dynamic pricing, we'll need the address ahead of
time.

This will also (theoretically) allow us to let people know when they are
outside of the `Distributor` delivery area.
zspencer added a commit that referenced this issue Mar 3, 2023
- #1136
- #831

So, I totally didn't think about how delivery addresses are PII and
probably should not be stored in plaintext! Womp. Womp. Womp.

Now they ain't!

We'll want to delete the `release:after_build` bits after a prod deploy.
zspencer added a commit that referenced this issue Mar 3, 2023
- #831
- #1136

Merge and deploy immediately after #1169
zspencer added a commit that referenced this issue Mar 3, 2023
zspencer added a commit that referenced this issue Mar 3, 2023
- #1136
- #831

So, I totally didn't think about how delivery addresses are PII and
probably should not be stored in plaintext! Womp. Womp. Womp.

Now they ain't!

We'll want to delete the `release:after_build` bits after a prod deploy.

* `Marketplace`: Use `Lockbox.migrate` for safety

@KellyAH found Lockbox's guide to migrating data: https://github.com/zinc-collective/convene/pull/1169/files#r1124067175

And it's way better!
zspencer added a commit that referenced this issue Mar 3, 2023
* 🔐 `Marketplace`: Step 2 of `Lockbox` migration

- #831
- #1136

Merge and deploy immediately after #1169
zspencer added a commit that referenced this issue Mar 3, 2023
zspencer added a commit that referenced this issue Mar 3, 2023
zspencer added a commit that referenced this issue Mar 3, 2023
- #1136

While collecting the address via Stripe was reasonable at the time, if
we want to support dynamic pricing, we'll need the address ahead of
time.

This will also (theoretically) allow us to let people know when they are
outside of the `Distributor` delivery area.
zspencer added a commit that referenced this issue Mar 3, 2023
#1173)

- #1136

While collecting the address via Stripe was reasonable at the time, if
we want to support dynamic pricing, we'll need the address ahead of
time.

This will also (theoretically) allow us to let people know when they are
outside of the `Distributor` delivery area.

* ✍️ `Marketplace`: Wordsmith!

Co-authored-by: KellyAH <[email protected]>

* ✨ `Marketplace`: Don't show `Cart` until there's a `delivery_address`

* 🐞 `Marketplace`: Ensure `Guest`s can update `Cart`

It's probably worth pushing some of these expectations down to the
`cart_policy_spec` level, but the bug manifested at the controller tier
so I wanted to catch it there.

---------

Co-authored-by: KellyAH <[email protected]>
@zspencer
Copy link
Member Author

From April:

We're going for Catering, so Restaurants and Food Makers and the pricing is based on City.
So if we are delivering from Cafe Gabriele or Understory those are Catering orders, and the prices are:

  • Oakland, Alameda, Berkeley and Emeryville is $50 for those cities
  • San Francisco, $75

KellyAH added a commit that referenced this issue Mar 23, 2023
- #1136

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Ana <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>
KellyAH added a commit that referenced this issue Mar 23, 2023
- #1136

TODO: finish building create, edit, destroy flows.

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Ana <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>
KellyAH added a commit that referenced this issue Mar 30, 2023
* `Marketplace`: create `marketplace_delivery_areas` table.

- #1136

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Ana <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>

* ✨`Marketplace` Started on the CRUD actions for `delivery_area`.

- #1136

TODO: finish building create, edit, destroy flows.

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Ana <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>

* - Display 'Marketplace::DeliveryArea' records on
 index view in a card component.
- Fix `Marketplace::DeliveryAreasController` to create new DeliveryArea records.

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>
Co-authored-by: Ross Chapman <[email protected]>

* add unit tests and delivery_area factory
for #create and #new.

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>
Co-authored-by: Ross Chapman <[email protected]>

* rubocop fix

---------

Co-authored-by: Zee Spencer <[email protected]>
Co-authored-by: Ana <[email protected]>
Co-authored-by: Dalton Pruitt <[email protected]>
Co-authored-by: Ross Chapman <[email protected]>
@zspencer zspencer changed the title Marketplace: Delivery Area 🥔✨ Marketplace: Delivery Area Apr 17, 2023
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- Prerequisite for #1420

- #1325
- #1136
- #1185

This does not get rid of the reading of the fields; but it does make it
so they are no longer writable; which will make the "stop reading from
them!" PR a bit tidier.
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue Apr 30, 2023
- Prerequisite for #1420

- #1325
- #1136
- #1185

This does not get rid of the reading of the fields; but it does make it
so they are no longer writable; which will make the "stop reading from
them!" PR a bit tidier.
zspencer added a commit that referenced this issue Apr 30, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
@zspencer
Copy link
Member Author

zspencer commented May 4, 2023

Re-opening because it does seem like we have more work to do to make this tight.

@zspencer zspencer reopened this May 4, 2023
zspencer added a commit that referenced this issue May 4, 2023
…1422)

🧹 `Marketplace`: `DeliveryConstraint`s only set in `DeliveryArea`

- Prerequisite for #1420

- #1325
- #1136
- #1185

This does not get rid of the reading of the fields; but it does make it
so they are no longer writable; which will make the "stop reading from
them!" PR a bit tidier.
zspencer added a commit that referenced this issue May 4, 2023
- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
zspencer added a commit that referenced this issue May 4, 2023
`Marketplace`: `Delivery` constraints live on `DeliveryArea`

- #1325
- #1136
- #1185

Allowing a `Marketplace` to specify it's delivery fees, constraints,
etc. and a `DeliveryArea` to override them was putting us in a bit of a
mess from "how does data even?!"

This consolidates everything onto `DeliveryArea`, yay!
@zspencer zspencer modified the milestones: 1.0 - Andromeda, 1.1 - B??? May 14, 2023
@zspencer zspencer changed the title 🥔✨ Marketplace: Delivery Area 🥔✨ Marketplace: DeliveryArea and DeliveryFee May 26, 2023
@zspencer zspencer changed the title 🥔✨ Marketplace: DeliveryArea and DeliveryFee 🥔✨ Marketplace: DeliveryArea May 26, 2023
@zspencer zspencer changed the title 🥔✨ Marketplace: DeliveryArea 🗺️ Marketplace: DeliveryArea Feb 17, 2024
@rosschapman
Copy link
Contributor

🧹 Relegated to cold storage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feature Reduces Client's Burden or Grants them Benefits 🥔 Satisfices It's good enough to use, but not particularly great
Projects
None yet
Development

No branches or pull requests

2 participants