diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
index d51c78fc21b821ae0f1563bfd0c7a9a2f9919d2c..6bbe0d0d90d6801238a00f8aabeca5a6636fb46a 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
@@ -17,6 +17,8 @@ import org.apache.http.HttpStatus;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
 import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.core.common.search.Preconditions;
+import org.opengroup.osdu.indexer.schema.converter.config.SchemaConverterConfig;
+import org.opengroup.osdu.indexer.schema.converter.config.SchemaConverterPropertiesConfig;
 import org.opengroup.osdu.indexer.schema.converter.tags.AllOfItem;
 import org.opengroup.osdu.indexer.schema.converter.tags.Definition;
 import org.opengroup.osdu.indexer.schema.converter.tags.Definitions;
@@ -28,50 +30,24 @@ import java.util.stream.Stream;
 public class PropertiesProcessor {
 
     private JaxRsDpsLog log;
+    private SchemaConverterConfig schemaConverterConfig;
 
     private static final String DEF_PREFIX = "#/definitions/";
 
-    private static final Set<String> SKIP_DEFINITIONS = new HashSet<>(
-            Arrays.asList("AbstractAnyCrsFeatureCollection.1.0.0",
-                          "anyCrsGeoJsonFeatureCollection"));
-
-    private static final Set<String> ARRAY_SUPPORTED_SIMPLE_TYPES = new HashSet<>(
-            Arrays.asList("boolean", "integer", "number", "string"));
-
-    private static final Map<String, String> SPEC_DEFINITION_TYPES = new HashMap<>();
-
-    private static final Map<String, String> PRIMITIVE_TYPES_MAP = new HashMap<>();
-
     private final Definitions definitions;
     private final String pathPrefix;
     private final String pathPrefixWithDot;
 
-    static {
-        SPEC_DEFINITION_TYPES.put("AbstractFeatureCollection.1.0.0", "core:dl:geoshape:1.0.0");
-        SPEC_DEFINITION_TYPES.put("core_dl_geopoint", "core:dl:geopoint:1.0.0");
-        SPEC_DEFINITION_TYPES.put("geoJsonFeatureCollection", "core:dl:geoshape:1.0.0");
-    }
-
-    static {
-        PRIMITIVE_TYPES_MAP.put("boolean", "bool");
-        PRIMITIVE_TYPES_MAP.put("number", "double");
-        PRIMITIVE_TYPES_MAP.put("date-time", "datetime");
-        PRIMITIVE_TYPES_MAP.put("date", "datetime");
-        PRIMITIVE_TYPES_MAP.put("time", "datetime");
-        PRIMITIVE_TYPES_MAP.put("int32", "int");
-        PRIMITIVE_TYPES_MAP.put("integer", "int");
-        PRIMITIVE_TYPES_MAP.put("int64", "long");
-    }
-
-    public PropertiesProcessor(Definitions definitions, JaxRsDpsLog log) {
-        this(definitions, null, log);
+    public PropertiesProcessor(Definitions definitions, JaxRsDpsLog log, SchemaConverterConfig schemaConverterConfig) {
+        this(definitions, null, log, schemaConverterConfig);
     }
 
-    public PropertiesProcessor(Definitions definitions, String pathPrefix, JaxRsDpsLog log) {
+    public PropertiesProcessor(Definitions definitions, String pathPrefix, JaxRsDpsLog log, SchemaConverterConfig schemaConverterConfig) {
         this.log = log;
         this.definitions = definitions;
         this.pathPrefix = pathPrefix;
         this.pathPrefixWithDot = Objects.isNull(pathPrefix)  || pathPrefix.isEmpty() ? "" : pathPrefix + ".";
+        this.schemaConverterConfig = schemaConverterConfig;
     }
 
     public Stream<Map<String, Object>> processItem(AllOfItem allOfItem) {
@@ -93,12 +69,12 @@ public class PropertiesProcessor {
 
         String definitionSubRef = ref.substring(DEF_PREFIX.length());
 
-        if (SKIP_DEFINITIONS.contains(definitionSubRef)) {
+        if (schemaConverterConfig.getSkippedDefinitions().contains(definitionSubRef)) {
             return Stream.empty();
         }
 
-        if (!Objects.isNull(SPEC_DEFINITION_TYPES.get(definitionSubRef))) {
-            return storageSchemaEntry(SPEC_DEFINITION_TYPES.get(definitionSubRef), pathPrefix);
+        if (!Objects.isNull(schemaConverterConfig.getSpecialDefinitionsMap().get(definitionSubRef))) {
+            return storageSchemaEntry(schemaConverterConfig.getSpecialDefinitionsMap().get(definitionSubRef), pathPrefix);
         }
 
         Definition definition = definitions.getDefinition(definitionSubRef);
@@ -120,7 +96,7 @@ public class PropertiesProcessor {
         }
 
         if ("array".equals(entry.getValue().getType())) {
-            if (ARRAY_SUPPORTED_SIMPLE_TYPES.contains(entry.getValue().getItems().getType())) {
+            if (schemaConverterConfig.getSupportedArrayTypes().contains(entry.getValue().getItems().getType())) {
                 return storageSchemaEntry("[]" + getTypeByDefinitionProperty(entry.getValue()), pathPrefixWithDot + entry.getKey());
             }
 
@@ -128,12 +104,13 @@ public class PropertiesProcessor {
         }
 
         if (!Objects.isNull(entry.getValue().getProperties())) {
-            PropertiesProcessor propertiesProcessor = new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey(), log);
+            PropertiesProcessor propertiesProcessor = new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey()
+                    , log, new SchemaConverterPropertiesConfig());
             return entry.getValue().getProperties().entrySet().stream().flatMap(propertiesProcessor::processPropertyEntry);
         }
 
         if (!Objects.isNull(entry.getValue().getRef())) {
-            return new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey(), log)
+            return new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey(), log, new SchemaConverterPropertiesConfig())
                     .processRef(entry.getValue().getRef());
         }
 
@@ -161,8 +138,8 @@ public class PropertiesProcessor {
 
         return !Objects.isNull(pattern) && pattern.startsWith("^srn") ? "link" :
                 !Objects.isNull(itemsPattern) && itemsPattern.startsWith("^srn") ? "link" :
-                !Objects.isNull(format)  ? PRIMITIVE_TYPES_MAP.getOrDefault(format, format) :
-                        !Objects.isNull(itemsType) ? PRIMITIVE_TYPES_MAP.getOrDefault(itemsType, itemsType) :
-                                PRIMITIVE_TYPES_MAP.getOrDefault(type, type);
+                !Objects.isNull(format)  ? schemaConverterConfig.getPrimitiveTypesMap().getOrDefault(format, format) :
+                        !Objects.isNull(itemsType) ? schemaConverterConfig.getPrimitiveTypesMap().getOrDefault(itemsType, itemsType) :
+                                schemaConverterConfig.getPrimitiveTypesMap().getOrDefault(type, type);
     }
 }
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java
index 925e1579948572b5bf0b27a03973f8763ad813f8..98141b5d0ae7725ba5f3c7c5db788b11c39fa53b 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java
@@ -20,6 +20,7 @@ import org.apache.http.HttpStatus;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
 import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.core.common.search.Preconditions;
+import org.opengroup.osdu.indexer.schema.converter.config.SchemaConverterConfig;
 import org.opengroup.osdu.indexer.schema.converter.interfaces.SchemaToStorageFormat;
 import org.opengroup.osdu.indexer.schema.converter.tags.PropertiesData;
 import org.opengroup.osdu.indexer.schema.converter.tags.SchemaRoot;
@@ -36,15 +37,16 @@ import java.util.stream.Collectors;
 public class SchemaToStorageFormatImpl implements SchemaToStorageFormat {
 
     private ObjectMapper objectMapper;
-
     private JaxRsDpsLog log;
+    private SchemaConverterConfig schemaConverterConfig;
 
     @Inject
-    public SchemaToStorageFormatImpl(ObjectMapper objectMapper, JaxRsDpsLog log) {
+    public SchemaToStorageFormatImpl(ObjectMapper objectMapper, JaxRsDpsLog log, SchemaConverterConfig schemaConverterConfig) {
         Preconditions.checkNotNull(objectMapper, "objectMapper cannot be null");
 
         this.objectMapper = objectMapper;
         this.log = log;
+        this.schemaConverterConfig = schemaConverterConfig;
     }
 
     @Override
@@ -82,7 +84,7 @@ public class SchemaToStorageFormatImpl implements SchemaToStorageFormat {
         Preconditions.checkNotNull(objectMapper, "schemaServiceSchema cannot be null");
         Preconditions.checkNotNullOrEmpty(kind, "kind cannot be null or empty");
 
-        PropertiesProcessor propertiesProcessor = new PropertiesProcessor(schemaServiceSchema.getDefinitions(), log);
+        PropertiesProcessor propertiesProcessor = new PropertiesProcessor(schemaServiceSchema.getDefinitions(), log, schemaConverterConfig);
 
         final List<Map<String, Object>> storageSchemaItems = new ArrayList<>();
         if (schemaServiceSchema.getProperties() != null) {
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterConfig.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..539b2bdfd16b67422e680d7b3b58ac64948937e4
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterConfig.java
@@ -0,0 +1,14 @@
+package org.opengroup.osdu.indexer.schema.converter.config;
+
+import java.util.Map;
+import java.util.Set;
+
+/*
+Provides configuration for the schema converter
+ */
+public interface SchemaConverterConfig {
+    Set<String> getSkippedDefinitions();
+    Set<String> getSupportedArrayTypes();
+    Map<String, String> getSpecialDefinitionsMap();
+    Map<String, String> getPrimitiveTypesMap();
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterPropertiesConfig.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterPropertiesConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..f530c842ba0bae004bc3e54e080cca143edb88c9
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/config/SchemaConverterPropertiesConfig.java
@@ -0,0 +1,54 @@
+package org.opengroup.osdu.indexer.schema.converter.config;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.*;
+
+@Configuration
+@ConfigurationProperties(prefix = "schema.converter")
+@Getter
+@Setter
+public class SchemaConverterPropertiesConfig implements SchemaConverterConfig {
+
+    private Set<String> skippedDefinitions = getDefaultSkippedDefinitions();
+    private Set<String> supportedArrayTypes = getDefaultSupportedArrayTypes();
+    private Map<String, String> specialDefinitionsMap = getDefaultSpecialDefinitionsMap();
+    private Map<String, String> primitiveTypesMap = getDefaultPrimitiveTypesMap();
+
+    private Set<String> getDefaultSkippedDefinitions() {
+        return new HashSet<>(Arrays.asList("AbstractAnyCrsFeatureCollection.1.0.0",
+                "anyCrsGeoJsonFeatureCollection"));
+    }
+
+    private Set<String> getDefaultSupportedArrayTypes() {
+        return new HashSet<>(Arrays.asList("boolean", "integer", "number", "string"));
+    }
+
+    private Map<String, String> getDefaultSpecialDefinitionsMap() {
+        Map<String, String> defaultSpecialDefinitions = new HashMap<>();
+
+        defaultSpecialDefinitions.put("AbstractFeatureCollection.1.0.0", "core:dl:geoshape:1.0.0");
+        defaultSpecialDefinitions.put("core_dl_geopoint", "core:dl:geopoint:1.0.0");
+        defaultSpecialDefinitions.put("geoJsonFeatureCollection", "core:dl:geoshape:1.0.0");
+
+        return defaultSpecialDefinitions;
+    }
+
+    private Map<String, String> getDefaultPrimitiveTypesMap() {
+        Map<String, String> defaultPrimitiveTypesMap = new HashMap<>();
+
+        defaultPrimitiveTypesMap.put("boolean", "bool");
+        defaultPrimitiveTypesMap.put("number", "double");
+        defaultPrimitiveTypesMap.put("date-time", "datetime");
+        defaultPrimitiveTypesMap.put("date", "datetime");
+        defaultPrimitiveTypesMap.put("time", "datetime");
+        defaultPrimitiveTypesMap.put("int32", "int");
+        defaultPrimitiveTypesMap.put("integer", "int");
+        defaultPrimitiveTypesMap.put("int64", "long");
+
+        return defaultPrimitiveTypesMap;
+    }
+}
diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessorTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessorTest.java
index ada399a252807850696efe32e900649422137902..600af3b43e448a1ac1c9603cf4007a546e333e4c 100644
--- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessorTest.java
+++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessorTest.java
@@ -18,6 +18,7 @@ import org.junit.Test;
 import org.mockito.Mockito;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
 import org.opengroup.osdu.core.common.model.http.AppException;
+import org.opengroup.osdu.indexer.schema.converter.config.SchemaConverterPropertiesConfig;
 import org.opengroup.osdu.indexer.schema.converter.tags.AllOfItem;
 import org.opengroup.osdu.indexer.schema.converter.tags.Definition;
 import org.opengroup.osdu.indexer.schema.converter.tags.Definitions;
@@ -38,14 +39,15 @@ public class PropertiesProcessorTest {
     public void should_fail_on_unknown_reference_definition() {
         JaxRsDpsLog log = Mockito.mock(JaxRsDpsLog.class);
 
-        new PropertiesProcessor(Mockito.mock(Definitions.class), log).processRef(DEFINITIONS_PREFIX + "unknownDefinition");
+        new PropertiesProcessor(Mockito.mock(Definitions.class), log, new SchemaConverterPropertiesConfig())
+                .processRef(DEFINITIONS_PREFIX + "unknownDefinition");
     }
 
     @Test
     public void should_not_process_special_reference() {
         JaxRsDpsLog log = Mockito.mock(JaxRsDpsLog.class);
 
-        assertFalse(new PropertiesProcessor(null, log)
+        assertFalse(new PropertiesProcessor(null, log, new SchemaConverterPropertiesConfig())
                 .processRef(DEFINITIONS_PREFIX + "anyCrsGeoJsonFeatureCollection").findAny().isPresent());
     }
 
@@ -53,7 +55,7 @@ public class PropertiesProcessorTest {
     public void should_return_special_type() {
         JaxRsDpsLog log = Mockito.mock(JaxRsDpsLog.class);
 
-        String res = new PropertiesProcessor(null, PATH, log)
+        String res = new PropertiesProcessor(null, PATH, log, new SchemaConverterPropertiesConfig())
                 .processRef(DEFINITIONS_PREFIX + "core_dl_geopoint").map(Object::toString).reduce("", String::concat);
         assertEquals("{path=" + PATH + ", kind=core:dl:geopoint:1.0.0}", res);
     }
@@ -77,7 +79,7 @@ public class PropertiesProcessorTest {
         String defName = "defName";
         definitions.add(defName, definition);
 
-        String res = new PropertiesProcessor(definitions, PATH, log)
+        String res = new PropertiesProcessor(definitions, PATH, log, new SchemaConverterPropertiesConfig())
                 .processRef(DEFINITIONS_PREFIX + defName).map(Object::toString).reduce("", String::concat);
         assertEquals(res, "{path="+ PATH + "." + propertyName + ", kind=string}");
     }
@@ -95,7 +97,7 @@ public class PropertiesProcessorTest {
         properties.put(PATH, property);
         allOfItem.setProperties(properties);
 
-        String res = new PropertiesProcessor(Mockito.mock(Definitions.class), log)
+        String res = new PropertiesProcessor(Mockito.mock(Definitions.class), log, new SchemaConverterPropertiesConfig())
                 .processItem(allOfItem).map(Object::toString).reduce("", String::concat);
         assertEquals("{path=" + PATH + ", kind=int}", res);
     }
diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java
index 98ed7abda988be64377f758158c4ddba009900a1..f43d626175c5c367da75cc7f107c43766ae66c5a 100644
--- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java
+++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java
@@ -17,14 +17,12 @@ package org.opengroup.osdu.indexer.schema.converter;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.indexer.schema.converter.config.SchemaConverterPropertiesConfig;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
 
-import java.io.File;
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.nio.charset.StandardCharsets;
@@ -46,7 +44,8 @@ public class SchemaToStorageFormatImplTest {
     private JaxRsDpsLog jaxRsDpsLog = Mockito.mock(JaxRsDpsLog.class);
     
     private SchemaToStorageFormatImpl schemaToStorageFormatImpl
-            = new SchemaToStorageFormatImpl(objectMapper, jaxRsDpsLog);
+            = new SchemaToStorageFormatImpl(objectMapper, jaxRsDpsLog
+                    , new SchemaConverterPropertiesConfig());
 
     @Test
     public void firstSchemaPassed() {
diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaServiceImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaServiceImplTest.java
index 92e94444b40be8da5b77e1cb41ee82b048193927..b95b152c5568bad41bc4f41c7fee775d52d30980 100644
--- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaServiceImplTest.java
+++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaServiceImplTest.java
@@ -44,7 +44,7 @@ public class SchemaServiceImplTest {
     private JaxRsDpsLog jaxRsDpsLog = Mockito.mock(JaxRsDpsLog.class);
 
     @Spy
-    private SchemaToStorageFormatImpl schemaToStorageFormat = new SchemaToStorageFormatImpl(objectMapper, jaxRsDpsLog);
+    private SchemaToStorageFormatImpl schemaToStorageFormat = new SchemaToStorageFormatImpl(objectMapper, jaxRsDpsLog, null);
 
     @Mock
     private IUrlFetchService urlFetchService;
diff --git a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/SchemaServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/SchemaServiceTest.java
index 6f901146164ffd90edc144095f0f576f1e36da43..d683fe78b9311e331e181cc83593fe5571dc1c7f 100644
--- a/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/SchemaServiceTest.java
+++ b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/SchemaServiceTest.java
@@ -47,7 +47,7 @@ public class SchemaServiceTest {
     private JaxRsDpsLog log = Mockito.mock(JaxRsDpsLog.class);
 
     @Spy
-    private SchemaToStorageFormatImpl schemaToStorageFormatImpl = new SchemaToStorageFormatImpl(objectMapper, log);
+    private SchemaToStorageFormatImpl schemaToStorageFormatImpl = new SchemaToStorageFormatImpl(objectMapper, log, null);
     @Mock
     private IUrlFetchService urlFetchService;
     @Mock