[
  {
    "element": "flow",
    "id": "maintainProperty",
    "config": {
      "category": "gazetteer",
      "label": "Maintain property",
      "description": "Maintain an existing Addressbase Premium BLPU",
      "instigators": ["search"]
    }
  },

  {
    "element": "activity",
    "id": "start",
    "path": "maintainProperty",
    "config": {
      "activityType": "start",
      "config": {
      }
    }
  },
  {
    "element": "goto",
    "path": "maintainProperty.start",
    "config": {
      "state": "finished",
      "targetActivityId": "grabBlpuLists"
    }
  },

  {
    "element": "activity",
    "id": "grabBlpuLists",
    "path": "maintainProperty",
    "config": {
      "activityType": "grabLists",
      "config": {
        "listIds": [
          "logicalStatusCodes",
          "blpuStates",
          "rpcCodes",
          "postalAddressCodes",
          "languageCodes",
          "usrnMatchIndicatorCodes",
          "officialFlagCodes",
          "postcodeTypeCodes",
          "xrefSources"
        ],
        "targetActivityId": "showPropertyMaintainUi"
      }
    }
  },

  {
    "element": "goto",
    "path": "maintainProperty.grabBlpuLists",
    "config": {
      "state": "finished",
      "targetActivityId": "grabBlueprintData"
    }
  },




  {
    "element": "activity",
    "id": "grabBlueprintData",
    "path": "maintainProperty",
    "config": {
      "activityType": "grabBlueprintData",
      "config": {
        "targetActivityId": "showPropertyMaintainUi",
        "include": "_postalAddress"
      }
    }
  },


  {
    "element": "goto",
    "path": "maintainProperty.grabBlueprintData",
    "config": {
      "state": "finished",
      "targetActivityId": "populateLookups"
    }
  },


  {
    "element": "activity",
    "id": "populateLookups",
    "path": "maintainProperty",
    "config": {
      "activityType": "populateLookups",
      "config": {
        "targetActivityId": "showPropertyMaintainUi",
        "lookups": [
          {
            "field": "localCustodianCode",
            "schema": "localCustodianCodes"
          },
          {
            "field": "classificationCode",
            "schema": "classificationCodes"
          },
          {
            "field": "usrn",
            "schema": "streets"
          }
        ]
      }
    }
  },

  {
    "element": "goto",
    "path": "maintainProperty.populateLookups",
    "config": {
      "state": "finished",
      "targetActivityId": "showPropertyMaintainUi"
    }
  },





  {
    "element": "activity",
    "id": "showPropertyMaintainUi",
    "path": "maintainProperty",
    "config": {
      "activityType": "showUi",
      "config": {
        "uiId": "propertyMaintainUi"
      }
    }
  },
  {
    "element": "goto",
    "path": "maintainProperty.showPropertyMaintainUi",
    "config": {
      "state": "finished",
      "targetActivityId": "saveData"
    }
  },


  {
    "element": "activity",
    "id": "saveData",
    "path": "maintainProperty",
    "config": {
      "activityType": "saveData",
      "config": {
        "sourceDataActivityId": "showPropertyMaintainUi",
        "method": "put",
        "schema": "blpus",
        "docIdPath": "uprn"
      }
    }
  },
  {
    "element": "goto",
    "path": "maintainProperty.saveData",
    "config": {
      "state": "finished",
      "targetActivityId": "finish"
    }
  },
  {
    "element": "goto",
    "path": "maintainProperty.saveData",
    "config": {
      "state": "failed",
      "targetActivityId": "showPropertyMaintainUi"
    }
  }


]
