# This file is the entry point to configure your own services. # Files in the packages/ subdirectory configure your dependencies. # Put parameters here that don't need to change on each machine where the app is deployed # https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration parameters: travel_info_base_url: '%env(APP_TRAVEL_INFO_BASE_URL)%' terms_and_conditions_url: '%env(APP_TERMS_AND_CONDITIONS_URL)%' path_to_keys: '%kernel.project_dir%/config/secret' bpn_debug: '%env(APP_BPN_DEBUG)%' default_booking_status: '%env(DEFAULT_BOOKING_STATUS)%' newsletter_confirmation_ttl_hours: '%env(int:APP_NEWSLETTER_CONFIRMATION_TTL_HOURS)%' travel_snapshot_retention_buffer_days: '%env(int:APP_TRAVEL_SNAPSHOT_RETENTION_BUFFER_DAYS)%' default_email_from: '%env(APP_DEFAULT_EMAIL_FROM)%' default_email_to: '%env(APP_DEFAULT_EMAIL_TO)%' # Body dimensions choices for BodyDimensionsType body_dimensions.height_choices: 'bis 148cm': '-148' '149 - 157cm': '149-157' '158 - 166cm': '158-166' '167 - 178cm': '167-178' '179 - 185cm': '179-185' '186 - 194cm': '186-194' '195cm oder mehr': '195+' body_dimensions.shoe_size_min: 36 body_dimensions.shoe_size_max: 48 body_dimensions.weight_choices: '42 - 48kg': '42-48' '49 - 57kg': '49-57' '58 - 66kg': '58-66' '67 - 78kg': '67-78' '79 - 85kg': '79-85' '86 - 94kg': '86-94' '95kg oder mehr': '95+' # domain mapping for theme, gtm id and cmp url domain_config: ep-reisen.de: theme: base gtm_id: GTM-56LWRF cmp_url: https://consent.cookiefirst.com/sites/my.ep-reisen.de-28eabc35-7085-4d8f-b450-522bd1a5247c/consent.js ski-boarderweek.de: theme: sbw gtm_id: GTM-MS2C8CH cmp_url: https://consent.cookiefirst.com/sites/my.ski-boarderweek.de-d3641c34-8183-4b8d-b56e-c052e7a9223e/consent.js semesterende-skireisen.de: theme: ser gtm_id: GTM-MNKDKL9 cmp_url: https://consent.cookiefirst.com/sites/my.semesterende-skireisen.de-c9b3422d-eb62-4ce4-b8f7-91e9b509e26f/consent.js snowzone.net: theme: snz gtm_id: GTM-M96CKL cmp_url: https://consent.cookiefirst.com/sites/my.snowzone.net-8e6aea0c-7d93-42a0-a822-29fff2aa5613/consent.js services: # default configuration for services in *this* file _defaults: autowire: true # Automatically injects dependencies in your services. autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. bind: $xmlExport: '@xml_export.storage' $xmlSource: '@xml_source.storage' $xmlDump: '@xml_dump.storage' $jsonExport: '@json_export.storage' $travelInfoBaseUrl: '%env(APP_TRAVEL_INFO_BASE_URL)%' $termsAndConditionsUrl: '%terms_and_conditions_url%' $logger: '@monolog.logger.core' $environment: '%kernel.environment%' $mailjetApiKey: '%env(default::MAILJET_API_KEY)%' $mailjetApiSecret: '%env(default::MAILJET_API_SECRET)%' $mailjetApiBaseUrl: '%env(default::MAILJET_API_BASE_URL)%' $mailjetNewsletterListId: '%env(default::MAILJET_NEWSLETTER_LIST_ID)%' # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name App\: resource: '../src/' exclude: - '../src/DependencyInjection/' - '../src/Entity/' - '../src/Model' - '../src/Kernel.php' App\BusProNet\ApiClient: arguments: $logger: '@monolog.logger.bpn' $options: bpn_username: '%env(APP_BPN_USER)%' bpn_password: '%env(APP_BPN_PASSWORD)%' bpn_api_ip: '%env(APP_BPN_IP)%' bpn_api_ports: '%env(csv:APP_BPN_PORTS)%' debug: '%env(bool:APP_BPN_DEBUG)%' connection_timeout: '%env(int:APP_BPN_CONNECTION_TIMEOUT)%' stream_timeout: '%env(int:APP_BPN_STREAM_TIMEOUT)%' total_timeout: '%env(int:APP_BPN_TOTAL_TIMEOUT)%' App\Twig\AppRuntime: arguments: $intlExtension: '@twig.extension.intl' App\Command\GenerateKeysCommand: arguments: $path: '%path_to_keys%' App\Security\Crypt: arguments: $path: '%path_to_keys%' App\Service\TravelSnapshotManager: arguments: $retentionBufferDays: '%travel_snapshot_retention_buffer_days%' App\Service\TravelDataProvider: arguments: $logger: '@monolog.logger.core' $preferRemote: '%env(bool:APP_TRAVEL_PREFER_REMOTE)%' $enableFallback: '%env(bool:APP_TRAVEL_ENABLE_FALLBACK)%' App\Service\BookingEditDataLoader: arguments: $bpnCache: '@bpn.cache' App\Service\VoucherValidator: arguments: $cache: '@cache.app' $logger: '@monolog.logger.bpn' # Field Handlers with dependencies App\Form\Service\ParticipantInsuranceFieldHandler: ~ App\Form\Service\ParticipantBulkInsuranceFieldHandler: ~ App\Form\Service\ParticipantTransportationDiscountReplacementFieldHandler: ~ App\Form\Service\ParticipantPurchaseVoucherFieldHandler: ~ App\Form\Service\ParticipantPromoVoucherFieldHandler: ~ # Participant Field Handler Registry - most handlers instantiate dependencies directly, some use services App\Form\Service\ParticipantFieldHandlerRegistry: arguments: $handlers: # Simple handlers with no external dependencies - instantiated directly - 'App\Form\Service\ParticipantDateOfBirthFieldHandler' - 'App\Form\Service\ParticipantAssignedRoomFieldHandler' - 'App\Form\Service\ParticipantRemarksRoomFieldHandler' - 'App\Form\Service\ParticipantAdditionalServicesFieldHandler' - 'App\Form\Service\ParticipantCoursesFieldHandler' - 'App\Form\Service\ParticipantBoardFieldHandler' - 'App\Form\Service\ParticipantRentalsFieldHandler' - 'App\Form\Service\ParticipantSkiPassFieldHandler' - 'App\Form\Service\ParticipantTransportationOutboundFieldHandler' - 'App\Form\Service\ParticipantTransportationInboundFieldHandler' - 'App\Form\Service\ParticipantPickupFieldHandler' - 'App\Form\Service\ParticipantDropOffFieldHandler' - 'App\Form\Service\ParticipantParkingFieldHandler' - 'App\Form\Service\ParticipantRentalInsuranceFieldHandler' - 'App\Form\Service\ParticipantLicensePlateFieldHandler' # Complex handlers with dependencies - use service references - '@App\Form\Service\ParticipantTransportationDiscountReplacementFieldHandler' - '@App\Form\Service\ParticipantBulkInsuranceFieldHandler' - '@App\Form\Service\ParticipantInsuranceFieldHandler' - '@App\Form\Service\ParticipantPurchaseVoucherFieldHandler' - '@App\Form\Service\ParticipantPromoVoucherFieldHandler' # Booking Status Rules App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule: ~ # Booking Status Rule Registry App\BusProNet\Service\BookingStatusRuleRegistry: arguments: $rules: - '@App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule' App\Service\CmsDataProvider: arguments: $httpClient: '@typo3.client' $apiKey: 'AbcAbc123'# dummy key, not yet implemented App\Logger\RequestIdProcessor: tags: - { name: monolog.processor } App\Service\NewsletterManager: arguments: $newsletterConfirmationTtlHours: '%newsletter_confirmation_ttl_hours%' App\Service\DomainConfigProvider: arguments: $domainConfig: '%domain_config%' App\Email\Mailer: arguments: $defaults: from: '%default_email_from%' to: '%default_email_to%'