+
+
+
\ No newline at end of file
diff --git a/CageUI/resources/queries/cageui/layout_history.query.xml b/CageUI/resources/queries/cageui/layout_history.query.xml
index 055305309..4fe8a4828 100644
--- a/CageUI/resources/queries/cageui/layout_history.query.xml
+++ b/CageUI/resources/queries/cageui/layout_history.query.xml
@@ -26,14 +26,7 @@
true
-
-
- cageui
- cages
- objectid
- cage_number
-
-
+ integer
diff --git a/CageUI/resources/schemas/cageui.xml b/CageUI/resources/schemas/cageui.xml
index d98fe3b9f..ddc5d3a04 100644
--- a/CageUI/resources/schemas/cageui.xml
+++ b/CageUI/resources/schemas/cageui.xml
@@ -198,4 +198,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CageUI/resources/schemas/dbscripts/postgresql/cageui-26.001-26.002.sql b/CageUI/resources/schemas/dbscripts/postgresql/cageui-26.001-26.002.sql
new file mode 100644
index 000000000..0e58c0893
--- /dev/null
+++ b/CageUI/resources/schemas/dbscripts/postgresql/cageui-26.001-26.002.sql
@@ -0,0 +1,75 @@
+/*
+ *
+ * * Copyright (c) 2026 Board of Regents of the University of Wisconsin System
+ * *
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ *
+ */
+
+DROP TABLE IF EXISTS cageui.ghost_cages;
+CREATE TABLE cageui.ghost_cages
+(
+ rowid SERIAL NOT NULL,
+ cage_objectid VARCHAR NOT NULL,
+ positionid INTEGER,
+ rack_group INTEGER NOT NULL,
+ rack_objectid VARCHAR NOT NULL,
+ group_rotation INTEGER NOT NULL,
+ cage INTEGER NOT NULL,
+ container entityid NOT NULL,
+ createdby userid,
+ created TIMESTAMP,
+ modifiedby userid,
+ modified TIMESTAMP,
+ CONSTRAINT PK_ghost_cages PRIMARY KEY (rowid),
+ CONSTRAINT FK_ghost_cages_container FOREIGN KEY (container) REFERENCES core.Containers (EntityId)
+);
+
+insert into ehr_lookups.lookups (set_name,container,value, category, title, description)
+select setname, container, 8 as value, 'Caging' as category, 'Ghost Cage' as title, 4 as description from ehr_lookups.lookup_sets where setname='cageui_item_types';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 'ghostCage' as value, '/cageui/static/cage.svg' as title from ehr_lookups.lookup_sets where setname='cageui_svg_urls';
+
+INSERT INTO ehr_lookups.lookup_sets (setname, label, description, keyField, container)
+select 'adoption_status' as setname,
+ 'Adoption Status Field Values' as label,
+ 'List of possible adoption progress statuses' as description,
+ 'value' as keyField,
+ container from ehr_lookups.lookup_sets where setname='ancestry';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 0 as value, 'Start' as title from ehr_lookups.lookup_sets where setname='adoption_status';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 1 as value, 'End' as title from ehr_lookups.lookup_sets where setname='adoption_status';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 2 as value, 'Pause' as title from ehr_lookups.lookup_sets where setname='adoption_status';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 3 as value, 'Resume' as title from ehr_lookups.lookup_sets where setname='adoption_status';
+
+
+INSERT INTO ehr_lookups.lookup_sets (setname, label, description, keyField, container)
+select 'adoption_results' as setname,
+ 'Adoption Result Field Values' as label,
+ 'List of possible adoption results' as description,
+ 'value' as keyField,
+ container from ehr_lookups.lookup_sets where setname='ancestry';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 0 as value, 'Success' as title from ehr_lookups.lookup_sets where setname='adoption_results';
+
+insert into ehr_lookups.lookups (set_name,container,value, title)
+select setname, container, 1 as value, 'Failure' as title from ehr_lookups.lookup_sets where setname='adoption_results';
\ No newline at end of file
diff --git a/CageUI/resources/web/CageUI/static/legend.svg b/CageUI/resources/web/CageUI/static/legend.svg
index 51a97407f..c8ca0da37 100644
--- a/CageUI/resources/web/CageUI/static/legend.svg
+++ b/CageUI/resources/web/CageUI/static/legend.svg
@@ -18,44 +18,46 @@
-->