diff --git a/apps/openroadm/yangmodel/src/main/yang/org-openroadm-physical-types.yang b/apps/openroadm/yangmodel/src/main/yang/org-openroadm-physical-types.yang
new file mode 100644
index 0000000..100a443
--- /dev/null
+++ b/apps/openroadm/yangmodel/src/main/yang/org-openroadm-physical-types.yang
@@ -0,0 +1,117 @@
+module org-openroadm-physical-types {
+  namespace "http://org/openroadm/physical/types";
+  prefix org-openroadm-physical-types;
+
+  import org-openroadm-common-types {
+    prefix org-openroadm-common-types;
+  }
+  import ietf-yang-types {
+    prefix yang;
+  }
+
+  organization "Open ROADM MSA";
+  contact
+    "OpenROADM.org";
+  description
+    "YANG definitions of physical types.
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
+     AT&T Intellectual Property.  All other rights reserved.
+     
+     Redistribution and use in source and binary forms, with or without modification, 
+     are permitted provided that the following conditions are met:
+     
+     * Redistributions of source code must retain the above copyright notice, this 
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
+       without specific prior written permission.
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2016-10-14 {
+    description
+      "Version 1.2";
+  }
+
+  grouping node-info {
+    description
+      "Physical inventory data used by the node";
+    leaf vendor {
+      description
+        "Vendor of the equipment";
+      type string;
+      config false;
+      mandatory true;
+    }
+    leaf model {
+      type string;
+      description
+        "Physical resource model information.";
+      config false;
+      mandatory true;
+    }
+    leaf serial-id {
+      description
+        "Product Code for this physical resource";
+      type string;
+      config false;
+      mandatory true;
+    }
+  }
+
+  grouping common-info {
+    description
+      "Physical inventory data used by all other entities";
+    uses node-info;
+    leaf type {
+      description
+        "The specific type of this physical resource - ie the type of
+         shelf, type of circuit-pack, etc.";
+      type string;
+      config false;
+    }
+    leaf product-code {
+      description
+        "Product Code for this physical resource";
+      type string;
+      config false;
+    }
+    leaf manufacture-date {
+      description
+        "Manufactor date of physical resource";
+      type yang:date-and-time;
+      config false;
+    }
+    leaf clei {
+      description
+        "CLEI for this physical resource";
+      type string;
+      config false;
+    }
+    leaf hardware-version {
+      description
+        "The version of the hardware.";
+      type string;
+      config false;
+    }
+    leaf operational-state {
+      description
+        "Operational state of the physical resource";
+      type org-openroadm-common-types:state;
+      config false;
+    }
+  }
+}
