Skip to content

Phone orders in the admin area. Allow administrators to place orders in admin area (not the "Impersonate" functionality) #1920

@AndreiMaz

Description

@AndreiMaz

Sometimes the customer calls directly the store and asks to buy something. So llet's allow merchant to take phone orders in the admin area. We already support a workaround with the "Impersonate customer" functionality. It works absolutely fine but sometimes managers prefer having this functionality available in the admin area. The store admin should be able to fill in a few customer details and add the products to the order

Good examples of third-party implementations are available internally (check with Andrei)

This is how it could work:

  1. There will be a "Create a new order" button on the order list page in the admin area.
  2. A store order will be able to choose a customer for the order or select "Create New Customer". I think there's no need to support guest checkout in the first version of this functionality, we can implement it later

Other way to go will be a new "Create a new order" button displayed on the existing "Place order (impersonate)" tab on the customer details page. In this case this tab will have two options: "Impersonate" (already exists) and "Create a new order". Of course, there should be some good description for both buttons.

Then the logic will be the same as in the public store (as below)

  1. Add products to the order
  2. Enter customer billing and shipping details
  3. Under "Shipping Method", click "Get shipping methods and rates" and choose a rate
  4. Under "Payment Method" select available options. Here we should allow an option to choose some payment method, but skip the payment itself (configurable). It could be helpful when a customer doesn't want to share his credit card number and complete the payment himself later (for example, using a payment link sent to his email address). Here is an interesting idea
  5. Complete an order (save it)
  6. All the rest workflow will stay the same
    We should find a way to minimize duplication of checkout logic and source code.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions