    # CustomerUser
    # (customer user database backend and settings)
    $Self->{CustomerUser} = {
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            Table => 'customer_user',
        },
        # customer uniq id
        CustomerKey => 'login',
        # customer #
        CustomerID => 'customer_id',
        CustomerValid => 'valid_id',
        CustomerUserListFields => ['login', 'first_name', 'last_name', 'email'],
        CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['salutation', 'first_name', 'last_name'],
#        ReadOnly => 1,

# --
#	tghesp 20031223
#	Introduced new 'source' column in CustomerUser map.
#	'source' may contain any Perl expression wanted to initialize the field so you can also use it to verify and/or format
#	data entered although it would be better to handle that at the front-end (but that's a different issue). 
#	Note this will only work for new customers! This will have no effect to changes on existing customer records as there is a 
#	danger that fields are modified (for instance CustomerUserID & UserPassword in the example below) unintendedly. So verification
#	or formatting will also not work when modifying a customer record (this would require yet another column in the map, maybe
#	something for next time?).
#	IMPORTANT!: Be careful when setting 'source' for UserPassword! I.e. make sure you pass a clear-text value and not an encrypted
#		    one otherwise it will be encrypted twice (which does make your system very, very secure though... ;-) )!
# --

	# If you want to use field initialization routines from your own module, define it here (results in creation of
	# LocalCustomerUserObject object).
	CustomerInitModule => 'Kernel::System::CustomerUser::Local::Init',

        Map => [
            # note: Login, Email and CustomerID needed!
            # var, 		frontend, 	storage, 	shown, 	required,	storage-type,	http-link,	source
            [ 'UserSalutation', 'Salutation', 	'salutation', 	1, 	0, 		'var',		'' ],
            [ 'UserFirstname', 	'Firstname', 	'first_name', 	1, 	1, 		'var',		'' ],
            [ 'UserLastname', 	'Lastname', 	'last_name', 	1, 	1, 		'var',		'' ],
            [ 'UserCompany', 	'Company', 	'company', 	1, 	0, 		'var',		'' ],
            [ 'UserAddress', 	'Address', 	'address', 	1, 	1, 		'var',		'' ],
            [ 'UserHousenumber','Housenumber', 	'housenumber', 	1, 	1, 		'var',		'' ],
            [ 'UserZipcode',	'Zipcode', 	'zipcode', 	1, 	1, 		'var',		'',		'$Self->{LocalCustomerUserObject}->VerifyZipcode(Zipcode => $Param{UserZipcode})' ],
            [ 'UserCity',	'City', 	'city', 	1, 	1, 		'var',		'' ],
            [ 'UserPhone',	'Phone', 	'phone', 	1, 	1, 		'var',		'' ],
            [ 'UserMobile',	'Mobile', 	'mobile', 	1, 	0, 		'var',		'' ],
            [ 'UserFax',	'Fax', 		'fax', 		1, 	0, 		'var',		'' ],
            [ 'UserLogin', 	'Login', 	'login', 	0, 	1, 		'var',		'',		'$Param{UserEmail}' ],
            [ 'UserPassword', 	'Password', 	'pw', 		0, 	1, 		'var',		'',		'$Self->{LocalCustomerUserObject}->GenerateRandomString(PWLength => 8)' ],
            [ 'UserEmail', 	'Email', 	'email', 	0, 	1, 		'var',		'' ],
#            [ 'UserEmail', 	'Email', 	'email', 	1, 	1, 		'var', '$Env{"CGIHandle"}?Action=AgentCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}' ],
            [ 'UserCustomerID', 'CustomerID', 	'customer_id', 	0, 	1, 		'var',		'',		'$Self->{LocalCustomerUserObject}->GenerateCustomerID(ZipCode => $Param{UserZipcode}, Number => $Param{UserHousenumber})' ],
            [ 'UserComment', 	'Comment', 	'comment', 	1, 	0, 		'var',		'' ],
            [ 'ValidID', 	'Valid', 	'valid_id', 	0, 	1, 		'int',		'' ],
        ],
    };
