Summary of enhancements:

  1. Support editing of billing and shipping address of orders until an item from the order moved to shipment created
  2. API to supports editing of Billing Address and Shipping Address
  3. API to provide available Delivery Slots for a date range, location, and delivery mode


Support editing of billing and shipping address of orders until an item from the order moved to shipment created

Context: 

  • Modification of billing address and shipping address of an order was not supported by the Control Panel.

Solution:

  •  From Control Panel now editing of shipping and billing address for an order is supported until one of the items of that order moves to Shipment Created

  • For Shipping Address, the following fields can be modified

    • Shipping Name

    • Shipping Mobile Number

    • Shipping Email

    • Shipping Phone Number

    • Shipping Address Fields

      • Address 1

      • Address 2

      • Zip-code

      • Country

      • State

      • City


Note: In the city dropdown, an option ‘Other’ is available to be selected. When ‘Other’ is selected from the drop-down, the user can enter another city name (screenshot below)



  • For Billing Address, the following fields can be modified

    • Billing Address Fields

      • Address 1

      • Address 2

      • Zip-code

      • Country

      • State

      • City

Note: In the city dropdown, an option ‘Other’ is available to be selected. When ‘Other’ is selected from the drop-down, the user can enter another city name (screenshot below)

  • When any field in the shipping/billing field is changed, the corresponding entry is updated on order Activity History with user email who made the change

  •  The following message is captured in the activity history “The shipping/billing address of the order changed by the <user first name><user last name>”

 


API to supports editing of Billing Address and Shipping Address

Context: 

  • Modification of billing address and shipping address of an order was not supported by API

 

Solution:

  • A new API to edit billing and shipping addresses of an order has been built

  • For Shipping Address, through the API,  the following fields can be modified

    • Shipping Name

    • Shipping Mobile Number

    • Shipping Email

    • Shipping Phone Number

    • Shipping Address Fields

      • Address 1

      • Address 2

      • Zip-code

      • Country

      • State

      • City

  • For Billing Address, through API,  the following fields can be modified

    • Billing Address Fields

      • Address 1

      • Address 2

      • Zip-code

      • Country

      • State

      • City

  • The billing and shipping address edit can be done till one of the order items is dispatched

  • It shows a validation message when a CP user tries to edit shipping/billing details after one of the order items has moved to shipment created

  • Once the billing or shipping address is modified, the activity along with corresponding cp user id is included in the order activity history (For this API CP User ID is a mandatory parameter)

 

Sample:

 

/v1/order/edit/address/{merchantId}/{orderid}

 

Address Details Payload:

{

"billAddress": {

"address1": "string",

"address2": "string",

"city": "string",

"country": "string",

"otherCity": true,

"state": "string",

"zipCode": "string"

},

"shipAddress": {

"address1": "string",

"address2": "string",

"city": "string",

"country": "string",

"otherCity": true,

"state": "string",

"zipCode": "string"

},

"shipEmail": "string",

"shipFirstName": "string",

"shipLastName": "string",

"shipMobile": "string",

"shipPhone": "string"

}



API to provide available Delivery Slots for a date range, location, and delivery mode

Context:

  • There’s no API through which the available delivery slots can be fetched for a given date range, location, and delivery mode. Currently, the available delivery slot can only be fetched from the Control Panel

 

Solution:

 

  • An API has been created to provide available delivery slot details for a given date range, location and delivery mode

 

Sample call:

 

/Order/AvailableDeliverySlots/{merchantId}

 

Request Body:

 

{

"deliveryMode": "H",                // must be empty, H or S

"fromDate": "2020/01/07",      // mandatory

"locationId": 0,                          // optional, can take a single value, if left blank, all available slots are fetched irrespective of location

"toDate": "2020/01/07"   // mandatory

}

 

Response:

 

List of delivery slots where for each slot the following details will be available

  • slotId

  • Starttime

  • EndTime

  • Leadtime

  • shippingModeIds