# Advanced

# Users

# UserRegister

This resource allows the creation of user or customer accounts together with their account information as parameters.

# End Point

POST /users/register

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
LoginName user/customer account loginname string required
Password user/customer account password string required
FirstName user/customer’s first name string required
MiddleName user/customer’s middle name string optional
LastName user/customer’s last name string required
EmailAddress user/customer’s email address string required
MobileNumber user/customer’s mobile number string required
Address user/customer’s address array required
    Street
user’s street address string required
    Barangay
user's barangay string required
    PostalCode
address serviceable area’s postal code string required
    IsBillingAddress
address is the billing address bool optional
    IsDeliveryAddress
address is the delivery address bool optional
    IsPickupAddress
address is the pickup address address bool optional

# Sample Schema Content-type: application/json

{
    "LoginName": "test4@customer.com",
    "Password": "testpass",
    "FirstName": "Customer",
    "MiddleName": "",
    "LastName": "Test 4",
    "EmailAddress": "test4@customer.com",
    "MobileNumber": "09175558870",
    "Address": [
                {
                    "Street": " Makati Street ",
                    "Barangay": "Barangay 123",
                    "PostalCode": "1200",
                    "IsBillingAddress": true,
                    "IsDeliveryAddress": true,
                    "IsPickupAddress": true
                }
            ]
}

# Response Information

A successful request to this API will return its creation information such as its status and the user account information being added based on the body parameters.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "Token": "18D74E560ED34690FC938D9966CF3171F9115254AD64ADAB599A92B9A9412C33",
        "UserInfo": {
            "Id": 4754,
            "CustomerCode": "W-1795",
            "LoginName": "test5@customer.com",
            "Password": "D55FBE735C5A2501ACB056AAC081DAB133D128FF0E9087F644D57E1618D34C2E",
            "FirstName": "Customer",
            "MiddleName": "",
            "LastName": "Prepaid",
            "EmailAddress": "test5@customer.com",
            "MobileNumber": "09123456789",
            "Address": [
                {
                    "Id": 2688,
                    "Street": " Makati Street ",
                    "Barangay": "Barangay 123",
                    "CityMunicipality": "Makati City",
                    "StateProvince": "Metro Manila",
                    "PostalCode": "1200",
                    "IsBillingAddress": true,
                    "IsDeliveryAddress": true,
                    "IsPickupAddress": true
                }
            ]
        }
    }
}

# UserLogin

This resource allows customers to log in using their created accounts’ loginname and password as parameters.

# End Point

POST /users/login

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
LoginName user/customer account loginname string required
Password user/customer account password string required

# Sample Schema Content-type: application/json

{
    "LoginName": "test4@customer.com",
    "Password" : "testpass"
}

# Response Information

A successful request to this API will return the login status and the user’s account information.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "Token": "FE2347F0A8DF64F0D18302A8DA7E080A50FC454C0CB61F0C77B8BE3C84567EEC",
        "UserInfo": {
            "Id": 3751,
            "CustomerCode": "W-1793",
            "LoginName": "test4@customer.com",
            "Password": "13D249F2CB4127B40CFA757866850278793F814DED3C587FE5889E889A7A9F6C",
            "FirstName": "Customer",
            "MiddleName": "",
            "LastName": "Test 4",
            "EmailAddress": "test4@customer.com",
            "MobileNumber": "09175558870",
            "Address": [
                {
                    "Id": 2688,
                    "Street": " Makati Street ",
                    "Barangay": "Barangay 123",
                    "CityMunicipality": "Makati City",
                    "StateProvince": "Metro Manila",
                    "PostalCode": "1200",
                    "IsBillingAddress": true,
                    "IsDeliveryAddress": true,
                    "IsPickupAddress": true
                }
            ]
        }
    }
}

# UserChangePassword

This resource allows customers to change their account password.

# End Point

POST /users/change-password

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
LoginName user/customer account loginname string required
NewPassword user/customer account new password string required

# Sample Schema Content-type: application/json

{
    "LoginName": "test@customer.com",
    "NewPassword": "testpass1234"
}

# Response Information

A successful request to this API will return the account's loginame and new password.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "LoginName": "test@customer.com",
        "NewPassword": "41289997211742C9FECAA36F0EA9FF2C7203497D2B60BAD8B97578850A63F7D3"
    }
}

# GetUserById

This resource allows the getting of user account's details by user id.

# End Point

GET /users/{id}

# Request Information

# URI Parameters: None

# Body Parameters: None

# Response Information

Request to this API will return an object containing the user account's details/information. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "Token": "FE2347F0A8DF64F0D18302A8DA7E080A50FC454C0CB61F0C77B8BE3C84567EEC",
        "UserInfo": {
            "Id": 5758,
            "CustomerCode": "W-2799",
            "LoginName": "dandysembrano@gmail.com",
            "Password": "EF797C8118F02DFB649607DD5D3F8C7623048C9C063D532CC95C5ED7A898A64F",
            "FirstName": "Dandy",
            "MiddleName": "T",
            "LastName": "Sembrano",
            "EmailAddress": "dandysembrano@gmail.com",
            "MobileNumber": "09189378640",
            "Address": [
                {
                    "Id": 2684,
                    "Street": " Makati Street ",
                    "Barangay": "Barangay 123",
                    "CityMunicipality": "Makati City",
                    "StateProvince": "Metro Manila",
                    "PostalCode": "1200",
                    "IsBillingAddress": true,
                    "IsDeliveryAddress": true,
                    "IsPickupAddress": true
                }
            ]
        }
    }
}

# GetUserByLoginName

This resource allows the getting of user account's details by user loginname.

# End Point

GET /users

# Request Information

# URI Parameters:

Name
Description
Type
Additional Info
loginName user/customer account loginname string required

# Body Parameters: None

# Response Information

Request to this API will return an object containing the user account's details/information. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "Token": "0F382066F1F34AA21B8F83AA8AC0A2FDAAED5E92493C785717ABD68CD7E7E0FB",
        "UserInfo": {
            "Id": 4754,
            "CustomerCode": "W-1795",
            "LoginName": "test5@customer.com",
            "Password": "D55FBE735C5A2501ACB056AAC081DAB133D128FF0E9087F644D57E1618D34C2E",
            "FirstName": "Customer",
            "MiddleName": "",
            "LastName": "Prepaid",
            "EmailAddress": "test5@customer.com",
            "MobileNumber": "09123456789",
            "Address": [
                {
                    "Id": 1679,
                    "Street": " Makati Street ",
                    "Barangay": "Barangay 123",
                    "CityMunicipality": "Makati City",
                    "StateProvince": "Metro Manila",
                    "PostalCode": "1200",
                    "IsBillingAddress": true,
                    "IsDeliveryAddress": true,
                    "IsPickupAddress": true
                }
            ]
        }
    }
}

# ShipmentBooking

# ShipmentBooking

This resource allows customers to save shipment transactions or to book a shipment with its required shipment information.

# End Point

POST /shipments/booking

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
LoginName user account's login name string required
ServiceId shipment’s service id int required
ShipmentTypeId shipment’s shipment type id int required
ShipmentCategoryId shipment category id int required
PickupDate date when to pick up shipment date required
PickupTime time when to pick up shipment time required
PickupAddress address where to pick up shipment object required
    Street
street of pickup address string required
    Barangay
barangay of pickup address string required
    PostalCode
pickup address’ postal code based on serviceable area string required
Remarks shipment remarks string optional
RequestedDeliveryDate date when the customer wants the shipment to be delivered date optional
RequestedDeliveryTime time when the customer wants the shipment to be delivered time optional
Weight shipment’s total weight in kilograms decimal required
CBM shipment's total CBM decimal required
Distance distance in km from origin to destination decimal optional
DeclaredValue shipment’s declared value decimal required (minimum value: 100)
PackageDimensions dimensions of the shipment's package array required
    Length
shipment’s packaging length in cm decimal required only if shipment type name is “Own Packaging”
    Width
shipment’s packaging width in cm decimal required only if shipment type name is “Own Packaging”
    Height
shipment’s packaging height in cm decimal required only if shipment type name is “Own Packaging”
    Weight
shipment’s packaging weight in kg decimal required
    Quantity
shipment’s packaging quantity int required
CargoDescription description of cargo string optional
ConsigneeName name of shipment receiver string required
ConsigneeContactNo contact no of shipment receiver string optional
ConsigneeEmailAddress email address of shipment receiver string required
ConsigneeAddress address of shipment receiver/ delivery address object required
    Street
street of delivery address string required
    Barangay
barangay of delivery address string required
    PostalCode
delivery address’ postal code based on serviceable area string required
PaymentMode Transaction’s payment mode (Modes: A - Account, P - Prepaid string required
RatesDetails shipment breakdown of rates/charges object required
    Id
rate Id int required
    Name
rate name string required
    Charges
array of the shipment charges/rates breakdown array required
           Description
charge description string required
           Amount
charge amount decimal required

# Sample Schema Content-type: application/json

{
    "LoginName": "test5@customer.com",
    "ServiceId": 5,
    "ShipmentTypeId": 30,
    "ShipmentCategoryId": 6,
    "PickupDate": "2020-10-07",
    "PickupTime": "08:00",
    "PickupAddress": {
        "Street": "Naval St.",
        "Barangay": "Bagumbayan South",
        "PostalCode": 1485
    },
    "Remarks": "Test new booking",
    "RequestedDeliveryDate": "2020-10-14",
    "RequestedDeliveryTime": "08:00",
    "Weight": 1,
    "CBM": 1,
    "Distance" : 59.1,
    "DeclaredValue": 50000.00,
    "PackageDimensions": [
        {
            "Length": 1,
            "Width": 1,
            "Height": 1,
            "Weight": 1,
            "Quantity": 1
        }
    ],
    "CargoDescription": "Assorted",
    "ConsigneeName": "Shiena Grace Formentera",
    "ConsigneeContactNo": "09123456789",
    "ConsigneeEmailAddress": "consigneeemail@email.com",
    "ConsigneeAddress": {
        "Street": "San Isidro Road",
        "Barangay": "San Isidro",
        "PostalCode": 4025
    },
    "PaymentMode": "P",
    "RatesDetails": {
        "Id": 31435,
        "Name": "AUV",
        "Charges": [
            {
                "Description": "Trucking",
                "Amount": 3000
            }
        ]
    }
}

# Response Information

A successful request to this API will save the booked shipment and its information and will return a success booking status and the shipment’s tracking number.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "trackingId": "00187487",
        "BookingDate": "07/10/2020",
        "BookingTime": "15:59:23"
    }
}

# Services

This resource allows customers to request all shipment service types.

# End Point

GET /services

# Request Information

# URI Parameters:

Name
Description
Type
Additional Info
bookingType valid booking type (whether LCL or FTL) string required

# Body Parameters: None.

# Response Information

Request to this API will return an object containing an array of all shipment services. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
        "message": null,
        "data": [
           {
                "Id": 8,
                "Name": "Express"
            },
            {
                "Id": 7,
                "Name": "Standard"
            }
        ]
}

# ShipmentTypes

This resource allows customers to request LCL or FTL shipmenttypes of a specific available service. The service id will be its parameter.

# End Point

GET /shipment-types

# Request Information

# URI Parameters:

Name
Description
Type
Additional Info
serviceId available/valid service id: 5 (Full Truck Load), 7 (Standard), 8 (Express) int required

# Response Information

Request to this API will return an array of LCL or FTL shipment types of a specific available service together with its dimensions and other details. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": [
        {
            "Id": 30,
            "Name": "AUV",
            "ServiceId": 5,
            "Length": null,
            "Width": null,
            "Height": null,
            "Description": "Max CBM Load Capacity: 3 CBM ~Max Tonnage Load Capacity: 1 Ton ~Safe Allowance Load (KG): 800 ~Maximum Declared Value Covered: 500,000.00 ~Inclusive of 1 driver and 1 helper",
            "SortId": 1
        },
        {
            "Id": 32,
            "Name": "4 Wheeler",
            "ServiceId": 5,
            "Length": null,
            "Width": null,
            "Height": null,
            "Description": "Max CBM Load Capacity: 5 CBM ~Max Tonnage Load Capacity: 1 Ton ~Safe Allowance Load (KG): 800 ~Maximum Declared Value Covered: 750,000.00 ~Inclusive of 1 driver and 1 helper",
            "SortId": 2
        },
        {
            "Id": 33,
            "Name": "6 Wheeler",
            "ServiceId": 5,
            "Length": null,
            "Width": null,
            "Height": null,
            "Description": "Max CBM Load Capacity: 14 CBM ~Max Tonnage Load Capacity: 4 Ton ~Safe Allowance Load (KG): 3600 ~Maximum Declared Value Covered: 1,000,000.00 ~Inclusive of 1 driver and 1 helper",
            "SortId": 3
        },
        {
            "Id": 34,
            "Name": "6 Wheeler Forward",
            "ServiceId": 5,
            "Length": null,
            "Width": null,
            "Height": null,
            "Description": "Max CBM Load Capacity: 18 CBM ~Max Tonnage Load Capacity: 7.5 Ton ~Safe Allowance Load (KG): 7200 ~Maximum Declared Value Covered: 1,500,000.00 ~Inclusive of 1 driver and 1 helper",
            "SortId": 4
        },
        {
            "Id": 31,
            "Name": "10 Wheeler",
            "ServiceId": 5,
            "Length": null,
            "Width": null,
            "Height": null,
            "Description": "Max CBM Load Capacity: 32 CBM ~Max Tonnage Load Capacity: 13.5 Ton ~Safe Allowance Load (KG): 12000 ~Maximum Declared Value Covered: 2,000,000.00 ~Inclusive of 1 driver and 1 helper",
            "SortId": 5
        }
    ]
}

# Rates

This resource allows customers to request breakdown of shipment charges/rates based on its origin, destination, service and shipment type as parameters. This resource will also require the length, width, height, weight and quantity of the shipment’s packaging if its shipment type parameter is “Own Packaging”.

# End Point

GET /rates/standard

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
OriginPostalCode serviceable area postal code of shipment’s origin address int required
DestinationPostalCode serviceable area postal code of shipment’s destination address int required
ServiceId Id of the shipment service int required
ShipmentTypeId Id of the shipment type int required
DeclaredValue shipment’s declared value decimal required (minimum value: 100)
Weight shipment’s total weight in kilograms decimal required
CBM shipment's total CBM decimal required
Distance distance in km from origin to destination decimal optional
PackageDimensions dimensions of the shipment's package array required
    Length
shipment’s packaging length in cm decimal required only if shipment type name is “Own Packaging”
    Width
shipment’s packaging width in cm decimal required only if shipment type name is “Own Packaging”
    Height
shipment’s packaging height in cm decimal required only if shipment type name is “Own Packaging”
    Weight
shipment’s packaging weight in kg decimal required
    Quantity
shipment’s packaging quantity int required

# Sample Schema Content-type: application/json

{
    "OriginPostalCode": 1485,
    "DestinationPostalCode": 4025,
    "ServiceId": 5,
    "ShipmentTypeId": 30,
    "DeclaredValue": 50000.00,
    "Weight": 1.3,
    "CBM": 1,
    "Distance" : 59.1,
    "PackageDimensions": [
        {
            "Length": 0,
            "Width": 0,
            "Height": ,
            "Weight": 24,
            "Quantity": 1
        }
    ]
}

# Response Information

Request to this API will return a breakdown of charges/rates for a shipment based on its origin, destination, service, shipment type, and the package’s weight, CBM, length, width, and height if its shipment type is “Own Packaging”. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "Id": 31435,
        "Name": "AUV",
        "Charges": [
            {
                "Description": "Trucking",
                "Amount": 3000
            }
        ]
    }
}

# Rates Many

This resource allows customers to request breakdown of multiple shipment charges/rates based on its origin, destination, and service only as parameters.

# End Point

GET /rates/standard/many

# Request Information

# URI Parameters: None

# Body Parameters:

Name
Description
Type
Additional Info
OriginPostalCode serviceable area postal code of shipment’s origin address int required
DestinationPostalCode serviceable area postal code of shipment’s destination address int required
ServiceId Id of the shipment service int required

# Sample Schema Content-type: application/json

{
    "OriginPostalCode": 1485,
    "DestinationPostalCode": 4025,
    "ServiceId": 5
}

# Response Information

Request to this API will return multiple shipment rates/charges and its breakdown based on its origin, destination, and service. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": {
        "ServiceId": 5,
        "ServiceName": "Full Truck Load",
        "OriginPostalCode": "1485",
        "DestinationPostalCode": "4025",
        "RatesDetails": [
            {
                "Id": 31435,
                "Name": "AUV",
                "ShipmentTypeId": 30,
                "ShipmentTypeName": "AUV",
                "Charges": [
                    {
                        "Description": "Trucking",
                        "Amount": 3000
                    }
                ]
            },
            {
                "Id": 24733,
                "Name": "Inland Transaction ",
                "ShipmentTypeId": 31,
                "ShipmentTypeName": "10 Wheeler",
                "Charges": [
                    {
                        "Description": "Trucking",
                        "Amount": 12950
                    }
                ]
            },
            {
                "Id": 31445,
                "Name": "4 Wheeler",
                "ShipmentTypeId": 32,
                "ShipmentTypeName": "4 Wheeler",
                "Charges": [
                    {
                        "Description": "Trucking",
                        "Amount": 3542
                    }
                ]
            },
            {
                "Id": 30391,
                "Name": "6W FORWARD",
                "ShipmentTypeId": 33,
                "ShipmentTypeName": "6 Wheeler",
                "Charges": [
                    {
                        "Description": "Trucking",
                        "Amount": 9165.6925
                    }
                ]
            },
            {
                "Id": 31432,
                "Name": "6 WHEELER LAND",
                "ShipmentTypeId": 33,
                "ShipmentTypeName": "6 Wheeler",
                "Charges": [
                    {
                        "Description": "Trucking",
                        "Amount": 5000
                    }
                ]
            }
        ]
    }
}

# ShipmentCategories

This resource allows customers to request all shipment categories.

# End Point

GET /shipment-categories

# Request Information

# URI Parameters: None

# Body Parameters: None

# Response Information

Request to this API will return a list of all shipment categories. A status code of 404 will be returned when no record is found.

# Sample Response Format Content-type: application/json

{
    "status": "SUCCESS",
    "message": null,
    "data": [
        {
            "Id": 1,
            "Description": "Dry Goods"
        },
        {
            "Id": 2,
            "Description": "Equipment"
        },
        {
            "Id": 3,
            "Description": "Electronics"
        },
        {
            "Id": 4,
            "Description": "Appliances"
        },
        {
            "Id": 5,
            "Description": "Furniture"
        },
        {
            "Id": 6,
            "Description": "Others(Specify)"
        }
    ]
}