diff --git a/appc-parent/binding-parent/pom.xml b/appc-parent/binding-parent/pom.xml
new file mode 100644
index 0000000..15a12a9
--- /dev/null
+++ b/appc-parent/binding-parent/pom.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+============LICENSE_START=======================================================
+ONAP : APPC
+================================================================================
+Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+=============================================================================
+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.
+============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+    <groupId>org.onap.appc.parent</groupId>
+    <artifactId>binding-parent</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>1.0.3</version>
+        <relativePath />
+    </parent>
+
+    <properties>
+        <!-- VERSIONS -->
+
+
+        <cdp.pal.version>1.1.25.6-oss</cdp.pal.version>
+        <mariadb.client.version>2.1.1</mariadb.client.version>
+        <dmaap.client.version>1.1.5</dmaap.client.version>
+        <eelf.version>1.0.0</eelf.version>
+        <eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
+        <cadi-version>1.3.0</cadi-version>
+        <inno-version>1.2.11</inno-version>
+        <dme2-version>3.1.200</dme2-version>
+        <bundle.plugin.version>2.5.0</bundle.plugin.version>
+        <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
+        <equinox.osgi.version>3.8.1.v20120830-144521</equinox.osgi.version>
+        <apache.httpcomponents.version>4.4</apache.httpcomponents.version>
+        <commons.lang3.version>3.4</commons.lang3.version>
+        <antlr.version>4.5.1</antlr.version>
+        <logback.version>1.2.0</logback.version>
+        <toscalib.version>1.1.0</toscalib.version>
+        <sdc-client.version>1.3.0</sdc-client.version>
+        <jackson.yml.version>2.3.2</jackson.yml.version>
+
+        <!-- SONAR -->
+        <sonar.language>java</sonar.language>
+        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
+        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
+        <sonar.jacoco.reportPath>${project.build.directory}/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
+        <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
+        <sonar.projectVersion>${project.version}</sonar.projectVersion>
+
+        <salGeneratorPath>target/generated-sources/yang-gen-sal</salGeneratorPath>
+        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
+        <!-- ADDING TO SUPPORT APPC-PROVIDER-MODEL yang-gen-sal FOLDER GENERATION -->
+        <yang.file.directory>src/main/yang</yang.file.directory>
+        <features.file>features.xml</features.file>
+        <jmxGeneratorPath>target/generated-sources/yang-gen-config</jmxGeneratorPath>
+        <!-- <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath> -->
+
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        
+        <sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
+        <sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
+        <!-- <ccsdk.sli.adaptors.version>${ccsdk.sli.adaptors.version}</ccsdk.sli.adaptors.version> -->
+        <commons.collections.version>3.2.2</commons.collections.version>
+        <odl.sal.api.gen.plugin.version>0.11.1</odl.sal.api.gen.plugin.version>
+        <odl.yangtools.version>1.2.1</odl.yangtools.version>
+        <odl.mdsal.yang.binding.version>0.11.1</odl.mdsal.yang.binding.version>
+        <odl.mdsal.version>1.6.1</odl.mdsal.version>
+        <odl.mdsal.features.version>2.3.1</odl.mdsal.features.version>
+        <odl.yang.jmx.generator.version>0.7.1</odl.yang.jmx.generator.version>
+        <odl.ietf-yang-types.version>2010.09.24.11.1</odl.ietf-yang-types.version>
+        <odl.ietf-inet-types.version>2010.09.24.11.1</odl.ietf-inet-types.version>
+        <odl.controller.config.api.version>0.7.1</odl.controller.config.api.version>
+        <odl.commons.opendaylight.version>2.0.5</odl.commons.opendaylight.version>
+        <odl.karaf.empty.distro.version>1.8.3-Carbon</odl.karaf.empty.distro.version>
+
+    </properties>
+</project>
