package org.apache.fineract.utils;

/**
 * @author Rajan Maurya
 * On 27/06/17.
 */
public class ConstantKeys {

    public static final String CUSTOMER_IDENTIFIER = "customer_identifier";
    public static final String CUSTOMER_STATUS = "customer_status";
    public static final String IS_NEW_CUSTOMER = "is_new_customer";
    public static final String CUSTOMER_ACTION = "customer_action";
    public static final String CUSTOMER = "customer";
    public static final String CUSTOMER_ADDRESS = "customer_address";
    public static final String CUSTOMER_CONTACT_DETAILS = "customer_contact_details";
    public static final String PRODUCT_IDENTIFIER = "product_identifier";
    public static final String CASE_IDENTIFIER = "case_identifier";
    public static final String ACCOUNT_IDENTIFIER = "account_identifier";
    public static final String LOAN_CREDITWORTHINESSSNAPSHOTS = "loan_creditWorthinessSnapshots";
    public static final String IDENTIFICATION_CARD = "identification_card";
    public static final String IDENTIFICATION_SCAN_CARD = "identification_scan_card";
    public static final String IDENTIFICATION_NUMBER = "identification_number";
    public static final String POSITION = "position";
    public static final String IDENTIFICATION_ACTION = "identification_action";
    public static final String DEPOSIT_ACTION = "deposit_action";
    public static final String DEPOSIT_ACCOUNT = "deposit";
    public static final String COUNTRIES = "countries";
    public static final String LOAN_ACCOUNT = "loan_account";
    public static final String LOAN_APPLICATION_ACTION = "loan_application_action";


    public static final String PAYROLL_CONFIG = "payrollConfiguration";

    public static final int REQUEST_PERMISSION_SETTING = 254;

    public static final int PERMISSIONS_REQUEST_CAMERA = 1;
    public static final String PERMISSIONS_CAMERA_STATUS = "camera_status";

    public static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 2;
    public static final int PERMISSION_REQUEST_ALL = 4;
    public static final String PERMISSIONS_WRITE_EXTERNAL_STORAGE_STATUS = "write_status";

    public static final int PERMISSION_REQUEST_READ_EXTERNAL_STORAGE = 3;
    public static final String PERMISSIONS_READ_EXTERNAL_STORAGE_STATUS = "read_status";

}
