imports:
    - { resource: "@SyliusCoreBundle/Resources/config/app/config.yml" }

    - { resource: "@SyliusAdminBundle/Resources/config/app/config.yml" }
    - { resource: "@SyliusApiBundle/Resources/config/app/config.yaml" }

    - { resource: "@SyliusShopBundle/Resources/config/app/config.yml" }
    - { resource: "@SyliusPayPalPlugin/Resources/config/config.yaml" }

parameters:
    sylius_core.public_dir: '%kernel.project_dir%/public'

sylius_addressing:
    resources:
        address:
            classes:
                model: App\Entity\Addressing\Address
        country:
            classes:
                model: App\Entity\Addressing\Country
        province:
            classes:
                model: App\Entity\Addressing\Province
        zone:
            classes:
                model: App\Entity\Addressing\Zone
        zone_member:
            classes:
                model: App\Entity\Addressing\ZoneMember

sylius_attribute:
    resources:
        product:
            attribute:
                classes:
                    model: App\Entity\Product\ProductAttribute
                translation:
                    classes:
                        model: App\Entity\Product\ProductAttributeTranslation
            attribute_value:
                classes:
                    model: App\Entity\Product\ProductAttributeValue

sylius_channel:
    resources:
        channel:
            classes:
                model: App\Entity\Channel\Channel
sylius_core:
    resources:
        product_image:
            classes:
                model: App\Entity\Product\ProductImage
        taxon_image:
            classes:
                model: App\Entity\Taxonomy\TaxonImage
        product_taxon:
            classes:
                model: App\Entity\Product\ProductTaxon
        channel_pricing:
            classes:
                model: App\Entity\Channel\ChannelPricing

sylius_currency:
    resources:
        currency:
            classes:
                model: App\Entity\Currency\Currency
        exchange_rate:
            classes:
                model: App\Entity\Currency\ExchangeRate

sylius_customer:
    resources:
        customer:
            classes:
                model: App\Entity\Customer\Customer
        customer_group:
            classes:
                model: App\Entity\Customer\CustomerGroup

sylius_locale:
    locale: "%locale%"
    resources:
        locale:
            classes:
                model: App\Entity\Locale\Locale

sylius_order:
    resources:
        order:
            classes:
                model: App\Entity\Order\Order
        order_item:
            classes:
                model: App\Entity\Order\OrderItem
        order_item_unit:
            classes:
                model: App\Entity\Order\OrderItemUnit
        adjustment:
            classes:
                model: App\Entity\Order\Adjustment
        order_sequence:
            classes:
                model: App\Entity\Order\OrderSequence

sylius_payment:
    resources:
        payment_method:
            classes:
                model: App\Entity\Payment\PaymentMethod
            translation:
                classes:
                    model: App\Entity\Payment\PaymentMethodTranslation
        payment:
            classes:
                model: App\Entity\Payment\Payment

sylius_payum:
    resources:
        payment_security_token:
            classes:
                model: App\Entity\Payment\PaymentSecurityToken
        gateway_config:
            classes:
                model: App\Entity\Payment\GatewayConfig

sylius_product:
    resources:
        product:
            classes:
                model: App\Entity\Product\Product
            translation:
                classes:
                    model: App\Entity\Product\ProductTranslation
        product_variant:
            classes:
                model: App\Entity\Product\ProductVariant
            translation:
                classes:
                    model: App\Entity\Product\ProductVariantTranslation
        product_option:
            classes:
                model: App\Entity\Product\ProductOption
            translation:
                classes:
                    model: App\Entity\Product\ProductOptionTranslation
        product_option_value:
            classes:
                model: App\Entity\Product\ProductOptionValue
            translation:
                classes:
                    model: App\Entity\Product\ProductOptionValueTranslation
        product_association:
            classes:
                model: App\Entity\Product\ProductAssociation
        product_association_type:
            classes:
                model: App\Entity\Product\ProductAssociationType
            translation:
                classes:
                    model: App\Entity\Product\ProductAssociationTypeTranslation

sylius_promotion:
    resources:
        promotion:
            classes:
                model: App\Entity\Promotion\Promotion
        promotion_rule:
            classes:
                model: App\Entity\Promotion\PromotionRule
        promotion_action:
            classes:
                model: App\Entity\Promotion\PromotionAction
        promotion_coupon:
            classes:
                model: App\Entity\Promotion\PromotionCoupon

sylius_review:
    resources:
        product:
            review:
                classes:
                    model: App\Entity\Product\ProductReview

sylius_shipping:
    resources:
        shipment:
            classes:
                model: App\Entity\Shipping\Shipment
        shipping_method:
            classes:
                model: App\Entity\Shipping\ShippingMethod
            translation:
                classes:
                    model: App\Entity\Shipping\ShippingMethodTranslation
        shipping_category:
            classes:
                model: App\Entity\Shipping\ShippingCategory

sylius_taxation:
    resources:
        tax_category:
            classes:
                model: App\Entity\Taxation\TaxCategory
        tax_rate:
            classes:
                model: App\Entity\Taxation\TaxRate

sylius_taxonomy:
    resources:
        taxon:
            classes:
                model: App\Entity\Taxonomy\Taxon
            translation:
                classes:
                    model: App\Entity\Taxonomy\TaxonTranslation
sylius_user:
    resources:
        admin:
            user:
                classes:
                    model: App\Entity\User\AdminUser
        shop:
            user:
                classes:
                    model: App\Entity\User\ShopUser
        oauth:
            user:
                classes:
                    model: App\Entity\User\UserOAuth

sylius_shop:
    product_grid:
        include_all_descendants: true

sylius_theme:
    sources:
        filesystem:
            scan_depth: 1
            directories:
                - "%kernel.project_dir%/themes"

sylius_api:
    enabled: true
    

#APP
sylius_grid:
    grids:        
        app_admin_web_page:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\WebPage

            fields:
                is_locked:
                    type: twig
                    label: app.ui_element.field.is_locked
                    options:
                        template: "@App/admin/Grid/Field/locked.html.twig"
                        
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"

                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.headline:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name

                updatedAt:
                    type: datetime
                    label: app.ui.updatedAt

            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [ translations.headline ]
                    form_options:
                        type: contains
     
                category:
                    type: entity
                    label: false
                    options:
                        fields: [ category.translations.name ]
                    form_options:
                        class: "%app.model.category.class%"  

                isEnabled:
                    type: boolean # Type of filter
                    label: app.ui_element.field.status
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: isEnabled
                    form_options: { }
                    default_value: ~

                updatedAt:
                    type: date # Type of filter
                    label: app.ui_element.field.updatedAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: updatedAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_landing_page:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\WebPage
                    repository:
                        method: createQueryBuilderByTypeLandingPage
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"

                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.headline:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name

                updatedAt:
                    type: datetime
                    label: app.ui.updatedAt

        app_admin_component:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Component
            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                is_locked:
                    type: twig
                    label: app.ui_element.field.is_locked
                    options:
                        template: "@App/admin/Grid/Field/locked.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
    
            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [name]
                    form_options:
                        type: contains   
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_cms_component:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\CmsComponent
            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
                templates:
                    type: twig
                    label: app.ui.templates
                    options:
                        template: "@App/admin/Grid/Field/array.html.twig"
                # description:
                #     type: string
                #     label: sylius.ui.description
                #     sortable: translation.description
            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [name, code]
                    form_options:
                        type: contains   
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_cms_menu:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\CmsMenu
            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                name:
                    type: string
                    label: app.ui_element.field.name
                    sortable: translation.name
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete



        # app_admin_cms_component_menu:
        #     driver:
        #         name: doctrine/orm
        #         options:
        #             class: App\Entity\CmsComponent
        #             repository:
        #                 method: findByType
        #                 arguments:
        #                     parameters: '%configuration_project%'
        #     fields:
        #         is_enabled:
        #             type: twig
        #             label: sylius.ui.is_enabled
        #             options:
        #                 template: "@SyliusUi/Grid/Field/enabled.html.twig"
        #         name:
        #             type: string
        #             label: sylius.ui.name
        #             sortable: translation.name
        #         templates:
        #             type: twig
        #             label: sylius.ui.templates
        #             options:
        #                 template: "@App/admin/Grid/Field/array.html.twig"
        #         # description:
        #         #     type: string
        #         #     label: sylius.ui.description
        #         #     sortable: translation.description
                
        #     actions:
        #         # main:
        #         #     create:
        #         #         type: create
        #         item:
        #             update:
        #                 type: update
        #             delete:
        #                 type: delete

        app_admin_article:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Article

            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"

                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.headline:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name

                updatedAt:
                    type: datetime
                    label: app.ui.updatedAt
                    
            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [ translations.headline ]
                    form_options:
                        type: contains
     
                category:
                    type: entity
                    label: false
                    options:
                        fields: [ category.translations.name ]
                    form_options:
                        class: "%app.model.category.class%"  

                isEnabled:
                    type: boolean # Type of filter
                    label: app.ui_element.field.status
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: isEnabled
                    form_options: { }
                    default_value: ~

                updatedAt:
                    type: date # Type of filter
                    label: app.ui_element.field.updatedAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: updatedAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete    

        app_admin_category:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Category

            fields:

                is_locked:
                    type: twig
                    label: app.ui_element.field.is_locked
                    options:
                        template: "@App/admin/Grid/Field/locked.html.twig"

                parent:
                    type: twig # Type of filter
                    label: app.ui.parent
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                translation.name:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name
            
            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [ translations.headline ]
                    form_options:
                        type: contains
     
                category:
                    type: entity
                    label: false
                    options:
                        fields: [ category.translations.name ]
                    form_options:
                        class: "%app.model.category.class%"  

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete         

        app_admin_category_product_type:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Category
                    repository:
                        method: createQueryBuilderByTypeProduct 
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                # is_locked:
                #     type: twig
                #     label: app.ui_element.field.is_locked
                #     options:
                #         template: "@App/admin/Grid/Field/locked.html.twig"
                # type:
                #     type: twig # Type of filter
                #     label: app.ui_element.field.category_type
                #     # path: .
                #     options:
                #         template: "@SyliusUi/Grid/Field/rawLabel.html.twig"  
                icon:
                    type: twig
                    label: app.ui_element.field.icon
                    path: .
                    options:
                        template: "@App/admin/Grid/Field/thumbnail_icon.html.twig"         
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                slug:
                    type: string
                    label: sylius.ui.slug
                translation.name:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name
                
                # translation.meta_title:
                #     type: string
                #     label: app.ui.meta_title
                #     sortable: translation.meta_title
                # name:
                #     type: string
                #     label: sylius.ui.name
                #     sortable: translation.name
                # description:
                #     type: string
                #     label: sylius.ui.description
                #     sortable: translation.description
                
            actions:
                main:
                    create:
                        type: create
                item:
                    show:
                        type: show
                        label: sylius.ui.show
                    # update:
                    #     type: update
                    # delete:
                    #     type: delete  

        app_admin_message_contact:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Message
                    repository:
                        method: findByTypeContact
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                dateSent:
                    type: datetime
                    label: sylius.ui.date
                sender.email:
                    type: string
                    label: app.ui.sender
                subject:
                    type: string
                    label: sylius.ui.subject
                # local_business:
                #     type: string
                #     label: app.ui.local_business
                text:
                   type: twig
                   label: app.ui_element.field.message
                   options:
                       template: "@App/admin/Grid/Field/text.html.twig"
            actions:
                item:
                    show:
                        type: show
                        label: sylius.ui.show
                    # update:
                    #     type: update
                    delete:
                        type: delete    

        app_admin_message_product:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Message
                    repository:
                        method: findByTypeProduct
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                dateSent:
                    type: datetime
                    label: sylius.ui.date
                sender.email:
                    type: string
                    label: app.ui.sender
                subject:
                    type: string
                    label: sylius.ui.subject
                
                text:
                   type: twig
                   label: app.ui_element.field.message
                   options:
                       template: "@App/admin/Grid/Field/text.html.twig"
                       
                # messageAttachment:
                #     type: twig
                #     label: app.ui.preview
                #     path: . 
                #     options:
                #         template: "@App/admin/Grid/Field/documents.html.twig"
            actions:
                item:
                    show:
                        type: show
                        label: sylius.ui.show
            #         update:
            #             type: update
                    delete:
                        type: delete  

        app_admin_message_quote:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Message
                    repository:
                        method: findByTypeQuote
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                dateSent:
                    type: datetime
                    label: sylius.ui.date
                sender.email:
                    type: string
                    label: sylius.ui.sender
                subject:
                    type: string
                    label: sylius.ui.subject
                local_business:
                    type: string
                    label: sylius.ui.local_business
                # text:
                #    type: twig
                #    label: app.ui_element.field.message
                #    options:
                #        template: "@App/admin/Grid/Field/text.html.twig"
                messageAttachment:
                    type: twig
                    label: app.ui.preview
                    path: . 
                    options:
                        template: "@App/admin/Grid/Field/documents.html.twig"
            actions:
                item:
                    show:
                        type: show
                        label: sylius.ui.show
            #         update:
            #             type: update
                    delete:
                        type: delete  

        app_admin_message_appointment:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Message
                    repository:
                        method: findByTypeAppointment
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                dateSent:
                    type: datetime
                    label: sylius.ui.date
                sender.email:
                    type: string
                    label: sylius.ui.sender
                subject:
                    type: string
                    label: sylius.ui.subject
                local_business:
                    type: string
                    label: sylius.ui.local_business
                text:
                   type: twig
                   label: app.ui_element.field.message
                   options:
                       template: "@App/admin/Grid/Field/text.html.twig"
            actions:
                item:
                    show:
                        type: show
                        label: sylius.ui.show
            #         update:
            #             type: update
                    delete:
                        type: delete  

        app_admin_message_special_announcement:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Message
                    repository:
                        method: findByTypeSpecialAnnouncement
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                dateSent:
                    type: datetime
                    label: sylius.ui.date
                sender.email:
                    type: string
                    label: sylius.ui.sender
                subject:
                    type: string
                    label: sylius.ui.subject
                local_business:
                    type: string
                    label: sylius.ui.local_business
                # text:
                #    type: twig
                #    label: app.ui_element.field.message
                #    options:
                #        template: "@App/admin/Grid/Field/text.html.twig"
                messageAttachment:
                    type: twig
                    label: app.ui.preview
                    path: . 
                    options:
                        template: "@App/admin/Grid/Field/documents.html.twig"
            actions:
                item:
                    show:
                        type: show
                        label: sylius.ui.show
                    # update:
                    #     type: update
                    delete:
                        type: delete  

        app_admin_person:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Person
            fields:
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
                description:
                    type: string
                    label: sylius.ui.description
                    sortable: translation.description
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete 

        # app_admin_media_object:
        #     driver:
        #         name: doctrine/orm
        #         options:
        #             class: App\Entity\MediaObject
        #     fields:
        #         is_enabled:
        #             type: twig
        #             label: app.ui_element.field.enabled
        #             options:
        #                 template: "@SyliusUi/Grid/Field/enabled.html.twig"
        #         filename:
        #             type: twig
        #             label: app.ui.preview
        #             path: . 
        #             options:
        #                 template: "@App/admin/Grid/Field/preview_media.html.twig"
        #         name:
        #             type: string
        #             label: sylius.ui.name
        #             sortable: translation.name
        #         encodingFormat:
        #             type: string
        #             label: app.ui_element.field.encoding
        #         alt:
        #             type: string
        #             label: app.ui.alt
        #             sortable: translation.alt
        #     actions:
        #         main:
        #             create:
        #                 type: create
        #         item:
        #             update:
        #                 type: update
        #             delete:
        #                 type: delete

        app_admin_media_image:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\MediaObjectImage
                    repository:
                        method: findSortByDate
                        arguments:
                            parameters: '%configuration_project%'
                   
            fields:

                filename:
                    type: twig
                    label: app.ui.preview
                    path: . 
                    options:
                        template: "@App/admin/Grid/Field/preview_media.html.twig"
            
                originalFilename:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.originalFilename
                   
                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                createdAt:
                    type: datetime
                    label: app.ui.createdAt

                caption:
                    type: string
                    label: app.ui.alt
                    sortable: translation.caption
                
            filters:
                originalFilename:
                    type: string
                    label: false
                    # options:
                    #     fields: [originalFilename]
                    form_options:
                        type: contains

                category:
                    type: entity
                    label: false
                    options:
                        fields: [category.translations.name]
                    form_options:
                        class: "%app.model.category.class%"

                createdAt:
                    type: date # Type of filter
                    label: app.ui_element.field.createdAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: createdAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_media_video:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\MediaObjectVideo
                    repository:
                        method: findSortByDate
                        arguments:
                            parameters: '%configuration_project%'
            fields:

                url:
                    type: string
                    label: app.ui_element.field.url

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                createdAt:
                    type: datetime
                    label: app.ui.createdAt

            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [filename, slug, name]
                    form_options:
                        type: contains
                        
                category:
                    type: entity
                    label: false
                    options:
                        fields: [category.translations.name]
                    form_options:
                        class: "%app.model.category.class%"

                createdAt:
                    type: date # Type of filter
                    label: app.ui_element.field.createdAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: createdAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_media_icon:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\MediaObjectIcon
                    repository:
                        method: findSortByDate
                        arguments:
                            parameters: '%configuration_project%'
            fields:

                filename:
                    type: twig
                    label: app.ui.preview
                    # path: . 
                    options:
                        template: "@App/admin/Grid/Field/preview_svg.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                createdAt:
                    type: datetime
                    label: app.ui.createdAt

            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [filename, slug, name]
                    form_options:
                        type: contains 

                category:
                    type: entity
                    label: false
                    options:
                        fields: [category.translations.name]
                    form_options:
                        class: "%app.model.category.class%"

                createdAt:
                    type: date # Type of filter
                    label: app.ui_element.field.createdAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: createdAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_media_document:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\MediaObjectDocument
                    repository:
                        method: findSortByDate
                        arguments:
                            parameters: '%configuration_project%'

            fields:
 
                filename:
                    type: twig
                    label: app.ui.preview
                    path: . 
                    options:
                        template: "@App/admin/Grid/Field/preview_document.html.twig"

                originalFilename:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                createdAt:
                    type: datetime
                    label: app.ui.createdAt

            filters:
                search:
                    type: string
                    label: false
                    options:
                        fields: [filename, slug, name]
                    form_options:
                        type: contains    
                
                category:
                    type: entity
                    label: false
                    options:
                        fields: [category.translations.name]
                    form_options:
                        class: "%app.model.category.class%"

                createdAt:
                    type: date # Type of filter
                    label: app.ui_element.field.createdAt
                    enabled: true
                    # template: ~
                    position: 100
                    options:
                        field: createdAt
                    form_options: { }
                    default_value: ~

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        # app_admin_organizations:
        #     driver:
        #         name: doctrine/orm
        #         options:
        #             class: App\Entity\Organization
        #     fields:
        #         primaryImage:
        #             type: twig
        #             label: app.ui.primary_image
        #             options:
        #                 template: "@App/admin/Grid/Field/thumbnail.html.twig"
        #         name:
        #             type: string
        #             label: sylius.ui.name
        #             sortable: translation.name
        #         is_enabled:
        #             type: twig
        #             label: app.ui_element.field.enabled
        #             options:
        #                 template: "@SyliusUi/Grid/Field/enabled.html.twig"
            # actions:
            #     main:
            #         create:
            #             type: create
            #     item:
            #         update:
            #             type: update
            #         delete:
            #             type: delete

        app_admin_organization:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Organization
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                parent:
                    type: twig # Type of filter
                    label: app.ui.parent
                    options:
                        template: "@SyliusUi/Grid/Field/rawLabel.html.twig"
                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
               
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete
                        
        app_admin_manufacturer:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Organization
                    repository:
                        method: createQueryBuilderByCategoryManufacturer
                        arguments:
                            parameters: '%configuration_project%'
            # filters:
            #     category:
            #         type: entity
            #         form_options:
            #             class: "%app.model.category.class%"
                        # disabled: true
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"
                # filename:
                #     type: twig    
                #     label: app.ui.preview
                #     options:
                #         template: "@App/admin/Grid/Field/preview.html.twig"
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
               
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_brand:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Organization
                    repository:
                        method: createQueryBuilderByCategoryBrand
                        arguments:
                            parameters: '%configuration_project%'
            # filters:
            #     category:
            #         type: entity
            #         form_options:
            #             class: "%app.model.category.class%"
                        # disabled: true
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"
                # filename:
                #     type: twig    
                #     label: app.ui.preview
                #     options:
                #         template: "@App/admin/Grid/Field/preview.html.twig"
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
               
            actions:
                # main:
                #     create:
                #         type: create
                # item:
                #     update:
                #         type: update
                    # delete:
                        # type: delete

        app_admin_service:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Service
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
                icon:
                    type: twig
                    label: app.ui_element.field.icon
                    path: .
                    options:
                        template: "@App/admin/Grid/Field/thumbnail_icon.html.twig"
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_special_announcement:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\SpecialAnnouncement
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                # slug:
                #     type: string
                #     label: sylius.ui.slug
                translation.headline:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name

                # translation.meta_title:
                #     type: string
                #     label: app.ui.meta_title
                #     sortable: translation.meta_title
                # translation.meta_description:
                #     type: string
                #     label: app.ui.meta_description
                #     sortable: translation.meta_description
                
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete 

        app_admin_local_business:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\LocalBusiness
                    # repository:
                    #     method: findByCategoryLocalBusiness
                    #     arguments:
                    #         parameters: '%configuration_project%'
            fields:
                is_enabled:
                    type: twig
                    label: app.ui_element.field.enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                organization.category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"
                organization.parent:
                    type: twig # Type of filter
                    label: app.ui.parent
                    options:
                        template: "@SyliusUi/Grid/Field/rawLabel.html.twig"
                # filename:
                #     type: twig    
                #     label: app.ui.preview
                #     options:
                #         template: "@App/admin/Grid/Field/preview.html.twig"
                organization.primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"
                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
               
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_social_link:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Organization
                    repository:
                        method: createQueryBuilderByCategorySocialLink
                        arguments:
                            parameters: '%configuration_project%'
            fields:
                # is_enabled:
                #     type: twig
                #     label: app.ui_element.field.enabled
                #     options:
                #         template: "@SyliusUi/Grid/Field/enabled.html.twig"
                # category:
                #     type: twig # Type of filter
                #     label: app.ui.category
                #     options:
                #         template: "@SyliusUi/Grid/Field/rawLabel.html.twig"
                # filename:
                #     type: twig    
                #     label: app.ui.preview
                #     options:
                #         template: "@App/admin/Grid/Field/preview.html.twig"
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                icon:
                    type: twig
                    label: app.ui_element.field.icon_media
                    path: .
                    options:
                        template: "@App/admin/Grid/Field/thumbnail_svg.html.twig"

                name:
                    type: string
                    label: sylius.ui.name
                    sortable: translation.name
                
                url:
                    type: string
                    label: app.ui_element.field.url
                    sortable: translation.name
            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_travel:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Trip

            fields:
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"
                # is_locked:
                #     type: twig
                #     label: app.ui_element.field.is_locked
                #     options:
                #         template: "@App/admin/Grid/Field/locked.html.twig"
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                translation.headline:
                    type: string
                    label: app.ui.headline
                    sortable: translation.name

                # translation.slug:
                #     type: string
                #     label: sylius.ui.slug

                departureTime:
                    type: datetime
                    label: app.ui.departureTime

                arrivalTime:
                    type: datetime
                    label: app.ui.arrivalTime

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_hotel_room:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\HotelRoom

            fields:
               
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                translation.name:
                    type: string
                    label: app.ui_element.field.name
                    sortable: translation.name
                
                maximumOccupants:
                    type: string
                    label: app.ui_element.field.maximumOccupants

                # amenityFeatures:
                #     type: twig
                #     label: app.ui_element.field.amenityFeatures
                #     options:
                #         template: "@SyliusUi/Grid/Field/rawLabel.html.twig"

                # translation.description:
                #     type: string
                #     label: app.ui_element.field.description
                    


            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_offer:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\AggregateOffer

            fields:
               
                name:
                    type: string
                    label: app.ui.name
                    sortable: name

                price:
                    type: string
                    label: app.ui.price


            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_event:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Event

            fields:
               
                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_booking:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\Event

            fields:
               
                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_amenity_feature:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\AmenityFeature

            fields:
               
                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete

        app_admin_hotel_service:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\HotelService

            fields:

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete
            
        app_admin_hotel_activity:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\HotelActivity

            fields:
               
                primaryImage:
                    type: twig
                    label: app.ui.primary_image
                    options:
                        template: "@App/admin/Grid/Field/thumbnail.html.twig"

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete
            
        app_admin_hotel_typical_day:
            driver:
                name: doctrine/orm
                options:
                    class: App\Entity\HotelTypicalDay

            fields:
               
                is_enabled:
                    type: twig
                    label: sylius.ui.is_enabled
                    options:
                        template: "@SyliusUi/Grid/Field/enabled.html.twig"

                category:
                    type: twig # Type of filter
                    label: app.ui.category
                    options:
                        template:  "@App/admin/Grid/Field/rawLabel.html.twig"

                translation.name:
                    type: string
                    label: app.ui.name
                    sortable: translation.name
                
               

            actions:
                main:
                    create:
                        type: create
                item:
                    update:
                        type: update
                    delete:
                        type: delete