diff --git a/src/app/eiffel/parser.go b/src/app/eiffel/parser.go
index ccda7b23459dc4bbf552414b59f16e962f89ef9f..c0bbc2e01d77b4ce04fde937217478adb447379a 100644
--- a/src/app/eiffel/parser.go
+++ b/src/app/eiffel/parser.go
@@ -23,7 +23,7 @@ var (
 	ErrNotAString = errors.New("eiffel.parser.error.not-a-string")
 )
 
-// BasicTemplate is the basic EIFFEL template. It is parsable by implementing the template.ParsableTemplate interface.
+// BasicTemplate is the basic EIFFEL template.
 //
 // A basic template is a template that defines a set of rules and a set of variants.
 // Each variant contains rules that are to be applied to a requirement in the parsing step to validate the requirement.
@@ -182,7 +182,7 @@ func RuleParsers() *RuleParserProvider {
 	}
 }
 
-// Parse implements the template.ParsableTemplate interface for the BasicTemplate. It is used to parse requirements in the form of segments.
+// Parse is used to parse requirements in the form of segments.
 // Each segment is a part of the requirement that is to be parsed. For the EIFFEL basic template (EBT), each segment is an input from auto-generated
 // input field based on the rules defined in the template. Therefore, each segment will be validated by the corresponding rule.
 // It is recommended to validate the template before parsing requirements.
diff --git a/src/app/template/parser/parser.go b/src/app/template/parser/parser.go
index d8c3f66be64adccd7445442cf81a7d05d78839da..93adefbc5d44b7f986322a5f6f4d0e3f4c9770e0 100644
--- a/src/app/template/parser/parser.go
+++ b/src/app/template/parser/parser.go
@@ -1,9 +1,7 @@
 package parser
 
 import (
-	"context"
 	"github.com/org-harmony/harmony/src/core/trans"
-	"github.com/org-harmony/harmony/src/core/validation"
 )
 
 const (
@@ -54,12 +52,6 @@ type ParsingLog struct {
 	Downgrade bool
 }
 
-// ParsableTemplate is a template that can be validated and parsed.
-type ParsableTemplate interface {
-	Validate(v validation.V) []error
-	Parse(ctx context.Context, variation string, segments ...ParsingSegment) (ParsingResult, error)
-}
-
 // String on ParsingLog returns the message of the log.
 func (l ParsingLog) String() string {
 	return l.Message
diff --git a/src/app/template/service.go b/src/app/template/service.go
index 3c0777235abec9f4740ba10aee93e136415aa8ff..102099870e47d75acc5a8342960bb2d7a6367385 100644
--- a/src/app/template/service.go
+++ b/src/app/template/service.go
@@ -18,8 +18,7 @@ var (
 )
 
 // ValidateTemplateConfigEvent is published to validate a template config. It allows for other modules to validate
-// specific parts or entire templates based on their own rules. This is helpful if a module defines a template.ParsableTemplate
-// and the template should be validated against the rules of the parser.
+// specific parts or entire templates based on their own rules. This is helpful if a template should be validated against the rules of the parser.
 type ValidateTemplateConfigEvent struct {
 	Config         string
 	TemplateType   string
@@ -29,8 +28,7 @@ type ValidateTemplateConfigEvent struct {
 
 // ValidateTemplateToCreate validates the template to create against the template set's rules and publishes an event
 // to validate the template config. The event allows for other modules to validate specific parts or entire templates
-// based on their own rules. This is helpful if a module defines a template.ParsableTemplate and the template should be
-// validated against the rules of the parser.
+// based on their own rules. This is helpful if a template should be validated against the rules of the parser.
 func ValidateTemplateToCreate(toCreate *ToCreate, validator validation.V, em event.Manager, logger trace.Logger) ([]error, error) {
 	err, validationErrs := validator.ValidateStruct(toCreate)
 	if err != nil {
@@ -52,8 +50,7 @@ func ValidateTemplateToCreate(toCreate *ToCreate, validator validation.V, em eve
 
 // ValidateTemplateToUpdate validates the template to update against the template set's rules and publishes an event
 // to validate the template config. The event allows for other modules to validate specific parts or entire templates
-// based on their own rules. This is helpful if a module defines a template.ParsableTemplate and the template should be
-// validated against the rules of the parser.
+// based on their own rules. This is helpful if a template should be validated against the rules of the parser.
 func ValidateTemplateToUpdate(toUpdate *ToUpdate, validator validation.V, em event.Manager, logger trace.Logger) ([]error, error) {
 	err, validationErrs := validator.ValidateStruct(toUpdate)
 	if err != nil {