+
Skip to content

01 02 fulfillment type pickup #6577

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

Closed
wants to merge 41 commits into from

Conversation

sujithvn
Copy link
Contributor

@sujithvn sujithvn commented Oct 19, 2022

This PR is replaced by #6613

Signed-off-by: Sujith mail.sujithvn@gmail.com

Resolves #6471
Impact: breaking
Type: feature

Issue

In the current system, the only way for order fulfillment is via shipping which is hardcoded into the system. We need to introduce the flexibility for users to add their own fulfillment types via plugins.

Solution

We are creating a base fulfillment plugin which would enable other fulfillment types (like shipping, pickup, digital) to be introduced via plugins. Each of the newly introduced fulfillment type plugin would need to have the specific fulfillment methods also to be added as separate plugins. Example, fulfillment type 'pickup' could have fulfillment methods like 'store pickup' and 'curb-side pickup'.

This PR is 3rd entry for 01-02 fulfillment-type-pickup

PR Details in order

feat/fulfillment-types
 | 
 | __ 01 fulfillment base #6570 
 |        | __ 01-01 fulfillment-type-shipping       #6579
 |        | __ 01-02 fulfillment-type-pickup.       <--- This PR #6577 
 |__02 fulfillment-type-impacted-plugins. [carts, products, orders, catalogs] #6582 
 |__03 placeOrder refactor #6583 

Existing PRs based on the #6480 (to be updated to point to #6570)

We shall change the base branch of the 3 existing PRs (i18n #6545, dataMigration #6544, setDefaultFFtype #6543) to point to 01 fulfillment base

API-PLUGIN-FULFILLMENT-TYPE-PICKUP

  • Registers the 'pickup' as a ff-type via registeredFulfillmentTypes: ["pickup"]
  • Inserts the default entry for pickup ff-type in Fulfillment collection

API-PLUGIN-FULFILLMENT-METHOD-PICKUP-STORE

  • getFulfillmentMethodsWithQuotesPickupStore - returns the quote or equivalent details for the method when called from base ff plugin
  • preStartup - extends the union of "methodAdditionalData" with data structure specific to Store
  • startup - Inserts the required ff-method entry into Fulfillment collection
  • util/checkAndCreateFulfillmentMethod - confirms existing ff-type entry and adds a new ff-method under it.
  • util/collectStoreDetails - dummy function to simulate api providing Store specific info while returning quotes.
  • util/ validateOrderMethodsstore - dummy function to simulate Store specific validations done. Called by prepareOrder.js

Breaking changes

Since this is the new way of handling fulfillment, the existing shipment plugins would not work along with this. User would need to migrate the data (migration script will be developed) and remove the shipment plugins (api-plugin-shipments and api-plugin-shipments-flat-rate).

Testing

All this is new code and at this stage this is not integrated to reaction, meaning the plugins.json is not updated to include this plugin. Hence proper testing can be carried out only after merging in the remaining PRs.

@changeset-bot
Copy link

changeset-bot bot commented Oct 19, 2022

⚠️ No Changeset found

Latest commit: bd0c8bc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@sujithvn sujithvn requested a review from brent-hoover October 27, 2022 19:56
@brent-hoover
Copy link
Collaborator

brent-hoover commented Oct 31, 2022

@sujithvn You still have a broken build here. Can't approve

Copy link
Collaborator

@brent-hoover brent-hoover left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still one question not dealt with and broken build. Can't approve yet

Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
This reverts commit d5ec94e.

Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
@sujithvn sujithvn force-pushed the 01-02-fulfillment-type-pickup branch from 186e9a3 to 318f68f Compare November 2, 2022 17:03
@sujithvn sujithvn changed the base branch from 01-fulfillment-base to 00-fulfillment-base November 2, 2022 17:08
@sujithvn sujithvn changed the base branch from 00-fulfillment-base to 01-fulfillment-base November 2, 2022 17:17
sushmitha-malae and others added 11 commits November 3, 2022 13:52
Signed-off-by: m_sushmitha <m_sushmitha@intuit.com>
Signed-off-by: apadhi <aditya_padhi@intuit.com>
Signed-off-by: apadhi <aditya_padhi@intuit.com>
Signed-off-by: apadhi <aditya_padhi@intuit.com>
Signed-off-by: apadhi <aditya_padhi@intuit.com>
Fixing typo of `nvm` in Readme
Signed-off-by: Pradeep Kumar Duvvur <pradeepduvvur@gmail.com>
Signed-off-by: Jayaraman N R <jayaraman17064@cse.ssn.edu.in>
Signed-off-by: Jayaraman N R <jayaraman17064@cse.ssn.edu.in>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
zenweasel and others added 23 commits November 3, 2022 13:52
Signed-off-by: tuanvu0995 <tuanvu0995@gmail.com>
Signed-off-by: tuanvu0995 <tuanvu0995@gmail.com>
Signed-off-by: tuanvu0995 <tuanvu0995@gmail.com>
Signed-off-by: tuanvu0995 <tuanvu0995@gmail.com>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
Signed-off-by: Brian Nguyen <vanpho02@gmail.com>
Signed-off-by: Brent Hoover <brent@thebuddhalodge.com>
Signed-off-by: skodamarthi <susmitha_kodamarthi@intuit.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
…fillment-base

Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
This reverts commit d5ec94e.

Signed-off-by: Sujith <mail.sujithvn@gmail.com>
Signed-off-by: Sujith <mail.sujithvn@gmail.com>
@sujithvn sujithvn marked this pull request as draft November 3, 2022 12:39
@sujithvn
Copy link
Contributor Author

sujithvn commented Dec 9, 2022

This PR is replaced by 6613
#6613

@sujithvn sujithvn closed this Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载