(TP48736 / 2023.1903)
The new behavior is enabled by BRP staff with the setting TEMP_TOGGLE_EnableCompanyWiseCustomerTypeAgeDefinition
Configure customer types at
BRP Configuration > Persons > Customer type
Properties
Active
Decides if a customer type can be selected.
Automatically change to/from based on age
Age ranges can be added as a default value that can be used across all the companies and can be overridden company wise too. When creating a person, these customer types will be automatically selected according to the age of the person when setting the date of birth. This can be overridden by other customer types, but not by the other types which have an age range defined.
The customers who are assigned these customer types will be changed automatically when the age exceeds the limits defined for the type and the type will be changed to a matching customer type which has the "Automatically changed to/from based on age" check box ticked. If there is no type for the new age, the customer type will be changed to the regular price list. (Scheduled task UpdatePersonPriceList)
If in any case the customer has an unmatching customer type which is applied based on age, they will be changed to the correct type of age or to regular price list if there is no matching value by a daily scheduler. (Scheduled task UpdateCustomerTypeExpirationDateScheduleTask)
Examples: Child, youth, senior
Example:
Customer type “Regular price list” has “Automatically change to/from based on age” enabled
Customer type “Teenager” (13-20) has “Automatically change to/from based on age” enabled
A person with age 15 customer type “Regular price list” (set manually) will get customer type “Teenager” in the nightly update. This will NOT happen if any of the two customer types does not have
“Automatically change to/from based on age” enabled.
Only allow this customer type if the age range matches the age of the person
When creating a person, these customer types will be automatically selected according to the current age of the person when setting the date of birth. This can be overridden by other customer types, but not by the types which have an age range defined. (The first priority is given to the types which has "Automatically change to/from based on age" )
A customer type can only be either "Automatically changed to/from based on age" or "Only allow this customer type if the age range matches the age of the person". Cannot select both checkboxes for a type.
Notify when the customer type changes
When this property is enabled, the follow up point "Customer type expires" sends a message to both the user and the payer when a customer type is about to expire.
Examples: Student, organization and other customer types which need to be renewed yearly (or at any other interval). You can also notify the user and payer when age based customer types such as youth will result in a price change.
If the customer type of a person changes, the price of their subscriptions will change to that of the new price list (or standard if there is no price list on the customer type) as long as the subscription is not under price warranty.
System/company level
Customer types are managed on a system level, but age limits can be set on a company level.
Important: The upper age limit is “up to, but not including”, so there should be a one year overlap when configuring age limits.
Example:
Baby - Lower age limit = 0, upper age limit = 1
Toddler - Lower age limit = 1, upper age limit = 4 (when I turn 1, I’m a toddler)
Child - Lower age limit = 4, upper age limit = 14 (when I turn 4, I’m a child)
Youth - Lower age limit = 14, upper age limit = 18 (when I turn 14, I’m a youth)
When I turn 18 i get the regular customer type, that does not need to have age limits set.
Senior - Lower age limit = 65, upper age limit = 200 (when I turn 65, I’m a senior)
Age limits configured on customer types are used if TEMP_TOGGLE_EnableCompanyWiseCustomerTypeAgeDefinition is enabled. If not, the age limits configured in the settings will be used.
Scheduled tasks used for customer types
UpdatePersonPriceList
UpdateCustomerTypeExpirationDateScheduleTask