diff --git a/address_utils/address_utils.go b/address_utils/address_utils.go
index 2cf7ff2afbcac70af2aa20d9e1fe54e0de4b9b69..a1f2730a283e3d640cb7321f48ca34d4dcbd854d 100644
--- a/address_utils/address_utils.go
+++ b/address_utils/address_utils.go
@@ -9,15 +9,25 @@ import (
 	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/string_utils"
 )
 
+var southAfricaVariations = []string{
+	"ZA",
+	"South Africa",
+	"Suid-Afrika",
+	"Suid Afrika",
+	"Iningizimu Afrika",
+	"Mzantsi Afrika",
+	"Afrika Boroa",
+	"Africa Kusini",
+}
+
 type Province struct {
-	Code  string
-	Names []string
+	Names       []string
+	DisplayName string
 }
 
-// Provinces largely follows the ISO standard: https://en.wikipedia.org/wiki/ISO_3166-2:ZA
-var Provinces = []Province{
-	{
-		Code: "EC",
+var Provinces = map[string]Province{
+	"EC": {
+		DisplayName: "Eastern Cape",
 		Names: []string{
 			"Eastern Cape",
 			"Eastern-Cape",
@@ -33,8 +43,8 @@ var Provinces = []Province{
 			"Mpumalanga-Koloni",
 		},
 	},
-	{
-		Code: "FS",
+	"FS": {
+		DisplayName: "Free State",
 		Names: []string{
 			"Free State",
 			"Freestate",
@@ -48,18 +58,21 @@ var Provinces = []Province{
 			"Freyisitata",
 		},
 	},
-	{
-		Code: "GP",
+	"GP": {
+		DisplayName: "Gauteng",
 		Names: []string{
+			"GT",
 			"Gauteng",
 			"iGauteng",
 			"Kgauteng",
 			"Rhawuti",
 		},
 	},
-	{
-		Code: "KZN",
+	"KZN": {
+		DisplayName: "KwaZulu-Natal",
 		Names: []string{
+			"NT",
+			"NL",
 			"KwaZulu-Natal",
 			"KwaZulu Natal",
 			"iKwaZulu-Natal",
@@ -70,22 +83,23 @@ var Provinces = []Province{
 			"KwaZulu-Natala",
 		},
 	},
-	{
-		Code: "LP",
+	"LP": {
+		DisplayName: "Limpopo",
 		Names: []string{
+			"NP",
 			"Limpopo",
 			"Vhembe",
 		},
 	},
-	{
-		Code: "MP",
+	"MP": {
+		DisplayName: "Mpumalanga",
 		Names: []string{
 			"Mpumalanga",
 			"iMpumalanga",
 		},
 	},
-	{
-		Code: "NC",
+	"NC": {
+		DisplayName: "Northern Cape",
 		Names: []string{
 			"Northern Cape",
 			"Northern-Cape",
@@ -102,8 +116,8 @@ var Provinces = []Province{
 			"Nyakatho-Koloni",
 		},
 	},
-	{
-		Code: "NW",
+	"NW": {
+		DisplayName: "North West",
 		Names: []string{
 			"North West",
 			"North-West",
@@ -119,8 +133,8 @@ var Provinces = []Province{
 			"Nyakatho-Ntshonalanga",
 		},
 	},
-	{
-		Code: "WC",
+	"WC": {
+		DisplayName: "Western Cape",
 		Names: []string{
 			"Western Cape",
 			"Western-Cape",
@@ -212,8 +226,6 @@ func stripUnwantedCharacters(s string) string {
 func CleanZone(countryToClean, zoneToClean *string) (newCountry, newZone *string) {
 	newCountry = countryToClean
 
-	southAfricaVariations := []string{"ZA", "South Africa", "Suid-Afrika", "Suid Afrika", "Iningizimu Afrika", "Mzantsi Afrika", "Afrika Boroa", "Africa Kusini"}
-
 	for _, southAfricaVariation := range southAfricaVariations {
 		if countryToClean == nil || len(*countryToClean) == 0 || strings.ToLower(*countryToClean) == strings.ToLower(southAfricaVariation) {
 			defaultCountry := "South Africa"
@@ -224,20 +236,10 @@ func CleanZone(countryToClean, zoneToClean *string) (newCountry, newZone *string
 
 	if *newCountry == "South Africa" && zoneToClean != nil {
 		zone := *zoneToClean
-		if zone == "GT" {
-			// Gauteng - GT should be GP for Google
-			zone = "GP"
-		} else if zone == "NT" || zone == "NL" {
-			// KZN - NT and NL should be KZN for Google
-			zone = "KZN"
-		} else if zone == "NP" {
-			// Limpopo - NP should be LP for Google
-			zone = "LP"
-		}
 
-		for _, province := range Provinces {
+		for provinceCode, province := range Provinces {
 			for _, name := range province.Names {
-				zone = string_utils.ReplaceCaseInsensitive(zone, name, province.Code)
+				zone = string_utils.ReplaceCaseInsensitive(zone, name, provinceCode)
 			}
 		}
 
@@ -248,11 +250,28 @@ func CleanZone(countryToClean, zoneToClean *string) (newCountry, newZone *string
 }
 
 func IsProvince(address string) bool {
-	for _, province := range Provinces {
-		if strings.ToLower(address) == strings.ToLower(fmt.Sprintf("%v, South Africa", province)) {
+	for provinceCode, province := range Provinces {
+		if strings.ToLower(address) == strings.ToLower(fmt.Sprintf("%v, South Africa", provinceCode)) {
 			return true
 		}
+		if strings.ToLower(address) == strings.ToLower(fmt.Sprintf("%v, South Africa", province.DisplayName)) {
+			return true
+		}
+		for _, provinceName := range province.Names {
+			if strings.ToLower(address) == strings.ToLower(fmt.Sprintf("%v, South Africa", provinceName)) {
+				return true
+			}
+		}
 	}
 
 	return false
 }
+
+func GetZoneDisplayName(zone string) string {
+
+	if province, ok := Provinces[zone]; ok {
+		return province.DisplayName
+	}
+
+	return zone
+}
diff --git a/address_utils/address_utils_test.go b/address_utils/address_utils_test.go
index 330513062229b050a694b8c5d39456ef799f7d4a..09f0b4366a6deb6682b21706c4d7763f7a7db4dc 100644
--- a/address_utils/address_utils_test.go
+++ b/address_utils/address_utils_test.go
@@ -25,6 +25,14 @@ func TestIsProvince(t *testing.T) {
 		name: "IsProvince",
 		args: args{address: "North West, South Africa"},
 		want: true,
+	}, {
+		name: "IsProvince2",
+		args: args{address: "KwaZulu Natal, South Africa"},
+		want: true,
+	}, {
+		name: "IsProvince3",
+		args: args{address: "KZN, South Africa"},
+		want: true,
 	}, {
 		name: "IsNotProvince",
 		args: args{address: "22 Kruis Street, Potchefstroom, Potchefstroom, 2531, GP, ZA"},
@@ -39,3 +47,38 @@ func TestIsProvince(t *testing.T) {
 		})
 	}
 }
+
+func TestZoneDisplayName(t *testing.T) {
+	type args struct {
+		zone string
+	}
+	tests := []struct {
+		name string
+		args args
+		want string
+	}{{
+		name: "IsValidZone",
+		args: args{zone: "LP"},
+		want: "Limpopo",
+	}, {
+		name: "IsValidZone2",
+		args: args{zone: "KZN"},
+		want: "KwaZulu-Natal",
+	}, {
+		name: "IsNotValidZone",
+		args: args{zone: "invalidF"},
+		want: "invalidF",
+	}, {
+		name: "IsNotValidZone 2",
+		args: args{zone: "NP"},
+		want: "NP",
+	},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			if got := GetZoneDisplayName(tt.args.zone); got != tt.want {
+				t.Errorf("GetZoneDisplayName() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
diff --git a/handler_utils/debug.go b/handler_utils/debug.go
index dfdc2b6ed6c5bdb2ab574a8ef2d06bfe013be307..c6c8ea99c18c6d88e907a7afa3cf7cda5b3139b8 100644
--- a/handler_utils/debug.go
+++ b/handler_utils/debug.go
@@ -46,6 +46,7 @@ func ServeHTTPFunctions(ctx context.Context, lambdaHandler lambda.Handler, w htt
 
 	// Call lambda function
 	request := events.APIGatewayProxyRequest{
+		Path:                  req.URL.Path,
 		Resource:              req.URL.Path,
 		HTTPMethod:            req.Method,
 		QueryStringParameters: query,