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

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


  {
    "element": "activity",
    "id": "grabStreetLists",
    "path": "maintainStreet",
    "config": {
      "activityType": "grabLists",
      "config": {
        "listIds": [
          "streetStateCodes",
          "streetSurfaceCodes",
          "streetClassificationCodes",
          "languageCodes"
        ],
        "targetActivityId": "showStreetMaintainUi"
      }
    }
  },

  {
    "element": "goto",
    "path": "maintainStreet.grabStreetLists",
    "config": {
      "state": "finished",
      "targetActivityId": "grabBlueprintData"
    }
  },



  {
    "element": "activity",
    "id": "grabBlueprintData",
    "path": "maintainStreet",
    "config": {
      "activityType": "grabBlueprintData",
      "config": {
        "targetActivityId": "showStreetMaintainUi",
        "include": "_primaryLabel"
      }
    }
  },


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

  {
    "element": "activity",
    "id": "populateLookups",
    "path": "maintainStreet",
    "config": {
      "activityType": "populateLookups",
      "config": {
        "targetActivityId": "showStreetMaintainUi",
        "lookups": [
          {
            "field": "swaOrgRefNaming",
            "schema": "localCustodianCodes"
          }
        ]
      }
    }
  },

  {
    "element": "goto",
    "path": "maintainStreet.populateLookups",
    "config": {
      "state": "finished",
      "targetActivityId": "showStreetMaintainUi"
    }
  },


  {
    "element": "activity",
    "id": "showStreetMaintainUi",
    "path": "maintainStreet",
    "config": {
      "activityType": "showUi",
      "config": {
        "uiId": "maintainStreetUi"
      }
    }
  },
  {
    "element": "goto",
    "path": "maintainStreet.showStreetMaintainUi",
    "config": {
      "state": "finished",
      "targetActivityId": "saveData"
    }
  },


  {
    "element": "activity",
    "id": "saveData",
    "path": "maintainStreet",
    "config": {
      "activityType": "saveData",
      "config": {
        "sourceDataActivityId": "showStreetMaintainUi",
        "method": "put",
        "schema": "streets",
        "docIdPath": "usrn"
      }
    }
  },
  {
    "element": "goto",
    "path": "maintainStreet.saveData",
    "config": {
      "state": "finished",
      "targetActivityId": "finish"
    }
  },
  {
    "element": "goto",
    "path": "maintainStreet.saveData",
    "config": {
      "state": "failed",
      "targetActivityId": "showStreetMaintainUi"
    }
  }


]
