# General

# 2D-API-1.4 Get available pickup/delivery timeslot

POST /order/homeexpress/get_datetime

API type Request API
Usage You need to input Pickup timeslot (pickup parameter) and Dropoff timeslot (delivery parameter) to 2D-API-1.1 Create Order API. This API provides the available pickup and delivery timeslots. Therefore, while user is going to place order via your frontend interface, you need display the pickup / delivery timeslot options to them, according to rules specified in How to let user select pickup and dropff timeslots.

# Request

Name Type Mandatory Default Description Remarks
merchant_id int Yes - Merchant Id
product_code string No HDP-ECOMM-H Product code Refer to API usage - Delivery product parameters

Example:

{
    "auth": {
        "..."
    },
    "data": {
        "merchant_id": 123,
        "product_code": "HDP-ECOMM-H"
    }
}

# Response

{
    "error": 0,
    "data": {
        "meta": {
            "datetime": "2018-12-19 16:20:24",
            "workingday_code": "289",
            "product_type": "DoorPickup",
            "destination_type": "Home"
        },
        "pickup": {
            "default": {
                "description": "即收即送市區收件",
                "slot": [
                    {
                        "datetime": "2018-12-20 12:00-16:00",
                        "workingday_code": "290.48",
                        "description": "12月20日 (四) 12:00-16:00"
                    },
                    {
                        "datetime": "2018-12-21 12:00-16:00",
                        "workingday_code": "291.48",
                        "description": "12月21日 (五) 12:00-16:00"
                    },
                    {
                        "datetime": "2018-12-22 12:00-16:00",
                        "workingday_code": "292.48",
                        "description": "12月22日 (六) 12:00-16:00"
                    },
                    {
                        "datetime": "2018-12-24 12:00-16:00",
                        "workingday_code": "293.48",
                        "description": "12月24日 (一) 12:00-16:00"
                    },
                    {
                        "datetime": "2018-12-27 12:00-16:00",
                        "workingday_code": "294.48",
                        "description": "12月27日 (四) 12:00-16:00"
                    }
                ]
            }
        },
        "delivery": {
            "default": {
                "description": "市區到家派送",
                "slot": [
                    {
                        "datetime": "2018-12-20 18:00-23:00",
                        "workingday_code": "290.72",
                        "description": "12月20日 (四) 18:00-23:00",
                        "acceptable": "289.55-290.52"
                    },
                    {
                        "datetime": "2018-12-21 18:00-23:00",
                        "workingday_code": "291.72",
                        "description": "12月21日 (五) 18:00-23:00",
                        "acceptable": "290.55-291.52"
                    },
                    {
                        "datetime": "2018-12-22 10:30-17:00",
                        "workingday_code": "292.4",
                        "description": "12月22日 (六) 10:30-17:00",
                        "acceptable": "291.23-292.2"
                    },
                    {
                        "datetime": "2018-12-22 18:00-23:00",
                        "workingday_code": "292.72",
                        "description": "12月22日 (六) 18:00-23:00",
                        "acceptable": "291.55-292.52"
                    },
                    {
                        "datetime": "2018-12-24 10:30-17:00",
                        "workingday_code": "293.4",
                        "description": "12月24日 (一) 10:30-17:00",
                        "acceptable": "291.23-293.2"
                    },
                    {
                        "datetime": "2018-12-24 18:00-23:00",
                        "workingday_code": "293.72",
                        "description": "12月24日 (一) 18:00-23:00",
                        "acceptable": "291.55-293.52"
                    },
                    {
                        "datetime": "2018-12-27 10:30-17:00",
                        "workingday_code": "294.4",
                        "description": "12月27日 (四) 10:30-17:00",
                        "acceptable": "291.23-294.2"
                    },
                    {
                        "datetime": "2018-12-27 18:00-23:00",
                        "workingday_code": "294.72",
                        "description": "12月27日 (四) 18:00-23:00",
                        "acceptable": "291.55-294.52"
                    },
                    {
                        "datetime": "2018-12-28 10:30-17:00",
                        "workingday_code": "295.4",
                        "description": "12月28日 (五) 10:30-17:00",
                        "acceptable": "294.23-295.2"
                    },
                    {
                        "datetime": "2018-12-28 18:00-23:00",
                        "workingday_code": "295.72",
                        "description": "12月28日 (五) 18:00-23:00",
                        "acceptable": "294.55-295.52"
                    }
                ]
            },
            "sp1": {
                "description": "馬灣,愉景灣到家派送",
                "slot": [
                    {
                        "datetime": "2018-12-20 12:00-16:00",
                        "workingday_code": "290.48",
                        "description": "12月20日 (四) 12:00-16:00",
                        "acceptable": "288.31-290.28"
                    },
                    {
                        "datetime": "2018-12-22 12:00-16:00",
                        "workingday_code": "292.48",
                        "description": "12月22日 (六) 12:00-16:00",
                        "acceptable": "290.31-292.28"
                    },
                    {
                        "datetime": "2018-12-27 12:00-16:00",
                        "workingday_code": "294.48",
                        "description": "12月27日 (四) 12:00-16:00",
                        "acceptable": "289.31-294.28"
                    },
                    {
                        "datetime": "2018-12-29 12:00-16:00",
                        "workingday_code": "296.48",
                        "description": "12月29日 (六) 12:00-16:00",
                        "acceptable": "294.31-296.28"
                    },
                    {
                        "datetime": "2019-01-01 12:00-16:00",
                        "workingday_code": "298.48",
                        "description": "01月01日 (二) 12:00-16:00",
                        "acceptable": "295.31-298.28"
                    }
                ]
            },
            "sp2": {
                "description": "東涌到家派送",
                "slot": [
                    {
                        "datetime": "2018-12-20 16:00-22:30",
                        "workingday_code": "290.64",
                        "description": "12月20日 (四) 16:00-22:30",
                        "acceptable": "288.47-290.44"
                    },
                    {
                        "datetime": "2018-12-22 16:00-22:30",
                        "workingday_code": "292.64",
                        "description": "12月22日 (六) 16:00-22:30",
                        "acceptable": "290.47-292.44"
                    },
                    {
                        "datetime": "2018-12-27 16:00-22:30",
                        "workingday_code": "294.64",
                        "description": "12月27日 (四) 16:00-22:30",
                        "acceptable": "289.47-294.44"
                    },
                    {
                        "datetime": "2018-12-29 16:00-22:30",
                        "workingday_code": "296.64",
                        "description": "12月29日 (六) 16:00-22:30",
                        "acceptable": "294.47-296.44"
                    },
                    {
                        "datetime": "2019-01-01 16:00-22:30",
                        "workingday_code": "298.64",
                        "description": "01月01日 (二) 16:00-22:30",
                        "acceptable": "295.47-298.44"
                    }
                ]
            }
        }
    }
}

# How to let user select pickup and dropoff timeslots

The examples below illustrate the rules of displaying pickup and dropoff timeslots to your users:

  1. In case you can the following API response:
{
    "error": 0,
    "data": {
        "meta": {
            "datetime": "2018-12-19 16:20:24",
            "workingday_code": "289",
            "product_type": "DoorPickup",
            "destination_type": "Home"
        },
        "pickup": {
            "default": {
                "description": "即收即送市區收件",
                "slot": [
                    {
                        "datetime": "2018-12-20 12:00-16:00",
                        "workingday_code": "290.48",
                        "description": "12月20日 (四) 12:00-16:00"
                    },
                    {
                        "datetime": "2018-12-21 12:00-16:00",
                        "workingday_code": "291.48",
                        "description": "12月21日 (五) 12:00-16:00"
                    }
                ]
            }
        },
        "delivery": {
            "default": {
                "description": "市區到家派送",
                "slot": [
                    {
                        "datetime": "2018-12-20 18:00-23:00",
                        "workingday_code": "290.72",
                        "description": "12月20日 (四) 18:00-23:00",
                        "acceptable": "289.55-290.52"
                    },
                    {
                        "datetime": "2018-12-21 18:00-23:00",
                        "workingday_code": "291.72",
                        "description": "12月21日 (五) 18:00-23:00",
                        "acceptable": "290.55-291.52"
                    }
                ]
            },
            "sp1": {
                "description": "馬灣,愉景灣到家派送",
                "slot": [
                    {
                        "datetime": "2018-12-20 12:00-16:00",
                        "workingday_code": "290.48",
                        "description": "12月20日 (四) 12:00-16:00",
                        "acceptable": "288.31-290.28"
                    }
                ]
            }
        }
    }
}

2.User should select one **Pickup timeslot** from `pickup.default.slot`. For example, this timeslot is selected:
{
    "datetime": "2018-12-20 12:00-16:00",
    "workingday_code": "290.48",
    "description": "12月20日 (四) 12:00-16:00"
}

3.Your system read the `workingday_code` (WDC) from the timeslot. The value is `290.48`。

4.Then, the system should provide suitable **Dropoff timeslots** to user.

Select delivery area type first (That is delivery.default or delivery.sp1, we use delivery.default as example), then find the timeslots in slot

"slot": [
    {
        "datetime": "2018-12-20 18:00-23:00",
        "workingday_code": "290.72",
        "description": "12月20日 (四) 18:00-23:00",
        "acceptable": "289.55-290.52"
    },
    {
        "datetime": "2018-12-21 18:00-23:00",
        "workingday_code": "291.72",
        "description": "12月21日 (五) 18:00-23:00",
        "acceptable": "290.55-291.52"
    }
]

5. Finally, filter the timeslots which WDC (obtained in Step 3) is inside the range `acceptable`. In this example, WDC is `290.48`. Hence, the following timeslots will be provided to user.
{
    "datetime": "2018-12-20 18:00-23:00",
    "workingday_code": "290.72",
    "description": "12月20日 (四) 18:00-23:00",
    "acceptable": "289.55-290.52" 
}

# 2D-API-1.8 Get self pickup point list

POST /pickup_points

API type Request API
Usage Get the list of self pickup points

# Request

Name Type Mandatory Default Description Remarks
area_level2 string No - Area - The API will return all self pickup points of it is empty.
- Supported values:
1. 中西區
2. 九龍城區
3. 元朗區
4. 北區
5. 南區
6. 大埔區
7. 屯門區
8. 東區
9. 沙田區
10. 油尖旺區
11. 深水埗區
12. 灣仔區
13. 荃灣區
14. 葵青區
15. 西貢區
16. 觀塘區
17. 離島區
18. 黃大仙區
page int No 1 Page
pagesize int No 10 Items per page
{
    "auth": {
        "..."
    },
    "data": {
        "area_level2": "沙田區"
    }
}

# Response

{
  "error": 0,
  "data": [
    {
      "locker_code": "P2018013102",
      "locker_brand": "Alfred",
      "area_level1": "香港島",
      "area_level2": "東區",
      "name": "小西灣廣場(1樓)",
      "address": "小西灣小西灣道10號小西灣廣場1樓(109號舖旁)",
      "open_hour": "星期一 - 星期日: 24小時",
      "coordinate": "22.262549,114.248883"
    },
    {
      "locker_code": "P2018040302",
      "locker_brand": "Alfred",
      "area_level1": "香港島",
      "area_level2": "東區",
      "name": "康華大廈",
      "address": "筲箕灣南康街18號康華大廈(停車場入口右面)",
      "open_hour": "星期一 - 星期日: 24小時",
      "coordinate": "22.278034,114.226063"
    },
    {
      "locker_code": "P20180507",
      "locker_brand": "Alfred",
      "area_level1": "香港島",
      "area_level2": "東區",
      "name": "富利來商場 (水漾衣坊)",
      "address": "北角京華道9-27號富利來商場地下56號舖",
      "open_hour": "星期一 - 星期日: 24小時",
      "coordinate": "22.288391,114.191819"
    }
  ]
}