Covivo/mobicoop

View on GitHub
api/.env

Summary

Maintainability
Test Coverage
###### GENERAL ENV ######
APP_ENV=dev
APP_SECRET=213213
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=localhost,example.com
SERVER_UTC_TIME_DIFF=1  # Difference, in hours, between server time and local time

###### NELMIO/CORS-BUNDLE ENV ######
CORS_ALLOW_ORIGIN=.

###### DOCTRINE ENV ######
DATABASE_URL=mysql://root:mobicoop@db:3306/mobicoop_db

###### DATA ENV ######
BASE_URI=http://localhost:8081/ #Base URI of the platform website
BASE_MOBILE_URI=http://localhost:8081/ #Base URI of the mobile platform website
DATA_URI=http://localhost:8080/upload/
DEFAULT_LANGUAGE=1 #Default language of the platform (see Language entity)

###### KIBANA LOGINS ######
KIBANA_LOGINS_ADMIN='{}'                # eg: {"username":"admin","password":"admin_password"}
KIBANA_LOGINS_COMMUNITY_MANAGER='{}'    # eg: {"username":"community_manager","password":"community_manager_password"}
KIBANA_LOGINS_SOLIDARY_OPERATOR='{}'    # eg: {"username":"solidary_operator","password":"solidary_operator_password"}

###### ANALYTICS ######
ANALYTICS_PARAMETERS=%kernel.project_dir%/config/params/analytics.json     # json file containing the Metabase parameters (secret, dashboards id ...)

###### FIXTURES ######
# FIXTURES_ENABLED at false will disable all fixtures ignoring the other parameters
FIXTURES_ENABLED=false
FIXTURES_CLEAR_BASE=true
FIXTURES_BASIC=true
FIXTURES_SOLIDARY=false

#####################################
###### ALGORITHM CONFIGURATION ######
#####################################


###### FIRST STEP : QUERY PARAMETERS (ProposalRepository)
###### This happens before the matching computing. We don't know yet what will be the real combined journey nor the detour the driver will have to do.
ALGORITHM_BEARING_RANGE=10                   # if used, only accept proposal where the bearing direction (cape) is not at the opposite, more or less the range degrees
ALGORITHM_USE_BEARING=true                   # use the ~bearing check~ filtering: for example, if the bearing is 0 (S->N), the proposals where the bearing is between 170 and 190 (~ N->S) are excluded
ALGORITHM_USE_BBOX=true                      # use the ~bbox check~ filtering (check if the (extended) bounding box of the proposals intersect)
ALGORITHM_USE_PASSENGER_PROPORTION=true      # use the ~passenger distance proportion~
ALGORITHM_USE_DISTANCE=true                  # use the ~distance between the driver and the passenger~ filtering
ALGORITHM_PASSENGER_PROPORTION=0.5           # minimum passenger distance relative to the driver distance, eg passenger distance should be at least 30% of the driver distance
ALGORITHM_MAX_DISTANCE_PUNCTUAL=0.07         # percentage of the driver direction to compute the max distance between driver and passenger directions (punctual)
ALGORITHM_MAX_DISTANCE_REGULAR=0.07          # percentage of the driver direction to compute the max distance between driver and passenger directions (regular)
ALGORITHM_DISTANCE_RATIO=100000              # ratio to use when computing distance filter (used to convert geographic degrees to metres)

###### SECOND STEP : GEOGRAPHIC PARAMETERS (ProposalMatcher)
ALGORITHM_MAX_DETOUR_DISTANCE_PERCENT=25    # Maximum percentage distance detour for the driver to pickup and drop off the passenger
ALGORITHM_MAX_DETOUR_DURATION_PERCENT=25    # Maximum percentage duration detour for the driver to pickup and drop off the passenger
ALGORITHM_MIN_COMMON_DISTANCE_CHECK=0       # Minimum driver's trip distance (in km) to check the common distance percentage
ALGORITHM_MIN_COMMON_DISTANCE_PERCENT=35    # Minimum common distance accepted for the passenger's journey relative to the driver's journey distance

###### END ALGORITHM CONFIGURATION ##
#####################################



###### GEOCOMPLETE ENV ######
GEOCOMPLETE_API_KEY_GMAPS=sdifnreicjv5sf4sd4f8e5e                   # GMaps api key
GEOCOMPLETE_API_KEY_LOCATION_IQ=sdifnreicjv5sf4sd4f8e5e             # LocationIQ api key
GEOCOMPLETE_ICONS_PATH=icons/                                       # Icons path
GEOCOMPLETE_SIG_DEFAULT_RESULTS=10                                   # Default number of requested sig results
GEOCOMPLETE_SIG_RETURNED_RESULTS=5                                   # Default number of returned sig results (returned by api)
GEOCOMPLETE_NAMED_DEFAULT_RESULTS=5                                 # Default number of named address results
GEOCOMPLETE_RELAY_POINTS_DEFAULT_RESULTS=5                          # Default number of relay points results
GEOCOMPLETE_EVENTS_DEFAULT_RESULTS=5                                # Default number of event results

###### ADDRESS DISPLAY ######
DISPLAY_COUNTRY=true           #true|false / on second line
DISPLAY_REGION=true            #true|false / on second line
DISPLAY_SUBREGION=true         #true|false / on second line
DISPLAY_LOCALITY=true           #true|false / on first line
DISPLAY_POSTALCODE=true         #true|false / on first line
DISPLAY_STREETADDRESS=true      #true|false / on first line
DISPLAY_VENUE=true              #true|false / on first line
DISPLAY_RELAY_POINT=true        #true|false / on first line
DISPLAY_NAMED=true              #true|false / on first line
DISPLAY_EVENT=true              #true|false / on first line
DISPLAY_SEPARATOR=", "          #separator between display label elements

###### lexik/jwt-authentication-bundle ######
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=ca4ffed31ee358cc7c7083af6e5773cd
JWT_TTL=900

###### SIG ######
SIG_GEOCODER_MAIN_URI=uri                                                   # uri of the main geocoder
SIG_GEOCODER_SECONDARY_URI=uri                                              # uri of the secondary geocoder
SIG_GEOROUTER_URI=uri                                                       # uri of the georouter
SIG_GEOROUTER_TYPE=graphhopper                                              # type of georouter

# Geocoder centroid priorization if supported by SIG Provider, eg : '{"latitude":48.322356,"longitude":6.458745}'
# Geocoder viewbox (corner southwest - corner northeast) priorization if supported by SIG Provider, eg : '{"minLatitude":14.6367927222,"minLongitude":-61.0158269,"maxLatitude":14.6367927,"maxLongitude":-61.0158269}'
SIG_GEOCODER_PRIORITIZE_COORDINATES='{}'

SIG_GEOCODER_PRIORITIZE_ORDER=false                                         # Geocoder results ordered by centroid distance
SIG_GEOCODER_PRIORITIZE_REGION=                                             # Prioritize a specific region by its code (i.e : "fr"). This parameter uses ccTLD format without "." (https://en.wikipedia.org/wiki/CcTLD)
SIG_GEOCODER_FIXER_DATA=%kernel.project_dir%/config/geodata/geofix.json     # json file containing geocoder data fixes
SIG_GEOCODER_SHOW_VENUES=true                                               # Show de venues from SIG

# SIG BATCH #
SIG_GEOROUTER_BATCH_SCRIPT_PATH='request-dispatcher -f '            # path to request dispatcher script
SIG_GEOROUTER_BATCH_SCRIPT_ARGS=' --nb 50'                          # number of concurrent requests
SIG_GEOROUTER_BATCH_TEMP=%kernel.project_dir%/public/upload/match/  # georouter batch files temp path

###### ASYNC GEOGRAPHY TREATMENTS ######
ASYNC_GEO_TEMP=%kernel.project_dir%/scripts/async/geography/

###### MOBIMATCH ######
MOBIMATCH_BATCH_TEMP=%kernel.project_dir%/public/upload/mass/files/temp/
MOBIMATCH_PT_MAXIMAL_CONNECTIONS=2 #Means 2 PT solutions max per journey
MOBIMATCH_PT_MAXIMUM_DISTANCE_WALK_FROM_HOME=500 # in meters
MOBIMATCH_PT_MAXIMUM_DISTANCE_WALK_FROM_WORK=600 # in meters
MOBIMATCH_PT_MAXIMUM_NB_CAR_DURATION=2 # For a PT journey to be valid it must be inferior to this many time of car duration
MOBIMATCH_ROUNDTRIP_COMPUTE=true # true : All the data are computed for round trips. false, one way only
MOBIMATCH_ABERRANT_COEFFICIENT=5 #Coefficiant to determine if a distance seems aberrant. Default : 5 times the average distances of home to work journeys
MOBIMATCH_KILOMETER_PRICE=0.38   # Kilometer price

###### RDEX ######
RDEX_OPERATOR=%kernel.project_dir%/config/rdex/operator.json
RDEX_CLIENTS=%kernel.project_dir%/config/rdex/clients.json
RDEX_PROVIDERS=%kernel.project_dir%/config/rdex/providers.json

###### COMMUNITY ######
COMMUNITY_SECURITY_PATH=public/upload/communities/security/
COMMUNITY_NB_LAST_USERS=3

###### Swifttmailer-bundle ENV ######
MAILER_URL=smtp://localhost:25?encryption=&auth_mode=
MAILER_SENDER=senderbydefault@yourdomain.com
MAILER_SENDER_NAME="Your Name"
MAILER_REPLYTO=replytobydefault@yourdomain.com
MAILER_REPLYTO_NAME="Your Name"
MAILER_ADDITIONAL_HEADERS=          # '{"header1Name":"header1Data","header2Name":"header2Data", "header3Name":"header3Data"}'

###### CONTACT ######
CONTACT_ITEMS=%kernel.project_dir%/config/params/contacts.json

###### MASS MAILER ######
MASS_MAILER_PROVIDER=SendinBlue                                                         # type of mass mailer service provider
MASS_MAILER_API_KEY=                                                                    # api key of mass mailer service provider
MASS_MAILER_CLIENT_NAME=                                                                # client name to use in the mass mailer service provider
MASS_MAILER_CLIENT_ID=0                                                                 # client id to use in the mass mailer service provider the value must be an int 0 is the default value
MASS_MAILER_CLIENT_TEMPLATE_ID=                                                         # client template id in mass mailer service provider
MASS_MAILER_DOMAIN=                                                                     # domain name to use in the mass mailer service provider
MASS_MAILER_IP=                                                                         # ip to use in the mass mailer service provider
MASS_MAILER_API_URL=                                                                    # api url if needed
MASS_MAILER_SENDER_NAME=namebydefault                                                   # name that appears as sender name in the mass emails
MASS_MAILER_SENDER_EMAIL=senderbydefault@yourdomain.com                                 # email that appears as sender email in the mass emails
MASS_MAILER_REPLYTO=replytobydefault@yourdomain.com                                     # email that appears as sender replyto in the mass emails
MASS_MAILER_BASE_TEMPLATE=masscommunication/email/base.html.twig # base mail template
MASS_MAILER_PROVIDER_IPRANGE1='{"minIp":"0.0.0.0","maxIp":"0.0.0.0"}'                    # the ip1 range to use for mass mailer provider hooks (if relevant)
MASS_MAILER_PROVIDER_IPRANGE2='{"minIp":"0.0.0.0","maxIp":"0.0.0.0"}'                    # the ip2 range to use for mass mailer provider hooks (if relevant)

###### MASS SMS ######
MASS_SMS_PROVIDER=provider          # type of mass sms service provider

###### MAIL ENV ######
#Mail to send error for production only !
MAIL_ERROR=

###### COMMUNICATION ######
NOTIFICATION_ENABLED=false #Enable/Disable ALL notifications
NOTIFICATION_MAIL_ENABLED=true #Enable/Disable Email notifications
NOTIFICATION_SMS_ENABLED=true #Enable/Disable SMS notifications
NOTIFICATION_PUSH_ENABLED=false #Enable/Disable PUSH notifications
COMMUNICATION_FOLDER=communication/
ALT_COMMUNICATION_FOLDER=communicationAlt/
COMMUNICATION_TEMPLATE_EMAIL_PATH=/email/
COMMUNICATION_TEMPLATE_PUSH_PATH=/push/
COMMUNICATION_TEMPLATE_SMS_PATH=/sms/
NOTIFICATION_TEMPLATE_EMAIL_PATH=notification/
NOTIFICATION_TITLE_TEMPLATE_EMAIL_PATH=notification/title/
NOTIFICATION_TEMPLATE_PUSH_PATH=notification/
NOTIFICATION_TITLE_TEMPLATE_PUSH_PATH=notification/title/
NOTIFICATION_TEMPLATE_SMS_PATH=notification/
NOTIFICATION_SSO_REGISTRATION=true #Enable/Disable notifications after a registration by sso
MESSAGES_STORE_READ_DATE=true #if true, the read date is stored when the complete message thread is called
PUSH_JOURNEY_CERTIFY_INTERVAL=10 # Time interval between the issuance of 2 push notifications to encourage users to certify their journey
PUSH_CARPOOL_START_TIME_MARGIN=5 # Margin time taken around the carpooling start time (used for the push notification sent before the end of the carpool)

###### PUSH ######
PUSH_PLATFORM_NAME=mobicoop     # Platform name in push notifications
PUSH_PROVIDER=provider          # Name of service provider
PUSH_API_TOKEN=apiToken
PUSH_SENDER_ID=senderId

###### SMS ######
SMS_PLATFORM_NAME=## Platform name in sms
SMS_PROVIDER=provider #name of service provider
SMS_USERNAME=username
SMS_PASSWORD=password
SMS_SENDER=sender ## 11 alphanumeric digits maximum

###### EMAILS ######
EMAILS_PLATFORM_NAME=## Platform name in the emails
EMAILS_PLATFORM_URL=## base URL of all links in emails (without final slash)
EMAILS_MOBILE_PLATFORM_URL=## base mobile url of all mobile links in emails (without final slash)
EMAILS_BANNER_URL=## URL of the banner in the head of emails
EMAILS_EXTERIOR_BACKGROUND_COLOR='#F1F1F1' ## Color of the email exterior
EMAILS_INTERIOR_BACKGROUND_COLOR='#FFFFFF' ## Color of the email interior
EMAILS_FACEBOOK_URL=##
EMAILS_ANDROID_URL=##
EMAILS_IOS_URL=##
EMAILS_TWITTER_URL=##
EMAILS_COLOR_PRIMARY='#00D28C'
EMAILS_COLOR_SECONDARY='#F045AB'
EMAILS_COLOR_ACCENT='#00BEF0'
EMAILS_COLOR_PRIMARY_LIGHT='#b9eeee'
EMAILS_FONT='Roboto'

###### EMAILS IMAGES ######
EMAILS_IMAGES_BASE_URL=## url of the folder of the images used in emails
EMAILS_FACEBOOK_LOGO=## file name
EMAILS_ANDROID_LOGO=## file name
EMAILS_IOS_LOGO=## file name
EMAILS_TWITTER_LOGO=## file name
EMAILS_DAY_DARK=emptyDayDark.png ##Background for carpooled day
EMAILS_DAY_LIGHT=emptyDayLight.png ##Background for not carpooled day
EMAILS_WAY_LOGO=## file name
EMAILS_SEARCH_LOGO=##
EMAILS_PUBLISH_LOGO=##
EMAILS_HEADER_BACKGROUND=## file name
EMAILS_FOOTER_BACKGROUND=## file name
EMAILS_BODY_IMAGE=## file name

###### USER PROFILE ######
USER_MAX_MESSAGES_FOR_ANSWER_RATE=10              # Number of last messages considered to compute the answer rate
USER_EXPERIENCED_TAG=false                        # Show a user experienced tag over the profile picture of a user
USER_EXPERIENCED_TAG_MIN_CARPOOLS=5               # Number of carpool required to be an experienced user
USER_EXPERIENCED_TAG_MIN_ANSWER_PCT=80            # Percentage of answerrequired to be an experienced user
USER_EXPERIENCED_TAG_MIN_ANSWER_PCT_DEFAULT=100   # Percentage of answerrequired to be an experienced user
USER_REVIEW=false                                 # Enable/Disable the Review system
USER_PHONE_VALIDATION_REGIONS='{"0":"FR","1":"BE","2":"DE","3":"PT","4":"ES","5":"CH"}'  # Valid country codes for phone validation (https://www.iso.org/obp/ui/#search/code/)
USER_IDENTITY_VALIDATION=false                    # true if the platform handle identity validation

###### ANTI-FRAUD CONFIGURATION ######
ANTIFRAUD_ACTIVE=false                   # Enable/Disable the anti-fraud system
ANTIFRAUD_DISTANCE_MIN_CHECK=50         # Minimum distance (in km) triggering the anti-fraud system
ANTIFRAUD_NB_CARPOOLS_MAX=1             # Number of maximum journey allowed at the same time above ANTIFRAUD_DISTANCE_MIN_CHECK distance

###### CARPOOL CONFIGURATION ######
CARPOOL_PRICE=0.06                      # define the default price per km
CARPOOL_MARGIN_DURATION=900             # define the default margin time in seconds
CARPOOL_REGULAR_LIFETIME=1              # define the default lifetime of a regular proposal in years
CARPOOL_ROLE=3                          # simple search : default role (1=driver; 2=passenger; 3=both)
CARPOOL_TYPE=1                          # simple search : default type (1=one way; 2=return trip)
CARPOOL_USE_TIME=false                  # simple search : use the time part of the date (=>check the pickup times)
                                        # note : for now the time is not asked in the search form
CARPOOL_STRICT_DATE=false               # define the default behaviour : match only for the selected date for punctual search
CARPOOL_STRICT_PUNCTUAL=false           # define the default behaviour : match only in punctual trips for punctual search
CARPOOL_STRICT_REGULAR=true             # define the default behaviour : match only in regular trips for regular search
CARPOOL_ANY_ROUTE_PASSENGER=true        # define the default behaviour : the passenger accepts any route
CARPOOL_DEFAULT_SEATS_PASSENGER=1       # define the number of seats asked by a passenger by default
CARPOOL_DEFAULT_SEATS_DRIVER=3          # define the number of seats proposed by a driver by default

CARPOOL_DEFAULT_CHAT=1                  # 0 : New User doesn't like to chat. 1 : He does.
CARPOOL_DEFAULT_MUSIC=1                 # 0 : New User doesn't like listen to music or radio. 1 : He does.
CARPOOL_DEFAULT_SMOKE=0                 # 0 : New User isn't a smoker. 1 : He is.

CARPOOL_PROOF_DISTANCE=3000             # flying distance (in metres) between 2 carpoolers to be able to create a carpool certification

# use json object to change the field order in MyCarpool. Use MUST use existing fields in DisplayLabelBuilder::MATCHING_FIELDS. Other fields will be ignored.
# The json must be an array of array. First array is the first line to be displayed, the second on the second line.
# Currently, only the first 2 are displayed on front.
# eg. '{"0":{"0":"street","1":"postalCode"},"1":{"0":"locality"}}'
CARPOOL_DISPLAY_FIELDS_ORDER='{}'

# Only one of theses two needs to be exceeded to set the flag at true
CARPOOL_NOTICEABLE_DETOUR_DURATION_PERCENT=10 # (Set to 0 to ignore it) Minimum detour duration percentage of the driver's original duration to set the flag "noticeable" at true
CARPOOL_NOTICEABLE_DETOUR_DISTANCE_PERCENT=10 # (Set to 0 to ignore it) Minimum detour distance percentage of the driver's original distance to set the flag "noticeable" at true

###### DYNAMIC CARPOOL CONFIGURATION ######
DYNAMIC_CARPOOL_PROOF_DISTANCE=3000         # flying distance (in metres) between 2 carpoolers to be able to create a carpool certification
DYNAMIC_CARPOOL_REACHED_DISTANCE=1000       # flying distance (in metres) to a waypoint to consider it reached
DYNAMIC_CARPOOL_DESTINATION_DISTANCE=500    # flying distance (in metres) to the destination to consider it reached
DYNAMIC_CARPOOL_MAX_PENDING_TIME=300        # max time (in seconds) for a driver to answer a request
DYNAMIC_CARPOOL_MAX_SPEED=55                # max speed (in m/s) to evaluate the validity of a point; 55 m/s ~ 200km/h
DYNAMIC_CARPOOL_ENABLE_MAX_SPEED=false      # enable the max speed test
DYNAMIC_TIMEZONE="Europe/Paris"             # define timezone of the dynamic carpool

###### CARPOOL PROOFS ######
CARPOOL_PROOF_PREFIX=                   # Proof id prefix
CARPOOL_PROOF_PROVIDER=                 # Proof register name
CARPOOL_PROOF_URI=                      # Proof register uri
CARPOOL_PROOF_TOKEN=                    # Proof register token
CARPOOL_PROOF_RANGE_DURATION=5          # Number of days to send by default to the carpool register
CARPOOL_PROOF_MIN_IDENTITY_DISTANCE=100 # Minimal distance in meters between origin and destination/dropoff to determine distinct identities (C Class proof)
CARPOOL_PROOF_PHONE_TRUNC_LENGTH=8      # Number of characters returned when phone number is truncated
CARPOOL_PROOF_ERROR_CHECK_LIMIT=15      # Number of days under witch we will not check proof with an error status

RPC_API_VERSION="v3"                    # RPC API version used - v2 | v3

###### JOURNEYS CONFIGURATION ######
###### A Journey is a seo friendly representation of an Ad
POPULAR_JOURNEY_HOME_MAX_NUMBER=5       # Maximum number of Popular Journey return by the api for the Home
POPULAR_JOURNEY_MAX_NUMBER=30           # Maximum number of Popular Journey return by the api
POPULAR_JOURNEY_MINIMAL_OCCURENCES=10   # Minimum occurences of a journey to be considered popular

###### AVATARS ######
AVATAR_SIZES='{"0":"square_100","1":"square_250"}'
AVATAR_DEFAULT_FOLDER=${EMAILS_PLATFORM_URL}/images/avatarsDefault/
AVATAR_DEFAULT="/images/avatarsDefault/avatar.svg"

###### FUNCTIONAL TESTING ######
FAKE_FIRST_TOKEN= #define a first fake token to run functional testing (Cypress)
FAKE_FIRST_MAIL= #define a first fake mail to run functional testing (Cypress)

###### SOLIDARY ########
SOLIDARY_M_MIN_RANGE_TIME="00:00:00"
SOLIDARY_M_MAX_RANGE_TIME="12:00:00"
SOLIDARY_A_MIN_RANGE_TIME="12:00:01"
SOLIDARY_A_MAX_RANGE_TIME="19:00:00"
SOLIDARY_E_MIN_RANGE_TIME="19:00:01"
SOLIDARY_E_MAX_RANGE_TIME="23:59:59"
SOLIDARY_FILE_FOLDER=${DATA_URI}solidary/proofs/
SOLIDARY_ON_DEMAND_CREATE_NOTIFY_MANAGER=true

###### STRUTURE ######
STRUCTURE_LOGO_URI=${DATA_URI}structures/images/

###### MOBILE APP ########
MOBILE_JSON_REPOSITORY=     # mobile json repository file (used for versioning)
MOBILE_APP_ID=              # mobile app id related to the api (used for versioning)

##### ADMIN ######
URL_ADMIN=http://localhost:8082

##### PUBLIC TRANSPORT ######
PT_PROVIDERS=%kernel.project_dir%/config/publicTransport/providers.json

##### DOMAINS AUTHORIZED FOR REGISTER ######
REGISTER_DOMAIN=%kernel.project_dir%/config/user/domains.json

##### SSO SERVICES ######
SSO_SERVICES=%kernel.project_dir%/config/user/sso.json
SSO_SERVICES_ACTIVE=false
SSO_USE_BUTTON_ICON=false

#### Payment ####
##### Exemples :
###### (CLIENT) PAYMENT_ELECTRONIC_ACTIVE=false, (API) PAYMENT_ACTIVE=YYYY-MM-DD : Only directpayment
###### (CLIENT) PAYMENT_ELECTRONIC_ACTIVE=true, (API) PAYMENT_ACTIVE=YYYY-MM-DD : Direct and Online payment
###### (CLIENT) PAYMENT_ELECTRONIC_ACTIVE=true/false, (API) PAYMENT_ACTIVE= : Payment is totally disabled
PAYMENT_PLATFORM_NAME= #This name could be used in description of some entities
PAYMENT_ACTIVE= # YYYY-MM-DD start date of payment, the payment is disabled if no date is indicated
PAYMENT_SANDBOX_MODE=true # true : payment in sandbox mode, false : payment in production mdoe
PAYMENT_PROVIDER= #Provider for online payement
PAYMENT_CLIENTID= #Id of the platform for the payment provider
PAYMENT_APIKEY= #Apikey of the platform for the payment provider
PAYMENT_DEFAULT_CURRENCY="EUR"
PAYMENT_VALIDATION_DOCS_PATH=%kernel.project_dir%/public/upload/payment/validation/files/
VALIDATION_DOC_AUTHORIZED_EXTENTIONS='{"0":"pdf","1":"jpeg","2":"jpg","3":"gif","4":"png"}'
PAYMENT_SECURITY_TOKEN_ACTIVE=false #Active or not the use of a security token in web hooks
PAYMENT_SECURITY_TOKEN= #A secret security that can be used for the web hooks from the payment provider
PAYMENT_EXPORT_PATH=%kernel.project_dir%/export/payments/
PAYMENT_UNPAID_REMINDER_DELAYS='[]' # Delays, in days, after the declaration of unpaid for a trip for which a reminder must be sent.

#### Bank Transfert ####
BANK_TRANSFER_HOLDER_ID= #Payment service id of the account used as funds reserve for the bank transfert
#Recipients emails for the report email after a bank transfert batch (json)
#exemple : ["corentin.keroual@business.ltd"]
BANK_TRANSFER_REPORT_EMAIL='[]'

##### AUTHORIZED MODULES #####
MODULES_AUTHORIZED=%kernel.project_dir%/config/params/modules.json

##### IMPORT #####
IMPORT_TIME_LIMIT=50000                 # time limit in seconds
IMPORT_MEMORY_LIMIT=4096                # memory limit in MB
IMPORT_SQL_LOG=false                    # log sql
IMPORT_USERS_DIRECTIONS_BATCH_SIZE=50   # batch size for imported users ads directions calculation
IMPORT_PROPOSALS_CHUNK_SIZE=10          # chunk size for imported proposals matching validation
IMPORT_PROPOSALS_BATCH_MATCH_SIZE=50    # batch size for imported proposals matching validation

###> knplabs/knp-snappy-bundle ###
WKHTMLTOPDF_PATH=/usr/local/bin/wkhtmltopdf
WKHTMLTOIMAGE_PATH=/usr/local/bin/wkhtmltoimage
###< knplabs/knp-snappy-bundle ###

###### CARPOOL EXPORT ######
CARPOOL_EXPORT_URI=${DATA_URI}export/carpool/  #with a /
CARPOOL_EXPORT_FILE_PATH="upload/export/carpool/" #with the /
CARPOOL_EXPORT_APP_NAME=Mobicoop          # app name
CARPOOL_EXPORT_BANNER_URL=${BASE_URI}images/logo.png #url of logo for pdf file ATTENTION : You need this line in .env.local.* also or the BASE_URI won't be correct.

###### PASSWORD TOKEN VALIDITY ######
PASSWORD_TOKEN_VALIDITY=3600       #in seconds

###### ARTICLE ######
ARTICLE_FEED=
ARTICLE_FEED_NUMBER=1
ARTICLE_IFRAME_MAX_WIDTH=450
ARTICLE_IFRAME_MAX_HEIGHT=300

###### EXTERNAL EVENT ######
EVENT_IMPORT_ENABLED=false          ## Enable/Disable the import of external events
EVENT_PROVIDER_TYPE=                ## (API, file, ...)
EVENT_PROVIDER=                     ## provider name
EVENT_PROVIDER_API_KEY=             ## api key
EVENT_PROVIDER_PROJECT_ID=          ## project id for the provider
EVENT_PROVIDER_SELECTION_ID=        ## selection id for the provider
EVENT_PROVIDER_SERVER_URL=            ## server url of external events
EVENT_PROVIDER_SERVER_IP=            ## server IP of external events
EVENT_REMOTE_FILE_PATH=             ## the path of the file to download
EVENT_FTP_LOGIN=                    ## ftp login
EVENT_FTP_PASWORD=                  ## ftp password

###### GAMIFICATION ######
GAMIFICATION_ACTIVE=false
GAMIFICATION_BADGE_IMAGE_URI=${DATA_URI}badges/images/

###### CONSUMPTION FEEDBACK ######
CONSUMPTION_FEEDBACK_ACTIVE=false
CONSUMPTION_FEEDBACK_PROVIDER=""
CONSUMPTION_FEEDBACK_APP_ID=0
CONSUMPTION_FEEDBACK_AUTH_BASE_URL=""
CONSUMPTION_FEEDBACK_CLIENTID=""
CONSUMPTION_FEEDBACK_CLIENT_SECRET=""
CONSUMPTION_FEEDBACK_BASE_URL=""
CONSUMPTION_FEEDBACK_APIKEY=""

# GEOCODER
GEOCODER_URI=uri
GEOCODER_TYPE="MobicoopGeocoder"
GEOCODER_MAX_RESULTS_BY_TYPE=5
GEOCODER_MAX_RESULTS_BY_GEOCODER=5
POINT_SEARCHER_PRIORITIZE_CENTROID='{}'             # prioritization centroid : '{"lat":48.322356,"lon":6.458745}'
POINT_SEARCHER_PRIORITIZE_BOX='{}'                  # prioritization box : '{"minLat":14.6367927222,"minLon":-61.0158269,"maxLat":14.6367927,"maxLon":-61.0158269}'
POINT_SEARCHER_PRIORITIZE_REGION=                   # prioritization region
POINT_SEARCHER_RESTRICT_COUNTRY=                    # restriction country (ISO 3166 alpha-2 country code), ex: FR
POINT_SEARCHER_RELAY_POINT_MAX_RESULTS=5            # max number of relay point results
POINT_SEARCHER_EVENT_MAX_RESULTS=5                  # max number of event results
POINT_SEARCHER_USER_MAX_RESULTS=5                   # max number of user results
POINT_SEARCHER_EXCLUSION_TYPES='{}'                 # types exclusion : '{ "0":"venue", "1":"street", ... }'
POINT_SEARCHER_RELAY_POINT_PARAMETERS='{"name":true, "addressLocality":false, "status":"1"}'   #search parameters to use on relay-points. (name and addressLocality are booleans, status is a value)
POINT_SEARCHER_FIXER_ENABLE=false                   # enable/disable geopoint fixer
POINT_SEARCHER_FIXER_DATA=%kernel.project_dir%/config/geodata/geopointfix.json     # json file containing geocoder data fixes

###### RZP API ######
RZP_API_URI=
RZP_API_LOGIN=
RZP_API_PASSWORD=

###### EEC Incentive ######
EEC_SERVICE=%kernel.project_dir%/config/params/eecService.json
EEC_INCENTIVE_PROVIDER=
EEC_FORCING_LOGS=false                               # Authorize or prohibit the global logs writing on the EEC course
EEC_JOURNEY_DECLARATION_DEADLINE=7                   # Time limit for reporting journeys in days. This time limit covers the period between the date of declaration of the proof and that of its declaration to moBConnect
EEC_SEND_WARNING_INCOMPLETE_PROFILE=false            # Indicate if we send an email if the profile is incomplete to start the subscription
EEC_SEND_WARNING_INCOMPLETE_PROFILE_TIME=15          # Determines the time between 2 notifications

###### MOBCONNECT ######
MOBCONNECT_CLIENT_ID=
MOBCONNECT_API_URI=
MOBCONNECT_API_KEY=
MOBCONNECT_APP_CLIENT_ID=                           # Client ID to use to obtain a JWT token for endpoints requiring authentication as an APP
MOBCONNECT_APP_SECRET=                              # Secret key to use to obtain a JWT token for endpoints requiring authentication as an APP

###### USERS CONFIGURATION ######
USER_MIN_AGE=18     # minimum age to use the service
USER_AUTO_DELETE_AFTER_INACTIVITY=false # true : User are automatically deleted after USER_AUTO_DELETE_PERIOD months
USER_AUTO_DELETE_PERIOD=24    # in months

###### AUTOMATED COMMANDS ######
AUTOMATED_COMMANDS=%kernel.project_dir%/config/params/commands.json

USER_DELEGATE_EMAIL_BASE=

###### CARPOOL STANDARD ######
CARPOOL_STANDARD_ENABLED=false
CARPOOL_STANDARD_PROVIDER='' #name of the carpoolStandard provider ex: Interop
CARPOOL_STANDARD_API_KEY=''  #api-key to call de carpoolStandard provider
CARPOOL_STANDARD_BASE_URI='' #base uri  of the carpoolStandar provider
CARPOOL_STANDARD_OPERATOR_IDENTIFIER='' #operator name (must be a full domain name) we used to call the carpoolStandard ex : mobicoop.fr

###### CSV EXPORT ######
CSV_EXPORTS=%kernel.project_dir%/config/csvExport/csvExport.json

###### MOBICOOP MATCHER (V3) ######
MATCHER_CUSTOMIZATION=false     # if false, the in-built classic Matcher is used
MATCHER_URI="http://localhost:5000"
MATCHER_API_KEY=

###### USERS REMINDERS ######
SCHEDULES_REMINDERS=%kernel.project_dir%/config/params/reminders.json

###> sentry/sentry-symfony ###
SENTRY_DSN=
SENTRY_INSTANCE=
###< sentry/sentry-symfony ###

###### GRATUITY ######
GRATUITY_CAMPAIGN_ACTIVE=false

##### SIGNUP CONFIGURATION ######
SIGNUP_AUTHORIZED_REFERRALS='[]'