"""General constants module.""" from abacus_common_logic.utils.enum import enum ELIGIBILITY_STATUSES = enum('EligibilityStatuses', ON_HOLD='on_hold', ACTIVE='active') PAYMENT_SCHEDULE = enum( 'PaymentSchedule', SCHEDULE_30_DAYS_MONTH='30_days_after_month_end', SCHEDULE_45_DAYS_MONTH='45_days_after_month_end', SCHEDULE_60_DAYS_MONTH='60_days_after_month_end', SCHEDULE_90_DAYS_MONTH='90_days_after_month_end', SCHEDULE_30_DAYS_QUARTER='30_days_after_quarter_end', SCHEDULE_45_DAYS_QUARTER='45_days_after_quarter_end', SCHEDULE_60_DAYS_QUARTER='60_days_after_quarter_end', SCHEDULE_90_DAYS_QUARTER='90_days_after_quarter_end', SCHEDULE_30_DAYS_HALFYEAR='30_days_after_half_year_end', SCHEDULE_45_DAYS_HALFYEAR='45_days_after_half_year_end', SCHEDULE_60_DAYS_HALFYEAR='60_days_after_half_year_end', SCHEDULE_90_DAYS_HALFYEAR='90_days_after_half_year_end', TEMPORARY='TEMPORARY', ) VAT_APPLICABLE_COUNTRIES = enum( 'VatApplicableCountries', GBR='GBR', ) VENDOR_RESOURCE_NAME = 'Vendor' EMPLOYEE_ALL_VENDORS_MARK = '*' LABEL_RESOURCE_NAME = 'label' # profile level headers. ORCHARD_PROFILE_ID = 'Orchard-Profile-Id' ORCHARD_PROFILE_TYPE = 'Orchard-Profile-Type' ORCHARD_ROLES = 'Orchard-Roles' ORCHARD_PAYEE_ROLE = 'payee_management' # ows-permissions OWS_PERMISSIONS_SERVICE_NAME = 'ows-permissions' OWS_PERMISSIONS_ACCOUNT_ENDPOINT_URL = ( '/admin/profile-type/{' + 'profile_type}/' + 'profile/{profile_id}/resource/' + '{resource_type}' ) DEFAULT_PAGE_LIMIT = 100 DEFAULT_PAGE_OFFSET = 0 KAFKA_TOPICS = { 'TAX_INFO_UPDATED': 'graphql.subscription.abacusAccountTaxInfoUpdated', 'CHANGE_PAYEE_PROGRAM': 'event.payee.programMove', } ACCOUNT_KAFKA_EVENT_NAMES = enum( 'AccountKafkaEventNames', TAX_INFO_UPDATED='TAX_INFO_UPDATED', CHANGE_PAYEE_PROGRAM='CHANGE_PAYEE_PROGRAM', ) SKIP_PAYMENT_TERM_TEMPLATE_CREATION_SOURCES = ('lambda-abacus-sync-account',) # TODO remove SIGNING_ENTITY_TO_PAYMENT_ENTITY_MAPPING = {2: 1, 6: 2, 7: 4, 8: 3} REFERENCE_PAYMENT_TYPES = enum( 'ReferencePaymentTypes', ADVANCE='advance', BULK_PAYOUTS='bulk_payouts', ) # TODO the mapping is temporary until we figure out a more permanent way of linking PAYMENT_NAME_TO_REFERENCE_PAYMENT_TYPE = { 'awal': 7, 'orchard': 8, 'knr': 9, } TAX_EMPLOYMENT_TYPES = enum( 'TaxEmploymentTypes', BUSINESS='Business', EMPLOYED_INDIVIDUAL='Employed Individual', SELF_EMPLOYED_INDIVIDUAL_LESS_2_YEARS='Self-Employed Individual (< 2 years)', SELF_EMPLOYED_INDIVIDUAL_MORE_EQUAL_2_YEARS='Self-Employed Individual (>= 2 years)', INDIVIDUAL='Individual', SMALL_BUSINESS_EU_VAT_NOT_REQUIRED='Small Business that is not required to register for EU VAT', # noqa ) ALLOW_NONE_COTR_COUNTRIES_OF_TAX_REPORTING = ['ESP'] # Reference payment type ids for the following methods: # payoneer # payoneer_whitelabel # preexisting_payoneer_account # payoneer_wire BULK_PAYOUTS_PAYONEER_PAYMENT_TYPES = [7, 8, 11, 12]