[

  {
    "element": "macro",
    "id": "propertyUiMacro",
    "config": {}
  },


  {
    "element": "widget",
    "id": "logicalStatus",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "select",
      "prompt": {
        "text": "Logical status"
      },
      "dataPath": "logicalStatus",
      "listId": "logicalStatusCodes"
    }
  },


  {
    "element": "widget",
    "id": "lpis",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "LPIs",
      "singular": "LPI",
      "plural": "LPIs",
      "dataPath": "lpis",
      "uiId": "lpiUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [
        {
          "label": "Language",
          "field": "language",
          "action": "update",
          "filter": {
            "name": "listLookup",
            "args": ["'languageCodes'", "activity.data._$lists"]
          }
        },
        {
          "label": "Logical Status",
          "field": "logicalStatus",
          "action": "update",
          "filter": {
            "name": "listLookup",
            "args": ["'logicalStatusCodes'", "activity.data._$lists"]
          }
        },
        {
          "label": "End date",
          "field": "endDate",
          "action": "update",
          "filter": {
            "name": "date",
            "args": ["'shortDate'"]
          }
        }

      ],
      "defaults": {
        "language": "ENG",
        "lpiKey": "[[COUNTER(lpiCounter,9999L,,9)]]",
        "logicalStatus": 1,
        "usrnMatchIndicator": 1,
        "officialFlag": "Y",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },

  {
    "element": "widget",
    "id": "deliveries",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "Delivery Point Addresses",
      "singular": "address",
      "plural": "addresses",
      "dataPath": "deliveries",
      "uiId": "deliveryUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [

        {
          "label": "Thoroughfare",
          "field": "buildingNumber",
          "action": "update",
          "filter": {
            "name": "concat",
            "args": ["' '", "row.thoroughfareName"]
          }
        },

        {
          "label": "Locality",
          "field": "dependentLocality",
          "action": "update"
        },

        {
          "label": "Postcode",
          "field": "postcode",
          "action": "update"
        },

        {
          "label": "End date",
          "field": "endDate",
          "action": "update",
          "filter": {
            "name": "date",
            "args": ["'shortDate'"]
          }
        }
      ],
      "defaults": {
        "rmUdprn": "[[COUNTER(rmUdprnCounter)]]",
        "postcodeType": "S",
        "processDate": "[[TODAY]]",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },


  {
    "element": "widget",
    "id": "classifications",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "Classifications",
      "singular": "classification",
      "plural": "classifications",
      "dataPath": "classifications",
      "uiId": "classificationUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [
        {
          "label": "Code",
          "field": "classificationCode",
          "action": "update"
        },
        {
          "label": "Label",
          "field": "_classificationCode.label",
          "action": "update"
        }
      ],
      "defaults": {
        "classKey": "[[COUNTER(classificationCounter,9999C,,9)]]",
        "schemeVersion": 1.0,
        "classScheme": "Addressbase Premium",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },

  {
    "element": "widget",
    "id": "organisations",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "Organisations",
      "singular": "organisation",
      "plural": "organisations",
      "dataPath": "organisations",
      "uiId": "organisationUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [
        {
          "label": "Organisation",
          "field": "organisation",
          "action": "update"
        },
        {
          "label": "Legal name",
          "field": "legalName",
          "action": "update"
        }
      ],
      "defaults": {
        "orgKey": "[[COUNTER(classificationCounter,9999O,,9)]]",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },


  {
    "element": "widget",
    "id": "blpuState",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "select",
      "prompt": {
        "text": "State"
      },
      "listId": "blpuStates",
      "dataPath": "blpuState"
    }
  },

  {
    "element": "widget",
    "id": "blpuStateDate",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "date",
      "prompt": {
        "text": "State date"
      },
      "dataPath": "blpuStateDate"
    }
  },

  {
    "element": "widget",
    "id": "parentUprn",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "lookup",
      "widgetSubType": "single",
      "placeholder": "Search properties",
      "singular": "property",
      "field": "parentUprn",
      "schema": "blpus",
      "required": true,
      "prompt": {
        "text": "Parent UPRN"
      }
    }
  },

  {
    "element": "widget",
    "id": "x",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "text",
      "prompt": {
        "text": "X"
      },
      "dataPath": "xCoordinate"
    }
  },
  {
    "element": "widget",
    "id": "y",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "text",
      "prompt": {
        "text": "Y"
      },
      "dataPath": "yCoordinate"
    }
  },


  {
    "element": "widget",
    "id": "rpc",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "select",
      "prompt": {
        "text": "RPC"
      },
      "dataPath": "rpc",
      "listId": "rpcCodes"
    }
  },


  {
    "element": "widget",
    "id": "localCustodianCode",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "lookup",
      "widgetSubType": "single",
      "placeholder": "Local custodian",
      "singular": "local custodian",
      "field": "localCustodianCode",
      "schema": "localCustodianCodes",
      "required": true,
      "prompt": {
        "text": "Local custodian"
      }
    }
  },

  {
    "element": "widget",
    "id": "blpuStartDate",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "date",
      "prompt": {
        "text": "Start date"
      },
      "dataPath": "startDate"
    }
  },
  {
    "element": "widget",
    "id": "blpuEndDate",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "date",
      "prompt": {
        "text": "End date"
      },
      "dataPath": "endDate"
    }
  },
  {
    "element": "widget",
    "id": "blpuLastUpdateDate",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "date",
      "prompt": {
        "text": "Last update"
      },
      "dataPath": "lastUpdateDate"
    }
  },
  {
    "element": "widget",
    "id": "blpuEntryDate",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "date",
      "prompt": {
        "text": "Entry date"
      },
      "dataPath": "entryDate"
    }
  },


  {
    "element": "widget",
    "id": "postalAddress",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "select",
      "prompt": {
        "text": "Postal address?"
      },
      "dataPath": "postalAddress",
      "listId": "postalAddressCodes"
    }
  },

  {
    "element": "widget",
    "id": "xrefs",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "Cross references",
      "singular": "cross reference",
      "plural": "cross references",
      "dataPath": "xrefs",
      "uiId": "xrefUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [
        {
          "label": "Cross reference",
          "field": "crossReference",
          "action": "update"
        }
      ],
      "defaults": {
        "xrefKey": "[[COUNTER(xrefCounter,9999X,,9)]]",
        "source": "7666MT",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },


  {
    "element": "widget",
    "id": "successors",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "table",
      "heading": "Successors",
      "singular": "successor",
      "plural": "successors",
      "dataPath": "successors",
      "uiId": "successorUi",
      "createAllowed": true,
      "deleteAllowed": true,
      "cols": [
        {
          "label": "Key",
          "field": "succKey",
          "action": "update"
        },
        {
          "label": "UPRN",
          "field": "successor",
          "action": "update"
        }
      ],
      "defaults": {
        "succKey": "[[COUNTER(successorCounter,9999S,,9)]]",
        "startDate": "[[DATE(1900-01-01)]]",
        "lastUpdateDate": "[[TODAY]]",
        "entryDate": "[[TODAY]]"
      }
    }
  },


  {
    "element": "widget",
    "id": "submit",
    "path": "propertyUiMacro",
    "config": {
      "widgetType": "submitData"
    }
  }

]
  