API Documentation

Get Projects Details

To get room based projects with finish level options and room unit sizes.

Usage

<<Base URL>>/api/
project/getProjects/?accessToken=<kukunEnterpriseAccessToken>& projectType=<projectType>

Example:

https://apidev.mykukun.com/api/project/getProjects/?accessToken=4d1d19e0f770011909e97024ac97ece0>&projectType=room

REST Methods

Method GET
Purpose Get room based projects with finish level options and room unit sizes.
Input accessToken and projectType
Content-Type application/json
Output

{"success":true,"message":{"projectTypes":[{"projectTypeId":"5","projectTypeName":"Kitchen","projectRoomConfigurations":{"estimationType":["Addition","Renovation","Expansion"],"additionTypes":[{"name":"single_storey","value":"To a single storey house"},{"name":"second_storey","value":"To the second storey"}],"expansionTypes":[{"name":"additional_increase","value":"Adding to the size of the home","additional_size":0},{"name":"moving_walls","value":"Moving internal walls","additional_size":0}]},"finishLevels":[{"finishLevelId":"1","finishLevelName":"Makeover"},{"finishLevelId":"2","finishLevelName":"Typical Renovation"},{"finishLevelId":"3","finishLevelName":"Overhaul"}],"projectUnits":[{"sizeId":"1","sizeName":"Small","projectUnitWidth":"10","projectUnitLength":"7","projectUnitTotalUnit":"70"},{"sizeId":"2","sizeName":"Medium","projectUnitWidth":"10","projectUnitLength":"14","projectUnitTotalUnit":"140"},{"sizeId":"3","sizeName":"Large","projectUnitWidth":"16","projectUnitLength":"18","projectUnitTotalUnit":"288"},{"sizeId":"4","sizeName":"Custom","projectUnitWidth":"0","projectUnitLength":"0","projectUnitTotalUnit":"0"}]}]}}

Estimation and ROI

To estimate the project cost and ROI (Return On Investment).

Usage

<<Base URL>>/api/ project/estimateProjectCostAndROI

Example:

https://apidev.mykukun.com/api/project/estimateProjectCostAndROI/

REST Methods

Method POST
Purpose Estimate the project cost and ROI (Return On Investment)
Input

Generic Input:

{

"enterpriseToken": "<kukunEnterpriseAccessToken>",
"projects": [
{
"projectName": "<projectTypeName>",
"finishLevel": "<finishLevelName>",
"size": "<projectUnitTotalUnit>",
"isRemodelling": false,
"isAddition": false,
"singleStorey": false,
"secondStorey": false,
"additionalSize": 0,
"additionalIncrease": false,
"movingWalls": false,
"projectType": "Room"
}
],
"propertyStreetAddress": "<streetAddress>",
"propertyCity": "<propertyCity>",
"propertyState": "<propertyState>",
"propertyZip": "<propertyZip>",
"propertyType": "<propertyType>",
"propertySize": "<propertySize>",
"houseSize": "<houseSize>",
"bedroomCount": "<bedroomCount>",
"bathroomCount": "<bathroomCount>",
"yearBuilt": "<yearBuilt>",
"isSwimmingPoolExists": "<isSwimmingPoolExists>",
"isGarageExists": "<isGarageExists>",
"initialMarketValue": "<initialMarketValue>",
"enterpriseDomain": "<yourDomainName>",
"clientIpAddress": "<clientIpAddress>",
"calculateRoi": "0",
"_METHOD": "POST"
}

Note:

  1. "propertyType","propertySize","houseSize","bedroomCount","bathroomCount","initialMarketValue" - Mandatory to calculate ROI.

  2. List of propertyType for ROI:

    1. Single Family
    2. Apt/Condo
    3. Townhouse
    4. Apartment House
    5. Duplex
    6. Multi Family Dwellings
  3. "propertySize" - only numeric values in SQFT

  4. "houseSize" - only numeric values in SQFT

  5. "bedroomCount" - only numeric value

  6. "bathroomCount" - only numeric value

  7. "initialMarketValue" - only numeric value i.e. the current cost of the property value

  8. "yearBuilt" - only Year alone

  9. "isSwimmingPoolExists" - yes or no

  10. "isGarageExists" - yes or no

Content-Type application/json
Output
{
"success": true,
"message": {
"projectEstimationCost": {
"Bedroom": 12819
},
"totalEstimationCost": 12819,
"projectRoiCost": {
"Bedroom": 0
},
"totalRoiCost": 0,
"newHomeCost": 2701819
}
}
Estimation cost alone for Addition and Single Storey:
Method POST
Purpose Estimation cost alone for Addition and Single Storey.
Input
{
......
"projects": [
{
......
"isAddition": true,
"singleStorey": true,
......
},
......
}

Note:

  1. isAddition should be true

  2. singleStorey should be true

  3. … refers the generic input parameters

Estimation cost alone for Addition and Second Storey:
Method POST
Purpose Estimation cost alone for Addition and Second Storey.
Input
{
......
"projects": [
{
......
"isAddition": true,
"secondStorey": true,
......
},
......
}

Note:

  1. isAddition should be true

  2. secondStorey should be true

  3. … refers the generic input parameters

Estimation cost alone for Expansion (Adding to the size of the home - ExpansionTypeDetails):
Method POST
Purpose Estimation cost alone for Expansion (Adding to the size of the home - ExpansionTypeDetails)
Input
{
......
"projects": [
{
......
"additionalSize": 100,
"additionalIncrease": true,
......
},
......
}

Note:

  1. additionalIncrease should be true

  2. additionalSize - only numeric values in SQFT, where user has to enter addition value to increase the wallsize apart from regular room size value.

  3. … refers the generic input parameters

Estimation cost alone for Expansion (Moving internal walls - ExpansionTypeDetails):
Method POST
Purpose Estimation cost alone for Expansion (Adding to the size of the home - ExpansionTypeDetails)
Input
{
......
"projects": [
{
......
"additionalSize": 100,
"movingWalls": true,
......
},
......
}

Note:

  1. movingWalls should be true

  2. additionalSize - only numeric values in SQFT, where user has to enter addition value to increase the wallsize apart from regular room size value.

  3. … refers the generic input parameters

Estimation cost alone for Renovation:
Method POST
Purpose Estimation cost alone for Renovation
Input
{
......
"projects": [
{
......
"isRemodelling": true,
......
},
......
}

Note:

  1. isRemodelling should be true

  2. … refers the generic input parameters

Calculate project cost and ROI:
Method POST
Purpose Calculate project cost and ROI
Input
{
......
"projects": [
{
......
"finishLevel": "Overhaul",
......
},
......
}
]
….
"propertyType": "Single%20Family",
"propertySize": "5000",
"houseSize": "3000",
"bedroomCount": "5",
"bathroomCount": "5",
"yearBuilt": "1985",
"isSwimmingPoolExists": "yes",
"isGarageExists": "yes",
"initialMarketValue": "2689000",
"calculateRoi": "1",
......
}

Note:

  1. calculateRoi should be 1.

  2. For all projects, finishLevel should be Overhaul to calculate ROI.

  3. "propertyType","propertySize","houseSize","bedroomCount","bathroomCount","initialMarketValue" are mandatory to calculate ROI.

  4. … refers the generic input parameters

Output
{
"success": true,
"message": {
"projectEstimationCost": {
"Kitchen": 57622
},
"totalEstimationCost": 57622,
"projectRoiCost": {
"Kitchen": 43217
},
"totalRoiCost": 43217,
"newHomeCost": 2789839
}
}

Permits

To get the permits based on the latitude, longitude and radius.

Usage

<<Base URL>>/api/ professionalServices/professional/getProfessionalPermitsByDistance/?accessToken=<kukunEnterpriseAccessToken>&permitType=<PermitType>&permitCity=<permitCity>&permitCategory=<permitCategory>

Example:

https://apidev.mykukun.com/api/professionalServices/professional/getProfessionalPermitsByDistance/?accessToken=8f9e3805612b1f93a2aab388e7f50c6f&radius=5&homeLatitude=32.7781&homeLongitude=-96.8054

REST Methods

Method GET
Purpose Get the permits based on the latitude, longitude and radius.
Input

Note:

  1. accessToken is mandatory.

  2. permitType or PemitCategory or PermiCity at least one of the field is mandatory.

Output
{
"success": true,
"message": {
"homeAddress": {
"latitude": "32.7781",
"longitude": "-96.8054"
},
"permits": [
{
"distance": "0.03906006503046214",
"latitude": "32.77759",
"longtitude": "-96.80569",
"permitNumber": "#1107011042",
"contractorPhone": "2147211522",
"houseStreetAddress": "301 N MARKET ST",
"houseCity": "Dallas",
"houseState": "TX",
"houseZipCode": "75202",
"professionalId": "83105",
"companyName": "MART INC",
"kukunScore": "30"
}
]
}
}