diff --git a/models/tapi/src/main/yang/tapi-path-computation.yang b/models/tapi/src/main/yang/tapi-path-computation.yang
new file mode 100644
index 0000000..cf62669
--- /dev/null
+++ b/models/tapi/src/main/yang/tapi-path-computation.yang
@@ -0,0 +1,277 @@
+module tapi-path-computation {
+    namespace "urn:onf:params:xml:ns:yang:tapi-path-computation";
+    prefix tapi-path-computation;
+    import tapi-topology {
+        prefix tapi-topology;
+    }
+    import tapi-common {
+        prefix tapi-common;
+    }
+    organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
+    contact "
+        WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
+        WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
+        WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
+        Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
+    description "none";
+    revision 2017-05-31 {
+        description "TAPI SDK 2.0-alpha";
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
+    }
+    augment "/tapi-common:context" {
+        uses path-computation-context;
+        description "Augments the base TAPI Context with PathComputationService information";
+    }
+    /***********************
+    * package object-classes
+    **********************/ 
+        grouping path {
+            leaf-list link {
+                type leafref {
+                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid';
+                }
+                config false;
+                min-elements 1;
+                description "none";
+            }
+            container routing-constraint {
+                config false;
+                uses routing-constraint;
+                description "none";
+            }
+            uses tapi-common:resource-spec;
+            description "Path is described by an ordered list of TE Links. A TE Link is defined by a pair of Node/NodeEdgePoint IDs. A Connection is realized by concatenating link resources (associated with a Link) and the lower-level connections (cross-connections) in the different nodes";
+        }
+        grouping path-service-end-point {
+            leaf service-interface-point {
+                type leafref {
+                    path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
+                }
+                config false;
+                description "none";
+            }
+            leaf role {
+                type tapi-common:port-role;
+                config false;
+                description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ";
+            }
+            leaf direction {
+                type tapi-common:port-direction;
+                config false;
+                description "The orientation of defined flow at the EndPoint.";
+            }
+            leaf service-layer {
+                type tapi-common:layer-protocol-name;
+                config false;
+                description "none";
+            }
+            uses tapi-common:local-class;
+            description "The association of the FC to LTPs is made via EndPoints.
+                The EndPoint (EP) object class models the access to the FC function. 
+                The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.  
+                In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC. 
+                It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
+                The EP replaces the Protection Unit of a traditional protection model. 
+                The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";
+        }
+        grouping path-computation-service {
+            leaf-list path {
+                type leafref {
+                    path '/tapi-common:context/tapi-path-computation:path/tapi-path-computation:uuid';
+                }
+                config false;
+                min-elements 1;
+                description "none";
+            }
+            list end-point {
+                key 'local-id';
+                min-elements 2;
+                max-elements 2;
+                uses path-service-end-point;
+                description "none";
+            }
+            container routing-constraint {
+                uses routing-constraint;
+                description "none";
+            }
+            container objective-function {
+                uses path-objective-function;
+                description "none";
+            }
+            container optimization-constraint {
+                uses path-optimization-constraint;
+                description "none";
+            }
+            uses tapi-common:service-spec;
+            description "none";
+        }
+        grouping path-objective-function {
+            leaf bandwidth-optimization {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            leaf concurrent-paths {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            leaf cost-optimization {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            leaf link-utilization {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            leaf resource-sharing {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            uses tapi-common:local-class;
+            description "none";
+        }
+        grouping path-optimization-constraint {
+            leaf traffic-interruption {
+                type tapi-common:directive-value;
+                config false;
+                description "none";
+            }
+            uses tapi-common:local-class;
+            description "none";
+        }
+        grouping routing-constraint {
+            container requested-capacity {
+                config false;
+                uses tapi-common:capacity;
+                description "none";
+            }
+            leaf service-level {
+                type string;
+                config false;
+                description "An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability";
+            }
+            leaf-list path-layer {
+                type tapi-common:layer-protocol-name;
+                config false;
+                description "none";
+            }
+            list cost-characteristic {
+                key 'cost-name';
+                config false;
+                uses tapi-topology:cost-characteristic;
+                description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
+            }
+            list latency-characteristic {
+                key 'traffic-property-name';
+                config false;
+                uses tapi-topology:latency-characteristic;
+                description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
+            }
+            leaf-list include-topology {
+                type leafref {
+                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
+                }
+                config false;
+                description "none";
+            }
+            leaf-list avoid-topology {
+                type leafref {
+                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
+                }
+                config false;
+                description "none";
+            }
+            uses tapi-common:local-class;
+            description "none";
+        }
+        grouping path-computation-context {
+            list path-comp-service {
+                key 'uuid';
+                uses path-computation-service;
+                description "none";
+            }
+            list path {
+                key 'uuid';
+                config false;
+                uses path;
+                description "none";
+            }
+            description "none";
+        }
+
+    /***********************
+    * package interfaces
+    **********************/ 
+        rpc compute-p-2-p-path {
+            description "none";
+            input {
+                list sep {
+                    min-elements 2;
+                    max-elements 2;
+                    uses path-service-end-point;
+                    description "none";
+                }
+                container routing-constraint {
+                    uses routing-constraint;
+                    description "none";
+                }
+                container objective-function {
+                    uses path-objective-function;
+                    description "none";
+                }
+            }
+            output {
+                container service {
+                    uses path-computation-service;
+                    description "none";
+                }
+            }
+        }
+        rpc optimize-p-2-p-path {
+            description "none";
+            input {
+                leaf path-id-or-name {
+                    type string;
+                    description "none";
+                }
+                container routing-constraint {
+                    uses routing-constraint;
+                    description "none";
+                }
+                container optimization-constraint {
+                    uses path-optimization-constraint;
+                    description "none";
+                }
+                container objective-function {
+                    uses path-objective-function;
+                    description "none";
+                }
+            }
+            output {
+                container service {
+                    uses path-computation-service;
+                    description "none";
+                }
+            }
+        }
+        rpc delete-p-2-p-path {
+            description "none";
+            input {
+                leaf path-id-or-name {
+                    type string;
+                    description "none";
+                }
+            }
+            output {
+                container service {
+                    uses path-computation-service;
+                    description "none";
+                }
+            }
+        }
+
+}
