IEG4's waste integration happens via its own Waste API that is capable of 'speaking' to Yotta Alloy, Bartec Collective and Whitespace Powersuite.
Because it does this it has a set of configuration to aid the translation from one API to the other.
This configuration IS important to get right as integration will not work without it. So as a part of your implementation the details of what should be added to here will be requested too.
Missed Bin Collection - API Configuration
The details this file holds and are needed for this to function are:
Container Types including:
colour (waste stream colour of Blue, Blue, Green, Brown)
round type e.g. REF = Refuse
name e.g. Small Black Bin
Round Types including:
round type e.g. REC for recycling
colour (waste stream colour of Blue, Blue, Green, Brown)
Settings including (but not necessarily required for all waste systems):
Street complete code - which back office code should be looked for to determine if a street is completed or not
Service Type ID - which service request type should be used for the use case
Service Status ID - which service request type status should be used for the use case
Service Source - this will be the waste application in question E.g. Alloy / Collective
Service SLA ID - which service request type SLAID should be used for the use case
Service CrewID - which service request CrewID should be used
Service LandTypeID - which service request LandTypeID should be used
Post Service Status ID - which service request type status should be used for the use case (Bartec Only) after the service request has already been created
Street Issues (Events) including:
Code (as held in the back office)
Container Issue (Events) codes including:
Note - for Bartec - the config is capable of handling event ids and events where there are sub-events. Where there are sub events simply separate them from the event with a hyphen. E.g. if the event id was 264 and the event sub event id was 680 then it would be this:
Example File
Copy {
"description": null,
"containerTypes": [
{
"code": "6523",
"colour": "Black",
"roundType": "REF",
"name": "140 Black Rubbish"
},
{
"code": "6524",
"colour": "Brown",
"roundType": "REC",
"name": "140 Brown Recycling"
},
{
"code": "6515",
"colour": "Green",
"roundType": "ORG",
"name": "140 Green Lid Food Garden"
}
]
"roundTypes": [
{
"roundType": "REC",
"colour": "Brown",
"name": "Recycling",
"description": "Recycling"
},
{
"roundType": "REF",
"colour": "Black",
"name": "Domestic Refuse",
"description": "Domestic Refuse"
},
{
"roundType": "ORG",
"colour": "Green",
"name": "Organic",
"description": "Organic"
}
],
"settings": [
{
"key": "streetCompletedCode",
"value": "28"
},
{
"key": "missedBinServiceTypeID",
"value": "230"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "2322"
},
{
"key": "serviceRequests_Create:Source",
"value": "COLLECTIVE API"
},
{
"key": "serviceRequests_Create:LandTypeID",
"value": "19"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "38"
},
{
"key": "serviceRequests_Create:CrewID",
"value": "3284"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2324"
}
],
"streetIssues": [
{
"shortDescription": "NO ACCESS - ROADWRKS",
"message": null,
"code": "36"
},
{
"shortDescription": "NO ACCESS- Rd CLOSED",
"message": null,
"code": "37"
},
{
"shortDescription": "NO ACCESS-BAD WEATHR",
"message": null,
"code": "38"
},
{
"shortDescription": "NO ACCESS-PARKD CARS",
"message": null,
"code": "39"
},
{
"shortDescription": "NO ACCESS 2ND TRY",
"message": null,
"code": "41"
},
{
"shortDescription": "NO ACCESS 3RD TRY",
"message": null,
"code": "42"
},
{
"shortDescription": "PARTIAL STREET COMPLETE",
"message": null,
"code": "43"
},
{
"shortDescription": "RND DELAYS LEAVE OUT",
"message": null,
"code": "49"
}
],
"containerIssueCodes": [
"264-678",
"264-679",
"264-680",
"293",
"281",
"999"
]
}
Request a Bin - API Configuration
This is the configuration we need to set our side for this form.
Example File
Copy {
"description": null,
"containerTypes": [
{
"code": "6523",
"colour": "Black",
"roundType": "REF",
"name": "HP 140 Black Rubbish"
},
{
"code": "6524",
"colour": "Brown",
"roundType": "REC",
"name": "HP 140 Brown Recycling"
},
{
"code": "6515",
"colour": "Green",
"roundType": "ORG",
"name": "HP 140 Green Lid Food Garden"
},
{
"code": "6507",
"colour": "Black",
"roundType": "REF",
"name": "HP 240 Black Rubbish"
},
{
"code": "6527",
"colour": "Brown",
"roundType": "REC",
"name": "HP 240 Brown Recycling"
},
{
"code": "6512",
"colour": "Green",
"roundType": "ORG",
"name": "HP 240 Green Lid Food Garden"
},
{
"code": "6537",
"colour": "Black",
"roundType": "REF",
"name": "HP 360 Black Rubbish"
},
{
"code": "6743",
"colour": "Green",
"roundType": "ORG",
"name": "HP 240 Green Xtra Food Garden"
},
{
"code": "6744",
"colour": "Black",
"roundType": "REF",
"name": "HP 360 Black Medical"
},
{
"code": "6519",
"colour": "Brown",
"roundType": "REC",
"name": "HP 360 Brown Recycling"
},
{
"code": "6513",
"colour": "Black",
"roundType": "REF",
"name": "HP Black sacks"
},
{
"code": "6514",
"colour": "Green",
"roundType": "ORG",
"name": "HP Compostable sacks"
},
{
"code": "6529",
"colour": "Brown",
"roundType": "REC",
"name": "HP White recycling bag"
}
],
"roundTypes": [
{
"roundType": "REC",
"colour": "Brown",
"name": "Recycling",
"description": "Recycling"
},
{
"roundType": "REF",
"colour": "Black",
"name": "Domestic Refuse",
"description": "Domestic Refuse"
},
{
"roundType": "ORG",
"colour": "Green",
"name": "Organic",
"description": "Organic"
}
],
"settings": [
{
"key": "developerPrePaidAttribute",
"value": "DEVELOPER PRE PAID BINS"
},
{
"key": "ContainerIssueSearch_FromDate_TodayMinusDays",
"value": "20"
},
{
"key": "serviceRequests_Create:ServiceTypeID",
"value": "225"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "2282"
},
{
"key": "serviceRequests_Create:Source",
"value": "COLLECTIVE API"
},
{
"key": "serviceRequests_Create:LandTypeID",
"value": "19"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "36"
},
{
"key": "serviceRequests_Create:CrewID",
"value": "3284"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2284"
},
{
"key": "exchangeBinReasonCode",
"value": "EXCHANGE"
},
{
"key": "damagedBinReasonCode",
"value": "EXCHANGE"
},
{
"key": "lostBinReasonCode",
"value": "LOST OR STOLEN"
},
{
"key": "containerStatusFilters",
"value": "IN SERVICE,ON ORDER"
}
],
"containerIssueCodes": [
"284-574",
"284-581",
"284-587",
"284-575",
"284-582",
"284-588",
"284-586",
"284-580",
"284-579",
"284-577",
"284-578",
"284-585",
"284-584",
"284-583",
"284-590",
"284-589",
"284-592",
"284-591",
"284-571",
"284-570",
"284-573",
"284-572",
"284-687",
"284-688",
"268-387",
"268-388",
"268-389",
"268-390",
"268-391",
"268-394",
"268-400",
"268-401",
"268-398",
"268-391",
"268-390",
"268-389",
"268-543",
"268-397",
"268-395",
"268-396",
"268-544",
"268-403",
"268-402",
"268-406",
"268-405",
"268-380",
"268-379",
"268-384",
"268-383",
"268-685",
"268-686"
],
"exceptionalJobReasons": [
{
"containerTypeCode": "6743",
"serviceType": "1",
"reason": "ADDITIONAL GARDEN"
}
]
}
Bulky Waste Collection - API Configuration
This is the configuration we need to set our side for this form.
Example File
Copy {
"description": "Bulky Waste Collection Johns Test",
"settings": [
{
"key": "FutureWorkpackFeatureStatusID",
"value": "80"
},
{
"key": "serviceRequests_Create:Source",
"value": "COLLECTIVE API"
},
{
"key": "serviceRequests_Create:LandTypeID",
"value": "19"
},
{
"key": "serviceRequests_Create:CrewID",
"value": "3284"
}
],
"bulkyWasteGroups": [
{
"groupId": "6540",
"groupName": "Bulky waste items",
"settings": [
{
"key": "serviceRequests_Create:ServiceTypeID",
"value": "226"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "2290"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "39"
},
{
"key": "MaximumJobsPerWorkpack",
"value": "30"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2292"
},
{
"key": "serviceRequests_Create:AdditionalInfo1",
"value": "CREW_INFORMATION"
},
{
"key": "serviceRequests_Create:AdditionalInfo2",
"value": "COMMENTS"
}
]
},
{
"groupId": "6543",
"groupName": "Bulky electrical items",
"settings": [
{
"key": "serviceRequests_Create:ServiceTypeID",
"value": "229"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "2314"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "39"
},
{
"key": "MaximumJobsPerWorkpack",
"value": "30"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2316"
},
{
"key": "serviceRequests_Create:AdditionalInfo1",
"value": "CREW_INFORMATION"
},
{
"key": "serviceRequests_Create:AdditionalInfo2",
"value": "COMMENTS"
}
]
},
{
"groupId": "6748",
"groupName": "Bulky electrical small items",
"settings": [
{
"key": "serviceRequests_Create:ServiceTypeID",
"value": "229"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "2314"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "39"
},
{
"key": "MaximumJobsPerWorkpack",
"value": "30"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2316"
},
{
"key": "serviceRequests_Create:AdditionalInfo1",
"value": "CREW_INFORMATION"
},
{
"key": "serviceRequests_Create:AdditionalInfo2",
"value": "COMMENTS"
}
]
}
]
}
Clinical Waste Collection - API Configuration
This is the configuration we need to set our side for this form.
Example File
Copy {
"description": "Clinical Collection John's TEST",
"jobCreateItemConfigs": [
{
"name": "SHARPS",
"containerTypeCode": "6505"
},
{
"name": "CLINICAL_SACKS",
"containerTypeCode": "6518"
}
],
"containerTypes": [
{
"code": "6518",
"colour": null,
"roundType": "CLIN",
"name": "Clinical Sacks"
},
{
"code": "6505",
"colour": null,
"roundType": "CLIN",
"name": "Sharps Box"
}
],
"settings": [
{
"key": "serviceRequests_Create:ServiceTypeID",
"value": "228"
},
{
"key": "serviceRequests_Create:ServiceStatusID",
"value": "3206"
},
{
"key": "serviceRequests_Create:Source",
"value": "COLLECTIVE API"
},
{
"key": "serviceRequests_Create:LandTypeID",
"value": "19"
},
{
"key": "serviceRequests_Create:SLAID",
"value": "37"
},
{
"key": "serviceRequests_Create:CrewID",
"value": "3284"
},
{
"key": "post-serviceRequests_Create:ServiceStatusID",
"value": "2308"
}
]
}
Assisted Collection - API Configuration
This is the configuration we need to set our side for this form.
Example File
Copy {
"Settings": [
{
"key": "serviceRequest_designCode",
"value": "designs_serviceRequest_5ffd72cc2c3af400657c0fd0"
},
{
"key": "serviceRequest_requestType_attributeCode",
"value": "attributes_serviceRequestRequestType_5ffd779798ab7e00657d7be8"
},
{
"key": "serviceRequest_requestType_attributeValue",
"value": "5ffd7745970c790065ca0219"
},
{
"key": "serviceRequest_tasksStatus_attributeValue",
"value": "5bc5bdd281d088d177342c72"
},
{
"key": "serviceRequest_iEG4FormReference_attributeCode",
"value": "attributes_serviceRequestIEG4FormReference_5ffd77d135d6440065089009"
},
{
"key": "serviceRequest_customerName_attributeCode",
"value": "attributes_serviceRequestCustomerName_5ffd780998ab7e00657d7c6d"
},
{
"key": "serviceRequest_requestNotes_attributeCode",
"value": "attributes_serviceRequestNotes_5ffd7815970c790065ca03dd"
},
{
"key": "serviceRequest_customerEmail_attributeCode",
"value": "attributes_serviceRequestCustomerEmail_5ffd78812c3af400657c195b"
},
{
"key": "serviceRequest_reporterName_attributeCode",
"value": "attributes_serviceRequestReporterName_5ffd795d35d6440065089325"
},
{
"key": "serviceRequest_reporterEmail_attributeCode",
"value": "attributes_serviceRequestReporterEmail_5ffd797e98ab7e00657d80a7"
},
{
"key": "serviceRequest_assistedReason_attributeCode",
"value": "attributes_serviceRequestAssistedReason_5fff458cf87efe0066799fe0"
}
]
}
Garden Subscriptions - Whitespace API Configuration
Filename: configuration/serviceconfigurationmappings.json
ContractStartDay / Month - this is the date that the form will use when determining whether the subscription renewal period is open.
RenewablePeriodDays - combined with the start day and month this will determine the renewal period.
RemovePremisesBinCountFromSubscriptionOptions - when set to true the number of bins held at the address on the waste system will not be available to select if changing an existing subscription.
UsePremisesBinCountForBinsToOrderOptions - when set to true the number of bins held at the address on the waste system will determine how many bins can be requested to make up a subscription i.e. if a premise has 1 bin on the waste system and the resident selects a 2 bin subscription they will only be able to order 1 additional bin. If set to false the opposite applies and the resident could order 1 or 2 bins for a 2 bin subscription even if the waste system has 1 bin at the address already.
UseDeliverBinDropdownCountInOrderCreation - when set to true the bins to order worksheet will automatically determine the number of bins based on the subscription chosen and the number of bins at the premise. When set to false the number of bins requested by the resident on the form will be used instead.
Example configuration file:
Copy {
"settings": [
{
"key": "ServiceViewAdditionalInfo1Enabled",
"value": "true"
},
{
"key": "ContractStartDay",
"value": "1"
},
{
"key": "ContractStartMonth",
"value": "4"
},
{
"key": "RenewablePeriodDays",
"value": "180"
},
{
"key": "RemovePremisesBinCountFromSubscriptionOptions",
"value": "false"
},
{
"key": "UsePremisesBinCountForBinsToOrderOptions",
"value": "false"
},
{
"key": "UseDeliverBinDropdownCountInOrderCreation",
"value": "true"
}
],
"NoOfBins": [
{
"Number": 1,
"FullYearRegularPrice": 20.00,
"FullYearConcessionPrice": 20.00,
"HalfYearRegularPrice": 20.00,
"HalfYearConcessionPrice": 20.00,
"DeliveryRegularPrice": 35.00,
"DeliveryConcessionPrice": 0.00
},
{
"Number": 2,
"FullYearRegularPrice": 30.00,
"FullYearConcessionPrice": 30.00,
"HalfYearRegularPrice": 30.00,
"HalfYearConcessionPrice": 30.00,
"DeliveryRegularPrice": 70.00,
"DeliveryConcessionPrice": 0.00
},
{
"Number": 3,
"FullYearRegularPrice": 40.00,
"FullYearConcessionPrice": 40.00,
"HalfYearRegularPrice": 40.00,
"HalfYearConcessionPrice": 40.00,
"DeliveryRegularPrice": 105.00,
"DeliveryConcessionPrice": 0.00
},
{
"Number": 4,
"FullYearRegularPrice": 50.00,
"FullYearConcessionPrice": 50.00,
"HalfYearRegularPrice": 50.00,
"HalfYearConcessionPrice": 50.00,
"DeliveryRegularPrice": 140.00,
"DeliveryConcessionPrice": 0.00
},
{
"Number": 5,
"FullYearRegularPrice": 60.00,
"FullYearConcessionPrice": 60.00,
"HalfYearRegularPrice": 60.00,
"HalfYearConcessionPrice": 60.00,
"DeliveryRegularPrice": 175.00,
"DeliveryConcessionPrice": 0.00
}
],
"BinSizes": [
{
"ItemSize": "1",
"BinSize": "140"
},
{
"ItemSize": "2",
"BinSize": "180"
}
],
"FinanceCodes": [
{
"descriptionPrefix": "Garden waste subscription",
"binCode": "GW-240",
"fundCode": "5",
"reference": "R136"
}
]
}
Garden Subscriptions - Alloy API Configuration
Filename: configuration/serviceconfigurationmappingsv2.json
ContractStartDay / Month - this is the date that the form will use when determining whether the subscription renewal period is open.
RenewablePeriodDays - combined with the start day and month this will determine the renewal period.
addressSearchFilters - allows a prefix to be set to exclude certain addresses e.g. parent properties
SubscriptionTypes - defines the subscriptions that are available and the pricing. Each subscription corresponds to a container code on Alloy.
PaymentProviderConfigId - enables separate finance codes to be set per subscription type (if required).
Copy {
"settings": [
{
"key": "ServiceViewAdditionalInfo1Enabled",
"value": "true"
},
{
"key": "ContractStartDay",
"value": "1"
},
{
"key": "ContractStartMonth",
"value": "4"
},
{
"key": "RenewablePeriodDays",
"value": "60"
}
],
"addressSearchFilters": [
{
"filter": "attributes_premisesBlpuClass",
"include": true,
"stringMatch": "Prefix",
"value": "R"
}
],
"SubscriptionTypes": [
{
"Code": "GW_PLAN_1",
"Name": "One wheeled bin",
"Description": "Annual subscription for one wheeled bin",
"Price": {
"StandardPrice": 78,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1",
"ContainerTypeSets": [
{
"ContainerTypeCode": "GW-140",
"Quantity": 1
}
]
},
{
"Code": "GW_PLAN_2",
"Name": "Two wheeled bins",
"Description": "Annual subscription for two wheeled bins",
"Price": {
"StandardPrice": 117,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1",
"ContainerTypeSets": [
{
"ContainerTypeCode": "GW-140",
"Quantity": 2
}
]
},
{
"Code": "GW_PLAN_3",
"Name": "Two bags",
"Description": "Annual subscription for two 90l bags",
"Price": {
"StandardPrice": 100,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1",
"ContainerTypeSets": [
{
"ContainerTypeCode": "BAG-90",
"Quantity": 2
}
]
},
{
"Code": "GW_PLAN_4",
"Name": "Four bags",
"Description": "Annual subscription for four 90l bags",
"Price": {
"StandardPrice": 150,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1",
"ContainerTypeSets": [
{
"ContainerTypeCode": "BAG-90",
"Quantity": 4
}
]
},
{
"Code": "GW_PLAN_5",
"Name": "One wheeled bin and 2 bags",
"Description": "Annual subscription for one wheeled bin and two 90l bags",
"Price": {
"StandardPrice": 133,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1",
"ContainerTypeSets": [
{
"ContainerTypeCode": "GW-140",
"Quantity": 1
},
{
"ContainerTypeCode": "BAG-90",
"Quantity": 2
}
]
}
],
"ContainerTypes": [
{
"Code": "GW-140",
"Name": "140 litre bin",
"DeliveryCharge": {
"StandardPrice": 0.0,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1"
},
{
"Code": "BAG-90",
"Name": "90 litre bag",
"DeliveryCharge": {
"StandardPrice": 0.0,
"BenefitClaimantPrice": 0
},
"PaymentProviderConfigId": "ppc_1"
}
],
"PaymentProviderConfig": [
{
"ConfigId": "ppc_1",
"FundCode": "F0000001",
"Reference": "500584",
"vatCode": "N"
},
{
"ConfigId": "ppc_2",
"FundCode": "fund2",
"Reference": "ref Del"
}
]
}