dto_generator:
  entities:
    dto:
      XCart\Logic\Entity\Storefront\Image:
        fields:
          url:
            type: string
          width:
            type: integer
            nullable: true
          height:
            type: integer
            nullable: true
          alt:
            type: string
            nullable: true

      XCart\Logic\Entity\Storefront\Category\PathElement:
        fields:
          id:
            type: integer
          name:
            type: string
          cleanUrl:
            type: string
            nullable: true

      XCart\Logic\Entity\Storefront\ProductCategory:
        fields:
          id:
            type: integer
          name:
            type: string
          cleanUrl:
            type: string

      XCart\Logic\Entity\Storefront\ProductAttributeValue:
        fields:
          id:
            type: integer
          value:
            type: string
          priceModifier:
            type: float
          priceModifierType:
            type: string
          weightModifier:
            type: float
          weightModifierType:
            type: string
          isDefault:
            type: bool

      XCart\Logic\Entity\Storefront\ProductAttribute:
        fields:
          id:
            type: integer
          name:
            type: string
          type:
            type: string
          displayMode:
            type: string
          editable:
            type: bool
          displayAbove:
            type: bool
          values:
            type: XCart\Logic\Entity\Storefront\ProductAttributeValue[]
          group:
            type: string
            nullable: true

      XCart\Logic\Entity\Storefront\ProductDimensions:
        fields:
          length:
            type: float
          width:
            type: float
          height:
            type: float

      XCart\Logic\Entity\Storefront\AddressFieldSelectorOption:
        fields:
          value:
            type: string
          label:
            type: string

      XCart\Logic\Entity\Storefront\AddressFieldValue:
        fields:
          serviceName:
            type: string
          name:
            type: string
          value:
            type: string
          required:
            type: bool


      XCart\Logic\Entity\Storefront\Region:
        fields:
          code:
            type: string
          name:
            type: string

      XCart\Logic\Entity\Storefront\State:
        fields:
          id:
            type: integer
          regionCode:
            type: string
            nullable: true
          name:
            type: string
          code:
            type: string
