diff --git a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
index 05ba30084fe87ebb295c135f9d121de94e1d243b..7067dc51722117ddc00dd6208de6da9bd8a8e9bd 100644
--- a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
@@ -24,10 +24,10 @@ import (
 	"google.golang.org/protobuf/types/known/timestamppb"
 )
 
-func ListPtrLocalesLocaleToProto(locales []*locales.Locale) ([]*localespb.Locale, error) {
-	protoLocales := make([]*localespb.Locale, 0, len(locales))
-	for _, l := range locales {
-		protoLocales = append(protoLocales, &localespb.Locale{Id: l.ID, Name: l.Name, SpaceId: l.SpaceID})
+func ListPtrLocalesLocaleToProto(ls []*locales.Locale) ([]*localespb.Locale, error) {
+	protoLocales := make([]*localespb.Locale, 0, len(ls))
+	for _, l := range ls {
+		protoLocales = append(protoLocales, locales.LocaleToProto(l))
 	}
 	return protoLocales, nil
 }
@@ -35,7 +35,7 @@ func ListPtrLocalesLocaleToProto(locales []*locales.Locale) ([]*localespb.Locale
 func ProtoToListPtrLocalesLocale(protoLocales []*localespb.Locale) ([]*locales.Locale, error) {
 	ls := make([]*locales.Locale, 0, len(protoLocales))
 	for _, pl := range protoLocales {
-		ls = append(ls, &locales.Locale{ID: pl.Id, Name: pl.Name, SpaceID: pl.SpaceId})
+		ls = append(ls, locales.LocaleFromProto(pl))
 	}
 	return ls, nil
 }
@@ -190,33 +190,11 @@ func PtrItemsItemToProto(item *items.Item) (*itemspb.Item, error) {
 		return nil, nil
 	}
 
-	protoItem := &itemspb.Item{
-		Id:           item.ID,
-		SpaceId:      item.SpaceID,
-		EnvId:        item.EnvID,
-		CollectionId: item.CollectionID,
-		State:        itemspb.Item_State(item.State),
-		CreatedBy:    item.CreatedBy,
-		UpdatedBy:    item.UpdatedBy,
-		RevisionId:   item.RevisionID,
-		LocaleId:     item.LocaleID,
-		//Hidden, Template, Deleted - не передается для delivery
-	}
-
-	var err error
-	protoItem.Data, err = MapStringInterfaceToProto(item.Data)
-	if err != nil {
-		return nil, err
-	}
-	protoItem.Translations, err = MapStringMapStringInterfaceToProto(item.Translations)
-	if err != nil {
-		return nil, err
-	}
-	//protoItem.Permissions - не передается для delivery
-
-	protoItem.CreatedRevAt = timestamppb.New(item.CreatedRevAt)
-	protoItem.CreatedAt = timestamppb.New(item.CreatedAt)
-	protoItem.UpdatedAt = timestamppb.New(item.UpdatedAt)
+	protoItem := items.ItemToProto(item)
+	protoItem.Permissions = nil
+	protoItem.Hidden = false
+	protoItem.Template = false
+	protoItem.Deleted = false
 
 	return protoItem, nil
 }
@@ -226,26 +204,11 @@ func ProtoToPtrItemsItem(protoItem *itemspb.Item) (*items.Item, error) {
 		return nil, nil
 	}
 
-	item := &items.Item{
-		ID:           protoItem.Id,
-		SpaceID:      protoItem.SpaceId,
-		EnvID:        protoItem.EnvId,
-		CollectionID: protoItem.CollectionId,
-		State:        items.State(protoItem.State),
-		CreatedBy:    protoItem.CreatedBy,
-		UpdatedBy:    protoItem.UpdatedBy,
-		RevisionID:   protoItem.RevisionId,
-		LocaleID:     protoItem.LocaleId,
-		//Hidden, Template, Deleted - не передается для delivery
-	}
-
-	item.Data, _ = ProtoToMapStringInterface(protoItem.Data)
-	item.Translations, _ = ProtoToMapStringMapStringInterface(protoItem.Translations)
-	//item.Permissions - не передается для delivery
-
-	item.CreatedRevAt = protoItem.CreatedRevAt.AsTime()
-	item.CreatedAt = protoItem.CreatedAt.AsTime()
-	item.UpdatedAt = protoItem.UpdatedAt.AsTime()
+	item := items.ItemFromProto(protoItem)
+	item.Permissions = nil
+	item.Hidden = false
+	item.Template = false
+	item.Deleted = false
 
 	return item, nil
 }
diff --git a/pkg/locales/locale.go b/pkg/locales/locale.go
index 48c31f79116f7485d5e9fd0197b8eefcf76a50fd..22a8905ab57c36e13268f67ca90e047ebb486673 100644
--- a/pkg/locales/locale.go
+++ b/pkg/locales/locale.go
@@ -1,6 +1,9 @@
 package locales
 
-import "golang.org/x/text/language"
+import (
+	pb "git.perx.ru/perxis/perxis-go/proto/locales"
+	"golang.org/x/text/language"
+)
 
 const (
 	DefaultID        = "default" // DefaultID идентификатор локали по умолчанию
@@ -42,3 +45,41 @@ func GetIDs(locales []*Locale) []string {
 	}
 	return result
 }
+
+func LocaleToProto(locale *Locale) *pb.Locale {
+	if locale == nil {
+		return nil
+	}
+	protoLocale := &pb.Locale{
+		Id:         locale.ID,
+		SpaceId:    locale.SpaceID,
+		Name:       locale.Name,
+		NativeName: locale.NativeName,
+		Code:       locale.Code,
+		Fallback:   locale.Fallback,
+		Direction:  locale.Direction,
+		Weight:     int64(locale.Weight),
+		NoPublish:  locale.NoPublish,
+		Disabled:   locale.Disabled,
+	}
+	return protoLocale
+}
+
+func LocaleFromProto(protoLocale *pb.Locale) *Locale {
+	if protoLocale == nil {
+		return nil
+	}
+	locale := &Locale{
+		ID:         protoLocale.Id,
+		SpaceID:    protoLocale.SpaceId,
+		Name:       protoLocale.Name,
+		NativeName: protoLocale.NativeName,
+		Code:       protoLocale.Code,
+		Fallback:   protoLocale.Fallback,
+		Direction:  protoLocale.Direction,
+		Weight:     int(protoLocale.Weight),
+		NoPublish:  protoLocale.NoPublish,
+		Disabled:   protoLocale.Disabled,
+	}
+	return locale
+}
diff --git a/pkg/locales/transport/grpc/protobuf_type_converters.microgen.go b/pkg/locales/transport/grpc/protobuf_type_converters.microgen.go
index 529783bb217c13014e8d490a232c46b73844fafe..4932a7d497ea2d0df148dddbfb0a7bbda3dca300 100644
--- a/pkg/locales/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/locales/transport/grpc/protobuf_type_converters.microgen.go
@@ -13,36 +13,14 @@ func PtrLocaleToProto(locale *service.Locale) (*pb.Locale, error) {
 	if locale == nil {
 		return nil, nil
 	}
-	return &pb.Locale{
-		Id:         locale.ID,
-		SpaceId:    locale.SpaceID,
-		Name:       locale.Name,
-		NativeName: locale.NativeName,
-		Code:       locale.Code,
-		Fallback:   locale.Fallback,
-		Direction:  locale.Direction,
-		Weight:     int64(locale.Weight),
-		NoPublish:  locale.NoPublish,
-		Disabled:   locale.Disabled,
-	}, nil
+	return service.LocaleToProto(locale), nil
 }
 
 func ProtoToPtrLocale(protoLocale *pb.Locale) (*service.Locale, error) {
 	if protoLocale == nil {
 		return nil, nil
 	}
-	return &service.Locale{
-		ID:         protoLocale.Id,
-		SpaceID:    protoLocale.SpaceId,
-		Name:       protoLocale.Name,
-		NativeName: protoLocale.NativeName,
-		Code:       protoLocale.Code,
-		Fallback:   protoLocale.Fallback,
-		Direction:  protoLocale.Direction,
-		Weight:     int(protoLocale.Weight),
-		NoPublish:  protoLocale.NoPublish,
-		Disabled:   protoLocale.Disabled,
-	}, nil
+	return service.LocaleFromProto(protoLocale), nil
 }
 
 func ListPtrLocaleToProto(locales []*service.Locale) ([]*pb.Locale, error) {