@ukhomeoffice/cop-react-form-renderer 5.0.0-alpha → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +18 -7
  2. package/dist/components/CheckYourAnswers/Answer.test.js +137 -0
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +70 -46
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +410 -0
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +551 -0
  6. package/dist/components/CollectionPage/CollectionPage.js +15 -10
  7. package/dist/components/CollectionPage/CollectionPage.test.js +382 -0
  8. package/dist/components/FormComponent/Collection.js +91 -48
  9. package/dist/components/FormComponent/Collection.scss +2 -1
  10. package/dist/components/FormComponent/Collection.test.js +807 -0
  11. package/dist/components/FormComponent/Container.js +35 -16
  12. package/dist/components/FormComponent/Container.test.js +370 -0
  13. package/dist/components/FormComponent/FormComponent.js +39 -13
  14. package/dist/components/FormComponent/FormComponent.stories.mdx +184 -0
  15. package/dist/components/FormComponent/FormComponent.test.js +226 -0
  16. package/dist/components/FormComponent/helpers/addLabel.js +5 -4
  17. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +16 -0
  18. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +29 -0
  19. package/dist/components/FormComponent/helpers/index.js +8 -1
  20. package/dist/components/FormPage/FormPage.js +69 -30
  21. package/dist/components/FormPage/FormPage.stories.mdx +155 -0
  22. package/dist/components/FormPage/FormPage.test.js +330 -0
  23. package/dist/components/FormRenderer/FormRenderer.js +142 -228
  24. package/dist/components/FormRenderer/FormRenderer.stories.mdx +183 -0
  25. package/dist/components/FormRenderer/FormRenderer.test.js +968 -0
  26. package/dist/components/FormRenderer/handlers/index.js +1 -2
  27. package/dist/components/FormRenderer/handlers/navigate.js +3 -1
  28. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +35 -14
  29. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +88 -5
  30. package/dist/components/FormRenderer/helpers/getCYA.js +11 -2
  31. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -7
  32. package/dist/components/FormRenderer/helpers/getRelevantPages.js +10 -2
  33. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +1 -1
  34. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +2 -2
  35. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +6 -2
  36. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +171 -51
  37. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +307 -24
  38. package/dist/components/FormRenderer/helpers/index.js +1 -2
  39. package/dist/components/FormRenderer/onCYAAction.js +108 -0
  40. package/dist/components/FormRenderer/onCYAAction.test.js +583 -0
  41. package/dist/components/FormRenderer/onPageAction.js +145 -0
  42. package/dist/components/FormRenderer/onPageAction.test.js +678 -0
  43. package/dist/components/FormRenderer/onTaskAction.js +48 -0
  44. package/dist/components/FormRenderer/onTaskAction.test.js +217 -0
  45. package/dist/components/PageActions/ActionButton.js +0 -3
  46. package/dist/components/PageActions/ActionButton.test.js +93 -0
  47. package/dist/components/PageActions/PageActions.js +2 -2
  48. package/dist/components/PageActions/PageActions.stories.mdx +74 -0
  49. package/dist/components/PageActions/PageActions.test.js +132 -0
  50. package/dist/components/SummaryList/GroupAction.js +2 -2
  51. package/dist/components/SummaryList/GroupAction.test.js +80 -0
  52. package/dist/components/SummaryList/RowAction.js +2 -2
  53. package/dist/components/SummaryList/RowAction.test.js +80 -0
  54. package/dist/components/SummaryList/SummaryList.js +29 -12
  55. package/dist/components/SummaryList/SummaryList.scss +19 -0
  56. package/dist/components/SummaryList/SummaryList.stories.mdx +90 -0
  57. package/dist/components/SummaryList/SummaryList.test.js +400 -0
  58. package/dist/components/SummaryList/SummaryListHeadingRow.js +30 -0
  59. package/dist/components/SummaryList/SummaryListRow.js +5 -2
  60. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +2 -1
  61. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +2 -1
  62. package/dist/components/TaskList/Task.js +3 -3
  63. package/dist/components/TaskList/Task.test.js +167 -0
  64. package/dist/components/TaskList/TaskList.js +73 -22
  65. package/dist/components/TaskList/TaskList.stories.mdx +164 -0
  66. package/dist/components/TaskList/TaskList.test.js +389 -0
  67. package/dist/components/TaskList/TaskState.js +2 -2
  68. package/dist/components/TaskList/TaskState.test.js +86 -0
  69. package/dist/components/index.js +14 -0
  70. package/dist/context/HooksContext/HooksContext.js +72 -8
  71. package/dist/context/HooksContext/HooksContext.test.js +44 -0
  72. package/dist/context/ValidationContext/ValidationContext.js +38 -28
  73. package/dist/context/ValidationContext/ValidationContext.test.js +84 -0
  74. package/dist/hooks/useAxios.js +10 -12
  75. package/dist/hooks/useGetRequest.js +48 -49
  76. package/dist/hooks/useRefData.js +7 -4
  77. package/dist/index.js +34 -1
  78. package/dist/json/addressDetails.json +149 -0
  79. package/dist/json/areYouACivilServant.json +7 -0
  80. package/dist/json/firstForm.json +94 -0
  81. package/dist/json/grade.json +108 -0
  82. package/dist/json/group.data.json +21 -0
  83. package/dist/json/group.json +402 -0
  84. package/dist/json/groupOfRow.json +137 -0
  85. package/dist/json/groupOfRowData.json +15 -0
  86. package/dist/json/port.json +346 -0
  87. package/dist/json/saveAndContinue.json +98 -0
  88. package/dist/json/sublocation.json +859 -0
  89. package/dist/json/taskList.json +265 -0
  90. package/dist/json/team.json +17351 -0
  91. package/dist/json/terminal.json +81 -0
  92. package/dist/json/userProfile.data.json +21 -0
  93. package/dist/json/userProfile.json +276 -0
  94. package/dist/models/ComponentTypes.js +8 -0
  95. package/dist/models/PageAction.js +4 -1
  96. package/dist/models/TaskStates.js +10 -2
  97. package/dist/models/index.js +16 -1
  98. package/dist/setupTests.js +46 -0
  99. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  100. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +121 -0
  101. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +6 -2
  102. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +71 -0
  103. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +6 -2
  104. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +55 -0
  105. package/dist/utils/CheckYourAnswers/getCYARow.js +14 -11
  106. package/dist/utils/CheckYourAnswers/getCYARow.test.js +291 -0
  107. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +4 -1
  108. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +70 -0
  109. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +15 -10
  110. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +288 -0
  111. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +94 -36
  112. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +414 -0
  113. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -7
  114. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +486 -0
  115. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +11 -3
  116. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +346 -0
  117. package/dist/utils/CheckYourAnswers/showComponentCYA.js +19 -3
  118. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +143 -0
  119. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +5 -1
  120. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +40 -0
  121. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +53 -0
  122. package/dist/utils/CollectionPage/mergeCollectionPages.js +25 -17
  123. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +130 -0
  124. package/dist/utils/Component/addShowWhen.js +44 -0
  125. package/dist/utils/Component/addShowWhen.test.js +216 -0
  126. package/dist/utils/Component/applyToComponentTree.js +71 -0
  127. package/dist/utils/Component/applyToComponentTree.test.js +127 -0
  128. package/dist/utils/Component/cleanAttributes.js +8 -2
  129. package/dist/utils/Component/cleanAttributes.test.js +68 -0
  130. package/dist/utils/Component/elevateNestedComponents.js +4 -1
  131. package/dist/utils/Component/elevateNestedComponents.test.js +122 -0
  132. package/dist/utils/Component/getComponent.js +80 -11
  133. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +4 -4
  134. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +25 -24
  135. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +66 -5
  136. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +2 -2
  137. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +9 -7
  138. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +3 -3
  139. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +3 -3
  140. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +44 -0
  141. package/dist/utils/Component/getComponentTests/{getComponent.textarea.test.js → getComponent.multifile.test.js} +29 -21
  142. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +159 -83
  143. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +43 -0
  144. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +3 -3
  145. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +55 -5
  146. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +3 -9
  147. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +3 -3
  148. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +109 -0
  149. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +7 -7
  150. package/dist/utils/Component/getDefaultValue.js +4 -1
  151. package/dist/utils/Component/getDefaultValue.test.js +50 -0
  152. package/dist/utils/Component/index.js +2 -0
  153. package/dist/utils/Component/isEditable.js +2 -2
  154. package/dist/utils/Component/isEditable.test.js +43 -0
  155. package/dist/utils/Component/optionIsSelected.js +22 -0
  156. package/dist/utils/Component/optionIsSelected.test.js +42 -0
  157. package/dist/utils/Component/setupContainerComponentsPath.js +40 -0
  158. package/dist/utils/Component/setupContainerComponentsPath.test.js +78 -0
  159. package/dist/utils/Component/showComponent.test.js +156 -0
  160. package/dist/utils/Component/wrapInFormGroup.js +1 -1
  161. package/dist/utils/Condition/meetsAllConditions.js +1 -1
  162. package/dist/utils/Condition/meetsAllConditions.test.js +61 -0
  163. package/dist/utils/Condition/meetsCondition.js +74 -4
  164. package/dist/utils/Condition/meetsCondition.test.js +763 -0
  165. package/dist/utils/Condition/meetsOneCondition.js +1 -1
  166. package/dist/utils/Condition/meetsOneCondition.test.js +100 -0
  167. package/dist/utils/Condition/setupConditions.js +6 -3
  168. package/dist/utils/Condition/setupConditions.test.js +33 -0
  169. package/dist/utils/Container/getEditableComponents.test.js +135 -0
  170. package/dist/utils/Container/setupNesting.js +21 -2
  171. package/dist/utils/Container/setupNesting.test.js +145 -0
  172. package/dist/utils/Container/showContainer.test.js +178 -0
  173. package/dist/utils/Data/applyFormula.js +20 -11
  174. package/dist/utils/Data/applyFormula.test.js +263 -0
  175. package/dist/utils/Data/getAutocompleteSource.js +6 -2
  176. package/dist/utils/Data/getAutocompleteSource.test.js +352 -0
  177. package/dist/utils/Data/getDataPath.test.js +48 -0
  178. package/dist/utils/Data/getOptions.js +17 -3
  179. package/dist/utils/Data/getOptions.test.js +140 -0
  180. package/dist/utils/Data/getSourceData.js +2 -2
  181. package/dist/utils/Data/getSourceData.test.js +153 -0
  182. package/dist/utils/Data/refDataToOptions.js +4 -1
  183. package/dist/utils/Data/refDataToOptions.test.js +196 -0
  184. package/dist/utils/Data/setDataItem.test.js +110 -0
  185. package/dist/utils/Data/setupFormData.js +39 -16
  186. package/dist/utils/Data/setupFormData.test.js +410 -0
  187. package/dist/utils/Data/setupRefDataUrlForComponent.js +4 -1
  188. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +131 -0
  189. package/dist/utils/FormPage/applyConditionalProperties.js +35 -0
  190. package/dist/utils/FormPage/applyConditionalProperties.test.js +61 -0
  191. package/dist/utils/FormPage/getFormPage.js +5 -2
  192. package/dist/utils/FormPage/getFormPage.test.js +206 -0
  193. package/dist/utils/FormPage/getFormPages.js +4 -1
  194. package/dist/utils/FormPage/getFormPages.test.js +97 -0
  195. package/dist/utils/FormPage/getPageActions.js +8 -4
  196. package/dist/utils/FormPage/getPageActions.test.js +114 -0
  197. package/dist/utils/FormPage/getParagraphFromText.test.js +27 -0
  198. package/dist/utils/FormPage/index.js +2 -0
  199. package/dist/utils/FormPage/showFormPage.js +2 -2
  200. package/dist/utils/FormPage/showFormPage.test.js +180 -0
  201. package/dist/utils/FormPage/showFormPageCYA.js +1 -0
  202. package/dist/utils/FormPage/showFormPageCYA.test.js +28 -0
  203. package/dist/utils/FormPage/useComponent.js +29 -14
  204. package/dist/utils/FormPage/useComponent.test.js +167 -0
  205. package/dist/utils/Format/formatData.test.js +45 -0
  206. package/dist/utils/Format/formatDataForComponent.js +2 -1
  207. package/dist/utils/Format/formatDataForComponent.test.js +142 -0
  208. package/dist/utils/Format/formatDataForForm.js +4 -1
  209. package/dist/utils/Format/formatDataForForm.test.js +81 -0
  210. package/dist/utils/Format/formatDataForPage.test.js +99 -0
  211. package/dist/utils/Hub/getFormHub.test.js +105 -0
  212. package/dist/utils/Meta/documents/getDocuments.test.js +4 -1
  213. package/dist/utils/Meta/documents/index.js +2 -2
  214. package/dist/utils/Meta/documents/setDocumentsForField.js +31 -0
  215. package/dist/utils/Meta/documents/setDocumentsForField.test.js +59 -0
  216. package/dist/utils/Operate/checkValueIsTruthy.test.js +42 -0
  217. package/dist/utils/Operate/getFirstOf.js +31 -0
  218. package/dist/utils/Operate/getFirstOf.test.js +86 -0
  219. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +163 -0
  220. package/dist/utils/Operate/persistValueInFormData.js +2 -1
  221. package/dist/utils/Operate/persistValueInFormData.test.js +115 -0
  222. package/dist/utils/Operate/runPageOperations.js +3 -1
  223. package/dist/utils/Operate/runPageOperations.test.js +105 -0
  224. package/dist/utils/Operate/setValueInFormData.test.js +44 -0
  225. package/dist/utils/Operate/shouldRun.js +16 -13
  226. package/dist/utils/Operate/shouldRun.test.js +66 -0
  227. package/dist/utils/Validate/additional/conditionallyRequired.js +24 -0
  228. package/dist/utils/Validate/additional/conditionallyRequired.test.js +73 -0
  229. package/dist/utils/Validate/additional/index.js +13 -4
  230. package/dist/utils/Validate/additional/mustBeAfter.js +8 -6
  231. package/dist/utils/Validate/additional/mustBeAfter.test.js +15 -1
  232. package/dist/utils/Validate/additional/mustBeBefore.js +9 -5
  233. package/dist/utils/Validate/additional/mustBeBefore.test.js +14 -0
  234. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +1 -1
  235. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +6 -3
  236. package/dist/utils/Validate/additional/mustBeGreaterThan.js +22 -0
  237. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +56 -0
  238. package/dist/utils/Validate/additional/mustBeInTheFuture.js +1 -1
  239. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  240. package/dist/utils/Validate/additional/mustBeLessThan.js +7 -6
  241. package/dist/utils/Validate/additional/mustBeLessThan.test.js +11 -1
  242. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +9 -5
  243. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +10 -2
  244. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +1 -0
  245. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +4 -1
  246. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +19 -0
  247. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +36 -0
  248. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +29 -0
  249. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +52 -0
  250. package/dist/utils/Validate/additional/utils.js +18 -18
  251. package/dist/utils/Validate/index.js +6 -0
  252. package/dist/utils/Validate/validateCollection.js +20 -5
  253. package/dist/utils/Validate/validateCollection.test.js +125 -0
  254. package/dist/utils/Validate/validateComponent.js +36 -20
  255. package/dist/utils/Validate/validateComponent.test.js +365 -0
  256. package/dist/utils/Validate/validateContainer.js +9 -3
  257. package/dist/utils/Validate/validateContainer.test.js +75 -0
  258. package/dist/utils/Validate/validateDate.js +4 -3
  259. package/dist/utils/Validate/validateDate.test.js +114 -0
  260. package/dist/utils/Validate/validateEmail.js +14 -1
  261. package/dist/utils/Validate/validateEmail.test.js +74 -0
  262. package/dist/utils/Validate/validateMultifile.js +32 -0
  263. package/dist/utils/Validate/validateMultifile.test.js +47 -0
  264. package/dist/utils/Validate/validatePage.js +12 -6
  265. package/dist/utils/Validate/validatePage.test.js +472 -0
  266. package/dist/utils/Validate/validateRegex.js +2 -5
  267. package/dist/utils/Validate/validateRegex.test.js +42 -0
  268. package/dist/utils/Validate/validateRequired.js +2 -4
  269. package/dist/utils/Validate/validateRequired.test.js +63 -0
  270. package/dist/utils/Validate/validateTextArea.js +37 -0
  271. package/dist/utils/Validate/validateTextArea.test.js +42 -0
  272. package/dist/utils/Validate/validateTime.js +2 -2
  273. package/dist/utils/Validate/validateTime.test.js +59 -0
  274. package/dist/utils/index.js +4 -1
  275. package/package.json +35 -50
  276. package/dist/utils/Meta/documents/setDocumentForField.js +0 -29
  277. package/dist/utils/Meta/documents/setDocumentForField.test.js +0 -49
@@ -0,0 +1,859 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "id": 1,
5
+ "sublocation": "Freight (inward)",
6
+ "description": null,
7
+ "validfrom": "2020-03-08T23:59:00.000Z",
8
+ "validto": "2021-05-07T00:00:01.000Z",
9
+ "updatedby": null,
10
+ "uoflocation": null
11
+ },
12
+ {
13
+ "id": 2,
14
+ "sublocation": "Freight (outward)",
15
+ "description": null,
16
+ "validfrom": "2020-03-08T23:59:00.000Z",
17
+ "validto": "2021-05-07T00:00:01.000Z",
18
+ "updatedby": null,
19
+ "uoflocation": null
20
+ },
21
+ {
22
+ "id": 3,
23
+ "sublocation": "Tourist (inbound)",
24
+ "description": null,
25
+ "validfrom": "2020-03-08T23:59:00.000Z",
26
+ "validto": "2021-05-07T00:00:01.000Z",
27
+ "updatedby": null,
28
+ "uoflocation": null
29
+ },
30
+ {
31
+ "id": 4,
32
+ "sublocation": "Cargo Centre",
33
+ "description": null,
34
+ "validfrom": "2020-03-08T23:59:00.000Z",
35
+ "validto": "2021-05-07T00:00:01.000Z",
36
+ "updatedby": null,
37
+ "uoflocation": null
38
+ },
39
+ {
40
+ "id": 5,
41
+ "sublocation": "Lane",
42
+ "description": null,
43
+ "validfrom": "2020-03-08T23:59:00.000Z",
44
+ "validto": "2021-05-07T00:00:01.000Z",
45
+ "updatedby": null,
46
+ "uoflocation": null
47
+ },
48
+ {
49
+ "id": 6,
50
+ "sublocation": "Shed",
51
+ "description": null,
52
+ "validfrom": "2020-03-08T23:59:00.000Z",
53
+ "validto": "2021-05-07T00:00:01.000Z",
54
+ "updatedby": null,
55
+ "uoflocation": null
56
+ },
57
+ {
58
+ "id": 7,
59
+ "sublocation": "Tourist (outbound)",
60
+ "description": null,
61
+ "validfrom": "2020-03-08T23:59:00.000Z",
62
+ "validto": "2021-05-07T00:00:01.000Z",
63
+ "updatedby": null,
64
+ "uoflocation": null
65
+ },
66
+ {
67
+ "id": 8,
68
+ "sublocation": "Channels",
69
+ "description": null,
70
+ "validfrom": "2020-03-08T23:59:00.000Z",
71
+ "validto": "2021-05-07T00:00:01.000Z",
72
+ "updatedby": null,
73
+ "uoflocation": null
74
+ },
75
+ {
76
+ "id": 9,
77
+ "sublocation": "Baggage reclaim",
78
+ "description": null,
79
+ "validfrom": "2020-03-08T23:59:00.000Z",
80
+ "validto": "2021-05-07T00:00:01.000Z",
81
+ "updatedby": null,
82
+ "uoflocation": null
83
+ },
84
+ {
85
+ "id": 10,
86
+ "sublocation": "Warehouse",
87
+ "description": null,
88
+ "validfrom": "2020-03-08T23:59:00.000Z",
89
+ "validto": "2021-05-07T00:00:01.000Z",
90
+ "updatedby": null,
91
+ "uoflocation": null
92
+ },
93
+ {
94
+ "id": 11,
95
+ "sublocation": "Custody Suite",
96
+ "description": null,
97
+ "validfrom": "2020-03-08T23:59:00.000Z",
98
+ "validto": "2021-05-07T00:00:01.000Z",
99
+ "updatedby": null,
100
+ "uoflocation": null
101
+ },
102
+ {
103
+ "id": 12,
104
+ "sublocation": "Controlled Waiting Area (CWA)",
105
+ "description": null,
106
+ "validfrom": "2020-03-08T23:59:00.000Z",
107
+ "validto": "2021-05-07T00:00:01.000Z",
108
+ "updatedby": null,
109
+ "uoflocation": null
110
+ },
111
+ {
112
+ "id": 13,
113
+ "sublocation": "Short Term Holding Facility (STHF)",
114
+ "description": null,
115
+ "validfrom": "2020-03-08T23:59:00.000Z",
116
+ "validto": "2021-05-07T00:00:01.000Z",
117
+ "updatedby": null,
118
+ "uoflocation": null
119
+ },
120
+ {
121
+ "id": 14,
122
+ "sublocation": "Escort/transportation",
123
+ "description": null,
124
+ "validfrom": "2020-03-08T23:59:00.000Z",
125
+ "validto": "2021-05-07T00:00:01.000Z",
126
+ "updatedby": null,
127
+ "uoflocation": null
128
+ },
129
+ {
130
+ "id": 15,
131
+ "sublocation": "Tug haven",
132
+ "description": null,
133
+ "validfrom": "2020-03-26T23:59:00.000Z",
134
+ "validto": "2021-05-07T00:00:01.000Z",
135
+ "updatedby": null,
136
+ "uoflocation": null
137
+ },
138
+ {
139
+ "id": 16,
140
+ "sublocation": "Berths",
141
+ "description": null,
142
+ "validfrom": "2020-03-26T23:59:00.000Z",
143
+ "validto": "2021-05-07T00:00:01.000Z",
144
+ "updatedby": null,
145
+ "uoflocation": null
146
+ },
147
+ {
148
+ "id": 17,
149
+ "sublocation": "Cargo",
150
+ "description": null,
151
+ "validfrom": "2020-05-27T00:00:00.000Z",
152
+ "validto": "2021-05-07T00:00:01.000Z",
153
+ "updatedby": null,
154
+ "uoflocation": null
155
+ },
156
+ {
157
+ "id": 18,
158
+ "sublocation": "Departure Lounge",
159
+ "description": null,
160
+ "validfrom": "2020-05-27T00:00:00.000Z",
161
+ "validto": "2021-05-07T00:00:01.000Z",
162
+ "updatedby": null,
163
+ "uoflocation": null
164
+ },
165
+ {
166
+ "id": 19,
167
+ "sublocation": "Arrival Lounge",
168
+ "description": null,
169
+ "validfrom": "2020-05-27T00:00:00.000Z",
170
+ "validto": "2021-05-07T00:00:01.000Z",
171
+ "updatedby": null,
172
+ "uoflocation": null
173
+ },
174
+ {
175
+ "id": 20,
176
+ "sublocation": "Slipway",
177
+ "description": null,
178
+ "validfrom": "2020-08-05T00:00:00.000Z",
179
+ "validto": "2021-05-07T00:00:01.000Z",
180
+ "updatedby": null,
181
+ "uoflocation": null
182
+ },
183
+ {
184
+ "id": 21,
185
+ "sublocation": "Marina",
186
+ "description": null,
187
+ "validfrom": "2020-08-05T00:00:00.000Z",
188
+ "validto": "2021-05-07T00:00:01.000Z",
189
+ "updatedby": null,
190
+ "uoflocation": null
191
+ },
192
+ {
193
+ "id": 22,
194
+ "sublocation": "Habour",
195
+ "description": null,
196
+ "validfrom": "2020-08-05T00:00:00.000Z",
197
+ "validto": "2021-05-07T00:00:01.000Z",
198
+ "updatedby": null,
199
+ "uoflocation": null
200
+ },
201
+ {
202
+ "id": 23,
203
+ "sublocation": "Beach",
204
+ "description": null,
205
+ "validfrom": "2020-08-05T00:00:00.000Z",
206
+ "validto": "2021-05-07T00:00:01.000Z",
207
+ "updatedby": null,
208
+ "uoflocation": null
209
+ },
210
+ {
211
+ "id": 24,
212
+ "sublocation": "Coves",
213
+ "description": null,
214
+ "validfrom": "2020-08-05T00:00:00.000Z",
215
+ "validto": "2021-05-07T00:00:01.000Z",
216
+ "updatedby": null,
217
+ "uoflocation": null
218
+ },
219
+ {
220
+ "id": 25,
221
+ "sublocation": "Farm fields",
222
+ "description": null,
223
+ "validfrom": "2020-08-05T00:00:00.000Z",
224
+ "validto": "2021-05-07T00:00:01.000Z",
225
+ "updatedby": null,
226
+ "uoflocation": null
227
+ },
228
+ {
229
+ "id": 26,
230
+ "sublocation": "Freight (inward)",
231
+ "description": null,
232
+ "validfrom": "2021-05-07T00:00:01.000Z",
233
+ "validto": "2021-05-06T14:00:02.000Z",
234
+ "updatedby": "Ben Milnes",
235
+ "uoflocation": false
236
+ },
237
+ {
238
+ "id": 27,
239
+ "sublocation": "Freight (outward)",
240
+ "description": null,
241
+ "validfrom": "2021-05-07T00:00:01.000Z",
242
+ "validto": "2021-05-07T00:00:02.000Z",
243
+ "updatedby": "Ben Milnes",
244
+ "uoflocation": false
245
+ },
246
+ {
247
+ "id": 28,
248
+ "sublocation": "Tourist (inbound)",
249
+ "description": null,
250
+ "validfrom": "2021-05-07T00:00:01.000Z",
251
+ "validto": "2021-05-07T00:00:02.000Z",
252
+ "updatedby": "Ben Milnes",
253
+ "uoflocation": false
254
+ },
255
+ {
256
+ "id": 29,
257
+ "sublocation": "Cargo Centre",
258
+ "description": null,
259
+ "validfrom": "2021-05-07T00:00:01.000Z",
260
+ "validto": "2021-05-07T00:00:02.000Z",
261
+ "updatedby": "Ben Milnes",
262
+ "uoflocation": false
263
+ },
264
+ {
265
+ "id": 30,
266
+ "sublocation": "Lane",
267
+ "description": null,
268
+ "validfrom": "2021-05-07T00:00:01.000Z",
269
+ "validto": "2021-05-07T00:00:02.000Z",
270
+ "updatedby": "Ben Milnes",
271
+ "uoflocation": false
272
+ },
273
+ {
274
+ "id": 31,
275
+ "sublocation": "Shed",
276
+ "description": null,
277
+ "validfrom": "2021-05-07T00:00:01.000Z",
278
+ "validto": "2021-05-07T00:00:02.000Z",
279
+ "updatedby": "Ben Milnes",
280
+ "uoflocation": false
281
+ },
282
+ {
283
+ "id": 32,
284
+ "sublocation": "Tourist (outbound)",
285
+ "description": null,
286
+ "validfrom": "2021-05-07T00:00:01.000Z",
287
+ "validto": "2021-05-07T00:00:02.000Z",
288
+ "updatedby": "Ben Milnes",
289
+ "uoflocation": false
290
+ },
291
+ {
292
+ "id": 33,
293
+ "sublocation": "Channels",
294
+ "description": null,
295
+ "validfrom": "2021-05-07T00:00:01.000Z",
296
+ "validto": "2021-05-07T00:00:02.000Z",
297
+ "updatedby": "Ben Milnes",
298
+ "uoflocation": false
299
+ },
300
+ {
301
+ "id": 34,
302
+ "sublocation": "Baggage reclaim",
303
+ "description": null,
304
+ "validfrom": "2021-05-07T00:00:01.000Z",
305
+ "validto": "2021-05-07T00:00:02.000Z",
306
+ "updatedby": "Ben Milnes",
307
+ "uoflocation": true
308
+ },
309
+ {
310
+ "id": 35,
311
+ "sublocation": "Warehouse",
312
+ "description": null,
313
+ "validfrom": "2021-05-07T00:00:01.000Z",
314
+ "validto": "2021-05-07T00:00:02.000Z",
315
+ "updatedby": "Ben Milnes",
316
+ "uoflocation": false
317
+ },
318
+ {
319
+ "id": 36,
320
+ "sublocation": "Custody Suite",
321
+ "description": null,
322
+ "validfrom": "2021-05-07T00:00:01.000Z",
323
+ "validto": "2021-05-07T00:00:02.000Z",
324
+ "updatedby": "Ben Milnes",
325
+ "uoflocation": false
326
+ },
327
+ {
328
+ "id": 37,
329
+ "sublocation": "Controlled Waiting Area (CWA)",
330
+ "description": null,
331
+ "validfrom": "2021-05-07T00:00:01.000Z",
332
+ "validto": "2021-05-07T00:00:02.000Z",
333
+ "updatedby": "Ben Milnes",
334
+ "uoflocation": true
335
+ },
336
+ {
337
+ "id": 38,
338
+ "sublocation": "Short Term Holding Facility (STHF)",
339
+ "description": null,
340
+ "validfrom": "2021-05-07T00:00:01.000Z",
341
+ "validto": "2021-05-07T00:00:02.000Z",
342
+ "updatedby": "Ben Milnes",
343
+ "uoflocation": false
344
+ },
345
+ {
346
+ "id": 39,
347
+ "sublocation": "Escort/transportation",
348
+ "description": null,
349
+ "validfrom": "2021-05-07T00:00:01.000Z",
350
+ "validto": "2021-05-07T00:00:02.000Z",
351
+ "updatedby": "Ben Milnes",
352
+ "uoflocation": false
353
+ },
354
+ {
355
+ "id": 40,
356
+ "sublocation": "Tug haven",
357
+ "description": null,
358
+ "validfrom": "2021-05-07T00:00:01.000Z",
359
+ "validto": "2021-05-07T00:00:02.000Z",
360
+ "updatedby": "Ben Milnes",
361
+ "uoflocation": false
362
+ },
363
+ {
364
+ "id": 41,
365
+ "sublocation": "Berths / Allocation Lanes",
366
+ "description": null,
367
+ "validfrom": "2021-05-07T00:00:01.000Z",
368
+ "validto": "2021-05-07T00:00:02.000Z",
369
+ "updatedby": "Ben Milnes",
370
+ "uoflocation": true
371
+ },
372
+ {
373
+ "id": 42,
374
+ "sublocation": "Cargo",
375
+ "description": null,
376
+ "validfrom": "2021-05-07T00:00:01.000Z",
377
+ "validto": "2021-05-07T00:00:02.000Z",
378
+ "updatedby": "Ben Milnes",
379
+ "uoflocation": false
380
+ },
381
+ {
382
+ "id": 43,
383
+ "sublocation": "Departure Lounge",
384
+ "description": null,
385
+ "validfrom": "2021-05-07T00:00:01.000Z",
386
+ "validto": "2021-05-07T00:00:02.000Z",
387
+ "updatedby": "Ben Milnes",
388
+ "uoflocation": false
389
+ },
390
+ {
391
+ "id": 44,
392
+ "sublocation": "Arrival Lounge",
393
+ "description": null,
394
+ "validfrom": "2021-05-07T00:00:01.000Z",
395
+ "validto": "2021-05-07T00:00:02.000Z",
396
+ "updatedby": "Ben Milnes",
397
+ "uoflocation": false
398
+ },
399
+ {
400
+ "id": 45,
401
+ "sublocation": "Slipway",
402
+ "description": null,
403
+ "validfrom": "2021-05-07T00:00:01.000Z",
404
+ "validto": "2021-05-07T00:00:02.000Z",
405
+ "updatedby": "Ben Milnes",
406
+ "uoflocation": false
407
+ },
408
+ {
409
+ "id": 46,
410
+ "sublocation": "Marina",
411
+ "description": null,
412
+ "validfrom": "2021-05-07T00:00:01.000Z",
413
+ "validto": "2021-05-07T00:00:02.000Z",
414
+ "updatedby": "Ben Milnes",
415
+ "uoflocation": false
416
+ },
417
+ {
418
+ "id": 47,
419
+ "sublocation": "Harbour",
420
+ "description": null,
421
+ "validfrom": "2021-05-07T00:00:01.000Z",
422
+ "validto": "2021-05-07T00:00:02.000Z",
423
+ "updatedby": "Ben Milnes",
424
+ "uoflocation": true
425
+ },
426
+ {
427
+ "id": 48,
428
+ "sublocation": "Beach",
429
+ "description": null,
430
+ "validfrom": "2021-05-07T00:00:01.000Z",
431
+ "validto": "2021-05-07T00:00:02.000Z",
432
+ "updatedby": "Ben Milnes",
433
+ "uoflocation": false
434
+ },
435
+ {
436
+ "id": 49,
437
+ "sublocation": "Coves",
438
+ "description": null,
439
+ "validfrom": "2021-05-07T00:00:01.000Z",
440
+ "validto": "2021-05-07T00:00:02.000Z",
441
+ "updatedby": "Ben Milnes",
442
+ "uoflocation": false
443
+ },
444
+ {
445
+ "id": 50,
446
+ "sublocation": "Farm fields",
447
+ "description": null,
448
+ "validfrom": "2021-05-07T00:00:01.000Z",
449
+ "validto": "2021-05-07T00:00:02.000Z",
450
+ "updatedby": "Ben Milnes",
451
+ "uoflocation": false
452
+ },
453
+ {
454
+ "id": 51,
455
+ "sublocation": "Disembarkation (prior to PCP)",
456
+ "description": null,
457
+ "validfrom": "2021-05-07T00:00:01.000Z",
458
+ "validto": "2021-05-07T00:00:02.000Z",
459
+ "updatedby": "Ben Milnes",
460
+ "uoflocation": true
461
+ },
462
+ {
463
+ "id": 52,
464
+ "sublocation": "PCP",
465
+ "description": null,
466
+ "validfrom": "2021-05-07T00:00:01.000Z",
467
+ "validto": "2021-05-07T00:00:02.000Z",
468
+ "updatedby": "Ben Milnes",
469
+ "uoflocation": true
470
+ },
471
+ {
472
+ "id": 53,
473
+ "sublocation": "Customs channel/lanes",
474
+ "description": null,
475
+ "validfrom": "2021-05-07T00:00:01.000Z",
476
+ "validto": "2021-05-07T00:00:02.000Z",
477
+ "updatedby": "Ben Milnes",
478
+ "uoflocation": true
479
+ },
480
+ {
481
+ "id": 54,
482
+ "sublocation": "Further examination area",
483
+ "description": "Further examination area/Detention suite/Interview room",
484
+ "validfrom": "2021-05-07T00:00:01.000Z",
485
+ "validto": "2021-05-07T00:00:02.000Z",
486
+ "updatedby": "Ben Milnes",
487
+ "uoflocation": true
488
+ },
489
+ {
490
+ "id": 55,
491
+ "sublocation": "Check-in/security",
492
+ "description": "Check-in/security/ Others’ control area",
493
+ "validfrom": "2021-05-07T00:00:01.000Z",
494
+ "validto": "2021-05-07T00:00:02.000Z",
495
+ "updatedby": "Ben Milnes",
496
+ "uoflocation": true
497
+ },
498
+ {
499
+ "id": 56,
500
+ "sublocation": "Embarkation controls",
501
+ "description": null,
502
+ "validfrom": "2021-05-07T00:00:01.000Z",
503
+ "validto": "2021-05-07T00:00:02.000Z",
504
+ "updatedby": "Ben Milnes",
505
+ "uoflocation": true
506
+ },
507
+ {
508
+ "id": 57,
509
+ "sublocation": "GA/GM site",
510
+ "description": null,
511
+ "validfrom": "2021-05-07T00:00:01.000Z",
512
+ "validto": "2021-05-07T00:00:02.000Z",
513
+ "updatedby": "Ben Milnes",
514
+ "uoflocation": true
515
+ },
516
+ {
517
+ "id": 58,
518
+ "sublocation": "Docks/Containers/Freight area",
519
+ "description": null,
520
+ "validfrom": "2021-05-07T00:00:01.000Z",
521
+ "validto": "2021-05-07T00:00:02.000Z",
522
+ "updatedby": "Ben Milnes",
523
+ "uoflocation": true
524
+ },
525
+ {
526
+ "id": 59,
527
+ "sublocation": "Hospital/Hospital duties",
528
+ "description": null,
529
+ "validfrom": "2021-05-07T00:00:01.000Z",
530
+ "validto": "2021-05-07T00:00:02.000Z",
531
+ "updatedby": "Ben Milnes",
532
+ "uoflocation": true
533
+ },
534
+ {
535
+ "id": 60,
536
+ "sublocation": "Other",
537
+ "description": null,
538
+ "validfrom": "2021-05-07T00:00:01.000Z",
539
+ "validto": "2021-05-07T00:00:02.000Z",
540
+ "updatedby": "Ben Milnes",
541
+ "uoflocation": true
542
+ },
543
+ {
544
+ "id": 1,
545
+ "sublocation": "Freight (inward)",
546
+ "description": null,
547
+ "validfrom": "2021-05-07T00:00:03.000Z",
548
+ "validto": null,
549
+ "updatedby": "BethStephenson",
550
+ "uoflocation": false
551
+ },
552
+ {
553
+ "id": 2,
554
+ "sublocation": "Freight (outward)",
555
+ "description": null,
556
+ "validfrom": "2021-05-07T00:00:03.000Z",
557
+ "validto": null,
558
+ "updatedby": "BethStephenson",
559
+ "uoflocation": false
560
+ },
561
+ {
562
+ "id": 3,
563
+ "sublocation": "Tourist (inbound)",
564
+ "description": null,
565
+ "validfrom": "2021-05-07T00:00:03.000Z",
566
+ "validto": null,
567
+ "updatedby": "BethStephenson",
568
+ "uoflocation": false
569
+ },
570
+ {
571
+ "id": 4,
572
+ "sublocation": "Cargo Centre",
573
+ "description": null,
574
+ "validfrom": "2021-05-07T00:00:03.000Z",
575
+ "validto": null,
576
+ "updatedby": "BethStephenson",
577
+ "uoflocation": false
578
+ },
579
+ {
580
+ "id": 5,
581
+ "sublocation": "Lane",
582
+ "description": null,
583
+ "validfrom": "2021-05-07T00:00:03.000Z",
584
+ "validto": null,
585
+ "updatedby": "BethStephenson",
586
+ "uoflocation": false
587
+ },
588
+ {
589
+ "id": 6,
590
+ "sublocation": "Shed",
591
+ "description": null,
592
+ "validfrom": "2021-05-07T00:00:03.000Z",
593
+ "validto": null,
594
+ "updatedby": "BethStephenson",
595
+ "uoflocation": false
596
+ },
597
+ {
598
+ "id": 7,
599
+ "sublocation": "Tourist (outbound)",
600
+ "description": null,
601
+ "validfrom": "2021-05-07T00:00:03.000Z",
602
+ "validto": null,
603
+ "updatedby": "BethStephenson",
604
+ "uoflocation": false
605
+ },
606
+ {
607
+ "id": 8,
608
+ "sublocation": "Channels",
609
+ "description": null,
610
+ "validfrom": "2021-05-07T00:00:03.000Z",
611
+ "validto": null,
612
+ "updatedby": "BethStephenson",
613
+ "uoflocation": false
614
+ },
615
+ {
616
+ "id": 9,
617
+ "sublocation": "Baggage reclaim",
618
+ "description": null,
619
+ "validfrom": "2021-05-07T00:00:03.000Z",
620
+ "validto": null,
621
+ "updatedby": "BethStephenson",
622
+ "uoflocation": true
623
+ },
624
+ {
625
+ "id": 10,
626
+ "sublocation": "Warehouse",
627
+ "description": null,
628
+ "validfrom": "2021-05-07T00:00:03.000Z",
629
+ "validto": null,
630
+ "updatedby": "BethStephenson",
631
+ "uoflocation": false
632
+ },
633
+ {
634
+ "id": 11,
635
+ "sublocation": "Custody Suite",
636
+ "description": null,
637
+ "validfrom": "2021-05-07T00:00:03.000Z",
638
+ "validto": null,
639
+ "updatedby": "BethStephenson",
640
+ "uoflocation": false
641
+ },
642
+ {
643
+ "id": 12,
644
+ "sublocation": "Controlled Waiting Area (CWA)",
645
+ "description": null,
646
+ "validfrom": "2021-05-07T00:00:03.000Z",
647
+ "validto": null,
648
+ "updatedby": "BethStephenson",
649
+ "uoflocation": true
650
+ },
651
+ {
652
+ "id": 13,
653
+ "sublocation": "Short Term Holding Facility (STHF)",
654
+ "description": null,
655
+ "validfrom": "2021-05-07T00:00:03.000Z",
656
+ "validto": null,
657
+ "updatedby": "BethStephenson",
658
+ "uoflocation": false
659
+ },
660
+ {
661
+ "id": 14,
662
+ "sublocation": "Escort/transportation",
663
+ "description": null,
664
+ "validfrom": "2021-05-07T00:00:03.000Z",
665
+ "validto": null,
666
+ "updatedby": "BethStephenson",
667
+ "uoflocation": false
668
+ },
669
+ {
670
+ "id": 15,
671
+ "sublocation": "Tug haven",
672
+ "description": null,
673
+ "validfrom": "2021-05-07T00:00:03.000Z",
674
+ "validto": null,
675
+ "updatedby": "BethStephenson",
676
+ "uoflocation": false
677
+ },
678
+ {
679
+ "id": 16,
680
+ "sublocation": "Berths / Allocation Lanes",
681
+ "description": null,
682
+ "validfrom": "2021-05-07T00:00:03.000Z",
683
+ "validto": null,
684
+ "updatedby": "BethStephenson",
685
+ "uoflocation": true
686
+ },
687
+ {
688
+ "id": 17,
689
+ "sublocation": "Cargo",
690
+ "description": null,
691
+ "validfrom": "2021-05-07T00:00:03.000Z",
692
+ "validto": null,
693
+ "updatedby": "BethStephenson",
694
+ "uoflocation": false
695
+ },
696
+ {
697
+ "id": 18,
698
+ "sublocation": "Departure Lounge",
699
+ "description": null,
700
+ "validfrom": "2021-05-07T00:00:03.000Z",
701
+ "validto": null,
702
+ "updatedby": "BethStephenson",
703
+ "uoflocation": false
704
+ },
705
+ {
706
+ "id": 19,
707
+ "sublocation": "Arrival Lounge",
708
+ "description": null,
709
+ "validfrom": "2021-05-07T00:00:03.000Z",
710
+ "validto": null,
711
+ "updatedby": "BethStephenson",
712
+ "uoflocation": false
713
+ },
714
+ {
715
+ "id": 20,
716
+ "sublocation": "Slipway",
717
+ "description": null,
718
+ "validfrom": "2021-05-07T00:00:03.000Z",
719
+ "validto": null,
720
+ "updatedby": "BethStephenson",
721
+ "uoflocation": false
722
+ },
723
+ {
724
+ "id": 21,
725
+ "sublocation": "Marina",
726
+ "description": null,
727
+ "validfrom": "2021-05-07T00:00:03.000Z",
728
+ "validto": null,
729
+ "updatedby": "BethStephenson",
730
+ "uoflocation": false
731
+ },
732
+ {
733
+ "id": 22,
734
+ "sublocation": "Harbour",
735
+ "description": null,
736
+ "validfrom": "2021-05-07T00:00:03.000Z",
737
+ "validto": null,
738
+ "updatedby": "BethStephenson",
739
+ "uoflocation": true
740
+ },
741
+ {
742
+ "id": 23,
743
+ "sublocation": "Beach",
744
+ "description": null,
745
+ "validfrom": "2021-05-07T00:00:03.000Z",
746
+ "validto": null,
747
+ "updatedby": "BethStephenson",
748
+ "uoflocation": false
749
+ },
750
+ {
751
+ "id": 24,
752
+ "sublocation": "Coves",
753
+ "description": null,
754
+ "validfrom": "2021-05-07T00:00:03.000Z",
755
+ "validto": null,
756
+ "updatedby": "BethStephenson",
757
+ "uoflocation": false
758
+ },
759
+ {
760
+ "id": 25,
761
+ "sublocation": "Farm fields",
762
+ "description": null,
763
+ "validfrom": "2021-05-07T00:00:03.000Z",
764
+ "validto": null,
765
+ "updatedby": "BethStephenson",
766
+ "uoflocation": false
767
+ },
768
+ {
769
+ "id": 26,
770
+ "sublocation": "Disembarkation (prior to PCP)",
771
+ "description": null,
772
+ "validfrom": "2021-05-07T00:00:03.000Z",
773
+ "validto": null,
774
+ "updatedby": "BethStephenson",
775
+ "uoflocation": true
776
+ },
777
+ {
778
+ "id": 27,
779
+ "sublocation": "PCP",
780
+ "description": null,
781
+ "validfrom": "2021-05-07T00:00:03.000Z",
782
+ "validto": null,
783
+ "updatedby": "BethStephenson",
784
+ "uoflocation": true
785
+ },
786
+ {
787
+ "id": 28,
788
+ "sublocation": "Customs channel/lanes",
789
+ "description": null,
790
+ "validfrom": "2021-05-07T00:00:03.000Z",
791
+ "validto": null,
792
+ "updatedby": "BethStephenson",
793
+ "uoflocation": true
794
+ },
795
+ {
796
+ "id": 29,
797
+ "sublocation": "Further examination area",
798
+ "description": "Further examination area/Detention suite/Interview room",
799
+ "validfrom": "2021-05-07T00:00:03.000Z",
800
+ "validto": null,
801
+ "updatedby": "BethStephenson",
802
+ "uoflocation": true
803
+ },
804
+ {
805
+ "id": 30,
806
+ "sublocation": "Check-in/security",
807
+ "description": "Check-in/security/ Others’ control area",
808
+ "validfrom": "2021-05-07T00:00:03.000Z",
809
+ "validto": null,
810
+ "updatedby": "BethStephenson",
811
+ "uoflocation": true
812
+ },
813
+ {
814
+ "id": 31,
815
+ "sublocation": "Embarkation controls",
816
+ "description": null,
817
+ "validfrom": "2021-05-07T00:00:03.000Z",
818
+ "validto": null,
819
+ "updatedby": "BethStephenson",
820
+ "uoflocation": true
821
+ },
822
+ {
823
+ "id": 32,
824
+ "sublocation": "GA/GM site",
825
+ "description": null,
826
+ "validfrom": "2021-05-07T00:00:03.000Z",
827
+ "validto": null,
828
+ "updatedby": "BethStephenson",
829
+ "uoflocation": true
830
+ },
831
+ {
832
+ "id": 33,
833
+ "sublocation": "Docks/Containers/Freight area",
834
+ "description": null,
835
+ "validfrom": "2021-05-07T00:00:03.000Z",
836
+ "validto": null,
837
+ "updatedby": "BethStephenson",
838
+ "uoflocation": true
839
+ },
840
+ {
841
+ "id": 34,
842
+ "sublocation": "Hospital/Hospital duties",
843
+ "description": null,
844
+ "validfrom": "2021-05-07T00:00:03.000Z",
845
+ "validto": null,
846
+ "updatedby": "BethStephenson",
847
+ "uoflocation": true
848
+ },
849
+ {
850
+ "id": 35,
851
+ "sublocation": "Other",
852
+ "description": null,
853
+ "validfrom": "2021-05-07T00:00:03.000Z",
854
+ "validto": null,
855
+ "updatedby": "BethStephenson",
856
+ "uoflocation": true
857
+ }
858
+ ]
859
+ }