diff --git a/build/yang-files/services/bbf-nt-service-profile.yang b/build/yang-files/services/bbf-nt-service-profile.yang
new file mode 100644
index 0000000..799bc93
--- /dev/null
+++ b/build/yang-files/services/bbf-nt-service-profile.yang
@@ -0,0 +1,134 @@
+module bbf-nt-service-profile {
+  yang-version 1.1;
+  namespace "urn:bbf:yang:bbf-nt-service-profile";
+  prefix bbf-nt-srv-prof;
+
+  import bbf-l2-access-attributes {
+    prefix bbf-l2access-attr;
+  }
+
+  organization
+    "Broadband Forum <https://www.broadband-forum.org>
+     Common YANG Work Area";
+  contact
+    "Comments or questions about this Broadband Forum YANG module
+     should be directed to <mailto:help@broadband-forum.org>.
+
+     Editor:      TBD
+
+     PS Leader:   TBD
+
+     WA Director: TBD";
+  description
+    "This module contains a collection of YANG definitions for
+     simplifying the Access Device Model as exposed over NBI of BAA.
+
+     Copyright (c) 2022, Broadband Forum
+
+     Redistribution and use in source and binary forms, with or
+     without modification, are permitted provided that the following
+     conditions are met:
+
+     1. Redistributions of source code must retain the above copyright
+        notice, this list of conditions and the following disclaimer.
+
+     2. 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.
+
+     3. Neither the name of the copyright holder 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 COPYRIGHT HOLDERS AND
+     CONTRIBUTORS \"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 SHALL THE COPYRIGHT HOLDER OR
+     CONTRIBUTORS 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.
+
+     The above license is used as a license under copyright only.
+     Please reference the Forum IPR Policy for patent licensing terms
+     <https://www.broadband-forum.org/ipr-policy>.
+
+     Any moral rights which are necessary to exercise under the above
+     license grant are also deemed granted under this license.
+
+     This version of this YANG module is part of TR-383a4; see
+     the TR itself for full legal notices.";
+
+  revision 2021-09-14 {
+    description
+      "Initial revision.";
+    reference
+      "";
+  }
+
+  typedef srv-profile-ref {
+    type leafref {
+      path
+        "/bbf-nt-srv-prof:service-profiles/bbf-nt-srv-prof:service-profile/bbf-nt-srv-prof:name";
+    }
+    description
+      "A reference to a service profile.";
+  }
+
+  container service-profiles {
+    description
+      "All config data for service profile.";
+    list service-profile {
+      key "name";
+      description
+        "List of service profiles.";
+      leaf name {
+        type string {
+          length "1..32";
+        }
+        description
+          "The service profile name.";
+      }
+      container ports {
+        description
+          "All config data for ports.";
+        list port {
+          key "name";
+          description
+            "List of the port attribute.";
+          leaf name {
+            type string {
+              length "1..64";
+            }
+            description
+              "This object indicates the name of the port.";
+          }
+          container port-vlans {
+            description
+              "All config data for port vlan.";
+            list port-vlan {
+              key "name";
+              description
+                "This is used to add a user-side port on the network termination to a VLAN";
+              leaf name {
+                type leafref {
+                  path
+                    "/bbf-l2access-attr:vlan-translation-profiles/bbf-l2access-attr:vlan-translation-profile/bbf-l2access-attr:name";
+                }
+                description
+                  "Name of the port VLAN.";
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
