instant_quote 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c0e4d676043f18051bcb1f2b7e19d1717f8358b0b91f5045904836e02b298f41
|
|
4
|
+
data.tar.gz: 685fbafd3e28e54cfda323046c128fcb030dcb3ee7f63d43b57883a550f3e1a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa8b5523e543f875eeb2bd9c35290b362f1be0b68a253d4711bd375f13cbf808781109dd1c283c1c686a5bc398cab7185f519fb2cb97a33d842a9ed705e71a66
|
|
7
|
+
data.tar.gz: 80552793f341720a2030a8fe02a84392c4823daaaf96fa550fe081ece670382f218ed459950547e2157cd6a8bdd08f3a61b7c3c6cf02b84cdf8f676f65c33eeb
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
instant_quote (1.
|
|
4
|
+
instant_quote (1.3.0)
|
|
5
5
|
activesupport
|
|
6
6
|
capital_on_tap
|
|
7
7
|
iwoca
|
|
@@ -12,7 +12,7 @@ PATH
|
|
|
12
12
|
GEM
|
|
13
13
|
remote: https://rubygems.org/
|
|
14
14
|
specs:
|
|
15
|
-
activesupport (6.0.3.
|
|
15
|
+
activesupport (6.0.3.3)
|
|
16
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
17
17
|
i18n (>= 0.7, < 2)
|
|
18
18
|
minitest (~> 5.1)
|
|
@@ -37,6 +37,30 @@ module InstantQuote
|
|
|
37
37
|
required: true,
|
|
38
38
|
if: ->(app) { app.borrower_organisation.sole_trader? }
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
name: 'existing_cbils_loan',
|
|
42
|
+
label: 'Do you already have a CBILS or BBLS loan?',
|
|
43
|
+
required: true,
|
|
44
|
+
choices: {
|
|
45
|
+
'Yes' => 'true',
|
|
46
|
+
'No' => 'false'
|
|
47
|
+
},
|
|
48
|
+
type: 'radio'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'turnover_percentage_after_feb_2020',
|
|
52
|
+
label: 'When compared to before COVID-19, what is your current turnover level?',
|
|
53
|
+
required: true,
|
|
54
|
+
choices: {
|
|
55
|
+
'Greater than before (>100%)' => '>100%',
|
|
56
|
+
'Marginally reduced (80-100%)' => '80-100%',
|
|
57
|
+
'Reduced (60-79%)' => '60-79%',
|
|
58
|
+
'Halved (40-59%)' => '40-59%',
|
|
59
|
+
'Less than half (20-39%)' => '20-39%',
|
|
60
|
+
'Severely reduced or no turnover (<20%)' => '<20%'
|
|
61
|
+
},
|
|
62
|
+
type: 'select'
|
|
63
|
+
},
|
|
40
64
|
{
|
|
41
65
|
name: 'applicant_consent',
|
|
42
66
|
label: 'Yes, I give my consent for my data to be shared',
|
|
@@ -57,17 +81,17 @@ module InstantQuote
|
|
|
57
81
|
|
|
58
82
|
# Get the status for a given application ID
|
|
59
83
|
# {:applicationStatus=>
|
|
60
|
-
# {:locatorId=>
|
|
61
|
-
# :applicationStage=>
|
|
84
|
+
# {:locatorId=>'B247T62',
|
|
85
|
+
# :applicationStage=>'AppSubmitted',
|
|
62
86
|
# :creditDecision=>
|
|
63
|
-
# {:status=>
|
|
87
|
+
# {:status=>'Pending',
|
|
64
88
|
# :starRating=>0.0,
|
|
65
89
|
# :approvalAmount=>0.0,
|
|
66
90
|
# :monthlyInterestRate=>0.0,
|
|
67
91
|
# :monthlyCardInterestRate=>0.0,
|
|
68
|
-
# :decisionDate=>
|
|
69
|
-
# :creditDecisionReason=>
|
|
70
|
-
# :links=>{:self=>
|
|
92
|
+
# :decisionDate=>'2020-01-28T01:44:29.241',
|
|
93
|
+
# :creditDecisionReason=>'None'}},
|
|
94
|
+
# :links=>{:self=>'/api/v1/Applications/B247T62', :parent=>nil},
|
|
71
95
|
# :metaData=>{}
|
|
72
96
|
# }
|
|
73
97
|
def get_status(application_id)
|
|
@@ -30,57 +30,57 @@ module InstantQuote
|
|
|
30
30
|
required: true,
|
|
31
31
|
type: 'select',
|
|
32
32
|
choices: [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
33
|
+
'Advertising / Marketing',
|
|
34
|
+
'Beer / Wine Merchant',
|
|
35
|
+
'Builders Merchant',
|
|
36
|
+
'Clothing & Fashion',
|
|
37
|
+
'Computer Hardware',
|
|
38
|
+
'Computer Software',
|
|
39
|
+
'Construction',
|
|
40
|
+
'Consultancy',
|
|
41
|
+
'Contract Cleaning',
|
|
42
|
+
'Courier',
|
|
43
|
+
'Distribution',
|
|
44
|
+
'Driving Agency',
|
|
45
|
+
'Electrical Contracting',
|
|
46
|
+
'Electrical Wholesaler',
|
|
47
|
+
'Engineering - Heavy',
|
|
48
|
+
'Engineering - Light',
|
|
49
|
+
'Engineering - Precision',
|
|
50
|
+
'Fabrication',
|
|
51
|
+
'Flooring Contractor',
|
|
52
|
+
'Food Manufacture',
|
|
53
|
+
'Franchise',
|
|
54
|
+
'Free Newspaper',
|
|
55
|
+
'Freight Forwarding',
|
|
56
|
+
'Fruit Importer',
|
|
57
|
+
'Furniture Manufacture',
|
|
58
|
+
'Garden Equipment',
|
|
59
|
+
'Haulage',
|
|
60
|
+
'IT Contracting',
|
|
61
|
+
'Jewellery',
|
|
62
|
+
'Maintenance',
|
|
63
|
+
'Manufacturing',
|
|
64
|
+
'Meat Trade',
|
|
65
|
+
'Other Services',
|
|
66
|
+
'Permanent Recruitment',
|
|
67
|
+
'Plant Hire',
|
|
68
|
+
'Plastic Injection Moulding',
|
|
69
|
+
'Plumbers Merchant',
|
|
70
|
+
'Printing',
|
|
71
|
+
'Publishing',
|
|
72
|
+
'Recycling',
|
|
73
|
+
'Security Guards',
|
|
74
|
+
'Shopfitting',
|
|
75
|
+
'Stationery',
|
|
76
|
+
'Steel Stockholding',
|
|
77
|
+
'Telecoms',
|
|
78
|
+
'Temporary Recruitment',
|
|
79
|
+
'Timber Merchant',
|
|
80
|
+
'Tooling Manufacture',
|
|
81
|
+
'Toys & Fancy Goods',
|
|
82
|
+
'Warehousing & Storage',
|
|
83
|
+
'Wholesale'
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
86
|
{
|
|
@@ -88,8 +88,8 @@ module InstantQuote
|
|
|
88
88
|
label: 'Do you require credit control?',
|
|
89
89
|
required: false,
|
|
90
90
|
choices: {
|
|
91
|
-
'
|
|
92
|
-
'
|
|
91
|
+
'Yes' => '1',
|
|
92
|
+
'No' => '0'
|
|
93
93
|
},
|
|
94
94
|
type: 'radio'
|
|
95
95
|
},
|
|
@@ -6,6 +6,60 @@ module InstantQuote
|
|
|
6
6
|
module ConnectionTranslators
|
|
7
7
|
class CapitalOnTap < ConnectionTranslator
|
|
8
8
|
DEFAULT_SALUTATION = 'Mr'
|
|
9
|
+
LOAN_PURPOSE_MAPPING = {
|
|
10
|
+
'Apply for COVID-19 support/for other reasons' => 'General working capital requirements',
|
|
11
|
+
'Apply for COVID-19 support/to pay existing loans' => 'Repay Finances with another lender',
|
|
12
|
+
'Apply for COVID-19 support/to pay suppliers' => 'General working capital requirements',
|
|
13
|
+
'Apply for COVID-19 support/to protect jobs' => 'Payment of wages or rent',
|
|
14
|
+
'Apply for COVID-19 support/to refinance existing loans' => 'Repay Finances with another lender',
|
|
15
|
+
'Buy or develop property/buy the property my business already occupies' => '',
|
|
16
|
+
'Buy or develop property/buying a business that includes premises' => 'Acquisition of another business in the UK',
|
|
17
|
+
'Buy or develop property/buying a property for my business to move into' => '',
|
|
18
|
+
'Buy or develop property/develop residential or commercial premises' => 'Bridging loan',
|
|
19
|
+
'Buy or develop property/invest in a foreign property to rent it out' => '',
|
|
20
|
+
'Buy or develop property/invest in a holiday let' => '',
|
|
21
|
+
'Buy or develop property/invest in UK property' => 'Bridging loan',
|
|
22
|
+
'Buy or develop property/other property finance needs' => 'Bridging loan',
|
|
23
|
+
'Buy or refinance vehicle(s)/agricultural vehicle(s)' => 'General working capital requirements',
|
|
24
|
+
'Buy or refinance vehicle(s)/car(s)' => 'General working capital requirements',
|
|
25
|
+
'Buy or refinance vehicle(s)/caravan(s) & mobile home(s)' => 'General working capital requirements',
|
|
26
|
+
'Buy or refinance vehicle(s)/commercial vehicle(s)' => 'General working capital requirements',
|
|
27
|
+
'Buy or refinance vehicle(s)/fork lift truck(s)' => 'General working capital requirements',
|
|
28
|
+
'Buy or refinance vehicle(s)/other vehicle finance requirements' => 'General working capital requirements',
|
|
29
|
+
'Help with grants, tax credits and pension finance/for a research & development project' => 'Research and development activities',
|
|
30
|
+
'Help with grants, tax credits and pension finance/for green energy projects' => 'General working capital requirements',
|
|
31
|
+
'Help with grants, tax credits and pension finance/for projects with social impact' => 'General working capital requirements',
|
|
32
|
+
'Help with grants, tax credits and pension finance/other grant funding needs' => '',
|
|
33
|
+
'Help with grants, tax credits and pension finance/starting a business, incl. accelerator and incubator programs' => 'Start up costs',
|
|
34
|
+
'Help with grants, tax credits and pension finance/to fund skills and training initiatives' => 'General working capital requirements',
|
|
35
|
+
'Help with grants, tax credits and pension finance/utilise pensions to lend to a business' => '',
|
|
36
|
+
'Improve cashflow/borrow against monthly income from a credit card terminal' => '',
|
|
37
|
+
'Improve cashflow/finance overseas trading and exporting' => 'General working capital requirements',
|
|
38
|
+
'Improve cashflow/other cashflow requirements' => 'General working capital requirements',
|
|
39
|
+
'Improve cashflow/raise credit against agreed purchase orders' => 'General working capital requirements',
|
|
40
|
+
'Improve cashflow/release capital from pension fund(s)' => '',
|
|
41
|
+
'Improve cashflow/release cash from one unpaid invoice to another business' => 'General working capital requirements',
|
|
42
|
+
'Improve cashflow/release cash from several invoices to other businesses' => 'General working capital requirements',
|
|
43
|
+
'Improve cashflow/spread the cost of a large bill' => 'General working capital requirements',
|
|
44
|
+
'Invest in equipment or machinery/computers (hardware, software)' => 'Purchase of equipment/machinery/stock',
|
|
45
|
+
'Invest in equipment or machinery/equipment (office, printing, medical, etc.)' => 'Purchase of equipment/machinery/stock',
|
|
46
|
+
'Invest in equipment or machinery/furniture & furnishings' => 'Purchase of equipment/machinery/stock',
|
|
47
|
+
'Invest in equipment or machinery/machinery & tools' => 'Purchase of equipment/machinery/stock',
|
|
48
|
+
'Invest in equipment or machinery/other investment needs' => 'Purchase of licences,quotas or other entitlements to trade',
|
|
49
|
+
'Invest in equipment or machinery/phone & telecom systems' => 'Purchase of equipment/machinery/stock',
|
|
50
|
+
'Refinance an existing.../asset' => 'Repay Finances with another lender',
|
|
51
|
+
'Refinance an existing.../business loan' => 'Repay Finances with another lender',
|
|
52
|
+
'Refinance an existing.../commercial mortgage' => '',
|
|
53
|
+
'Refinance an existing.../other refinancing needs' => 'Repay Finances with another lender',
|
|
54
|
+
'Seeking investment/for a management buy-out' => 'Acquisition of another business in the UK',
|
|
55
|
+
'Seeking investment/other funding requirements' => 'General working capital requirements',
|
|
56
|
+
'Seeking investment/to launch a new B2B product or service' => 'Start up costs',
|
|
57
|
+
'Seeking investment/to launch a new consumer product or service' => 'Start up costs',
|
|
58
|
+
'Seeking investment/to purchase another business' => 'Acquisition of another business in the UK',
|
|
59
|
+
'Seeking investment/to reach more consumers with a proven product or service' => 'Expansion Activities in the UK',
|
|
60
|
+
'Seeking investment/to win more business clients with a proven product or service' => 'Expansion Activities in the UK',
|
|
61
|
+
'Seeking investment/venture builder, accelerator and incubator programs' => ''
|
|
62
|
+
}.freeze
|
|
9
63
|
|
|
10
64
|
# rubocop:disable Metrics/AbcSize
|
|
11
65
|
def translate
|
|
@@ -24,7 +78,8 @@ module InstantQuote
|
|
|
24
78
|
MonthlyTurnOver: translate_turnover,
|
|
25
79
|
BusinessType: translate_business_type,
|
|
26
80
|
BusinessAddress: translate_address,
|
|
27
|
-
RegistrationNumber: app_org.company_number
|
|
81
|
+
RegistrationNumber: app_org.company_number,
|
|
82
|
+
additionalQuestions: additional_questions
|
|
28
83
|
}
|
|
29
84
|
|
|
30
85
|
# If the borrower organisation is Sole Trader we need to merge two additional fields.
|
|
@@ -71,7 +126,7 @@ module InstantQuote
|
|
|
71
126
|
}
|
|
72
127
|
end
|
|
73
128
|
|
|
74
|
-
# Since in Finpoint the user selects an intervel (i.e.
|
|
129
|
+
# Since in Finpoint the user selects an intervel (i.e. '500,000 - 999,999'). We get the avg
|
|
75
130
|
# on this interval and use that number as the monthly turnover.
|
|
76
131
|
def translate_turnover
|
|
77
132
|
turnover = app_org.turnover_range
|
|
@@ -93,6 +148,47 @@ module InstantQuote
|
|
|
93
148
|
'Partnership'
|
|
94
149
|
end
|
|
95
150
|
end
|
|
151
|
+
|
|
152
|
+
def additional_questions
|
|
153
|
+
[
|
|
154
|
+
loan_purpose_question,
|
|
155
|
+
cbils_loan_question,
|
|
156
|
+
turnover_percentage_question
|
|
157
|
+
]
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def loan_purpose_question
|
|
161
|
+
{
|
|
162
|
+
question: 'What is the purpose of the loan?',
|
|
163
|
+
answer: translate_loan_purpose,
|
|
164
|
+
questionType: '16'
|
|
165
|
+
}
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def cbils_loan_question
|
|
169
|
+
question_from_extra_info('existing_cbils_loan', '17')
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def turnover_percentage_question
|
|
173
|
+
question_from_extra_info('turnover_percentage_after_feb_2020', '20')
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def question_from_extra_info(name, question_type)
|
|
177
|
+
field = Adapters::CapitalOnTap.additional_fields.find do |f|
|
|
178
|
+
f[:name] == name
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
{ question: field[:label], answer: extra_info[field[:name]], questionType: question_type }
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def translate_loan_purpose
|
|
185
|
+
proceeds_purpose = [
|
|
186
|
+
application.proceeds_purpose&.overview&.name,
|
|
187
|
+
application.proceeds_purpose&.name
|
|
188
|
+
].join('/')
|
|
189
|
+
|
|
190
|
+
LOAN_PURPOSE_MAPPING[proceeds_purpose]
|
|
191
|
+
end
|
|
96
192
|
end
|
|
97
193
|
end
|
|
98
194
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: instant_quote
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- rikas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-09-
|
|
11
|
+
date: 2020-09-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|