smartwaiver-sdk 4.0.0 → 4.2.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 +5 -5
- data/README.md +175 -0
- data/lib/smartwaiver-sdk/dynamic_template.rb +387 -0
- data/lib/smartwaiver-sdk/dynamic_template_client.rb +45 -0
- data/lib/smartwaiver-sdk/dynamic_template_data.rb +96 -0
- data/lib/smartwaiver-sdk/keys_client.rb +43 -0
- data/lib/smartwaiver-sdk/search_client.rb +64 -0
- data/lib/smartwaiver-sdk/smartwaiver_base.rb +10 -1
- data/lib/smartwaiver-sdk/smartwaiver_errors.rb +1 -1
- data/lib/smartwaiver-sdk/smartwaiver_version.rb +2 -2
- data/lib/smartwaiver-sdk/template_client.rb +1 -1
- data/lib/smartwaiver-sdk/user_client.rb +37 -0
- data/lib/smartwaiver-sdk/waiver_client.rb +11 -1
- data/lib/smartwaiver-sdk/webhook_client.rb +14 -2
- data/lib/smartwaiver-sdk/webhook_queues_client.rb +63 -0
- data/spec/smartwaiver-sdk/base_spec.rb +37 -0
- data/spec/smartwaiver-sdk/dynamic_template_data_spec.rb +139 -0
- data/spec/smartwaiver-sdk/dynamic_template_spec.rb +450 -0
- data/spec/smartwaiver-sdk/keys_client_spec.rb +41 -0
- data/spec/smartwaiver-sdk/search_client_spec.rb +55 -0
- data/spec/smartwaiver-sdk/user_client_spec.rb +30 -0
- data/spec/smartwaiver-sdk/waiver_client_spec.rb +34 -0
- data/spec/smartwaiver-sdk/webhook_client_spec.rb +17 -0
- data/spec/smartwaiver-sdk/webhook_queues_client_spec.rb +75 -0
- data/spec/spec_helper.rb +333 -1
- metadata +25 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 559daaed2e60bb9bd05128bb3c9a61bf2ee9c63e862cf4add5a66444331a3d23
|
4
|
+
data.tar.gz: dc80881ed8c83fc99b5091d6c9f6d6f98847a7de06b478f5cc5c324c0c9e2eac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61e416b05563dd6c29b430198cf5083f8037b3476f1b1daab254367bf0129c813bd09a48795bd86188e6520ad963e335bd8fa8143d5274b9b48c923881c40459
|
7
|
+
data.tar.gz: 204c4d8f057947d2e8b3bf4e0137f3ddfa31c04055bc03514d73d35557f7ab54a4ef3140e2e7faf664aaf67eb34ffdcf6c3e6fa72a0dbc8c2307361a75c01c70
|
data/README.md
CHANGED
@@ -11,6 +11,8 @@ Table of Contents
|
|
11
11
|
* [Retrieve a Specific Template](#retrieve-a-specific-template)
|
12
12
|
* [List all Signed Waivers](#list-all-signed-waivers)
|
13
13
|
* [Retrieve a Specific Waiver](#retrieve-a-specific-waiver)
|
14
|
+
* [Retrieve Photos on a Waiver](#retrieve-photos-on-a-waiver)
|
15
|
+
* [Search For Waivers](#search-for-waivers)
|
14
16
|
* [Retrieve/Set Webhook Config](#retrieveset-webhook-configuration)
|
15
17
|
* [Exception Handling](#exception-handling)
|
16
18
|
* [Status Codes](#status-codes)
|
@@ -246,6 +248,179 @@ result = client.get(waiver_id, pdf)
|
|
246
248
|
|
247
249
|
The code provided here is also combined in to one example in [retrieve_single_waiver.rb](examples/waivers/retrieve_single_waiver.rb)
|
248
250
|
|
251
|
+
Retrieve Photos on a Waiver
|
252
|
+
----------
|
253
|
+
|
254
|
+
We can also use the API to retrieve any photos taken when the waiver was signed or attached later with the console.
|
255
|
+
All we need is you're API key and the ID of a signed waiver, which has attached photos.
|
256
|
+
|
257
|
+
|
258
|
+
If you don't have a waiver ID to use, you can get a list of signed waivers in your account [here](#list-all-signed-waivers)
|
259
|
+
|
260
|
+
First let's set up the basic Smartwaiver object. Make sure to put in your account's API Key where it says `[INSERT API KEY]`
|
261
|
+
|
262
|
+
```ruby
|
263
|
+
require 'smartwaiver-sdk/waiver_client'
|
264
|
+
|
265
|
+
# The API Key for your account
|
266
|
+
api_key='[INSERT API KEY]'
|
267
|
+
|
268
|
+
client = SmartwaiverWaiverClient.new(api_key)
|
269
|
+
```
|
270
|
+
|
271
|
+
Now, we can request the photos on a specific waiver.
|
272
|
+
Make sure to put your waiver ID in where it says `[INSERT WAIVER ID]`
|
273
|
+
|
274
|
+
```ruby
|
275
|
+
# The unique ID of the signed waiver to be retrieved
|
276
|
+
waiver_id='[INSERT WAIVER ID]'
|
277
|
+
|
278
|
+
result = client.photos(waiver_id)
|
279
|
+
|
280
|
+
photos = result[:photos]
|
281
|
+
```
|
282
|
+
|
283
|
+
This photos object has a little meta-data we can print out:
|
284
|
+
|
285
|
+
```ruby
|
286
|
+
# Print a little header
|
287
|
+
puts "Waiver Photos for: #{photos[:title]}"
|
288
|
+
|
289
|
+
photos[:photos].each do |photo|
|
290
|
+
puts "#{photo[:photoId]}: #{photo[:date]}"
|
291
|
+
end
|
292
|
+
```
|
293
|
+
|
294
|
+
The code provided here is also combined in to one example in [retrieve_waiver_photos.rb](examples/waivers/retrieve_waiver_photos.rb)
|
295
|
+
|
296
|
+
|
297
|
+
Search for Waivers
|
298
|
+
----------
|
299
|
+
|
300
|
+
First let's set up the basic Smartwaiver object. Make sure to put in your account's API Key where it says `[INSERT API KEY]`
|
301
|
+
|
302
|
+
```ruby
|
303
|
+
require 'smartwaiver-sdk/search_client'
|
304
|
+
|
305
|
+
# The API Key for your account
|
306
|
+
api_key='[INSERT API KEY]'
|
307
|
+
|
308
|
+
client = SmartwaiverSearchClient.new(api_key)
|
309
|
+
```
|
310
|
+
|
311
|
+
Now we can request a search for signed waivers from your account.
|
312
|
+
|
313
|
+
```ruby
|
314
|
+
# Request all waivers signed in 2018
|
315
|
+
results = client.search('', '2018-01-01 00:00:00')
|
316
|
+
```
|
317
|
+
|
318
|
+
**Note: The search route is a blocking search. Thus, a request to search for large amounts of data can take up to a few seconds.
|
319
|
+
As such, this route should not be used for anything where real-time performance is important. Instead use the Waivers route.**
|
320
|
+
|
321
|
+
This will return a search object containing metadata about the results of our search.
|
322
|
+
We can easily print out all that information:
|
323
|
+
|
324
|
+
```ruby
|
325
|
+
search = results[:search]
|
326
|
+
# Print out some information about the result of the search
|
327
|
+
puts "Search Complete:"
|
328
|
+
puts " Search ID: #{search[:guid]}"
|
329
|
+
puts " Waiver Count: #{search[:count]}"
|
330
|
+
puts " #{search[:pages]} pages of size #{search[:pageSize]}"
|
331
|
+
```
|
332
|
+
|
333
|
+
The server has stored the results of our search request under the GUID given.
|
334
|
+
We can now loop through the pages and request each page, which will be a list of up to 100 waivers.
|
335
|
+
For example, if we wanted to created a list of all first names from our search, we would do that like this:
|
336
|
+
|
337
|
+
```ruby
|
338
|
+
# We're going to create a list of all the first names on all the waivers
|
339
|
+
name_list = [];
|
340
|
+
|
341
|
+
pages = search[:pages]
|
342
|
+
current_page = 0
|
343
|
+
search_guid = search[:guid]
|
344
|
+
|
345
|
+
while current_page < pages
|
346
|
+
puts "Requesting page: #{current_page}/#{pages} ..."
|
347
|
+
|
348
|
+
waivers = client.results(search_guid, current_page)
|
349
|
+
|
350
|
+
puts "Processing page: #{current_page}/#{pages} ..."
|
351
|
+
|
352
|
+
waivers[:search_results].each do |waiver|
|
353
|
+
name_list.push(waiver[:firstName])
|
354
|
+
end
|
355
|
+
|
356
|
+
current_page = current_page + 1
|
357
|
+
end
|
358
|
+
```
|
359
|
+
|
360
|
+
To see all the different properties a waiver has, check out [waiver_properties.rb](examples/waivers/waiver_properties.rb)
|
361
|
+
|
362
|
+
This examples is also available in [basic_search.rb](examples/search/basic_search.rb)
|
363
|
+
|
364
|
+
### Search Parameters
|
365
|
+
|
366
|
+
We can also restrict our search with more parameters.
|
367
|
+
For example, what if we only want to return waivers for one of the templates in our account.
|
368
|
+
Here is the code to do that:
|
369
|
+
|
370
|
+
```ruby
|
371
|
+
# The unique ID of the template to search for
|
372
|
+
|
373
|
+
template_id='[INSERT TEMPLATE ID]'
|
374
|
+
|
375
|
+
# Request all waivers signed for this template
|
376
|
+
results = client.search(template_id)
|
377
|
+
```
|
378
|
+
|
379
|
+
Or what if we only want any waivers that have not been verified (either by email or at the kiosk)?
|
380
|
+
|
381
|
+
```ruby
|
382
|
+
# Request all waivers signed that not have been email verified
|
383
|
+
results = client.search(template_id, '', '', '', '', true)
|
384
|
+
```
|
385
|
+
|
386
|
+
What other parameters can you use? Here are some more examples:
|
387
|
+
|
388
|
+
```ruby
|
389
|
+
# Request all waivers signed for this template after the given date
|
390
|
+
results = client.search(template_id, '2017-01-01 00:00:00')
|
391
|
+
|
392
|
+
# Request all waivers signed for this template before the given date
|
393
|
+
results = client.search(template_id, '', '2017-01-01 00:00:00')
|
394
|
+
|
395
|
+
# Request all waivers signed for this template with a participant name Kyle
|
396
|
+
results = client.search(template_id, '', '', 'Kyle')
|
397
|
+
|
398
|
+
# Request all waivers signed for this template with a participant name Kyle Smith
|
399
|
+
results = client.search(template_id, '', '', 'Kyle', 'Smith')
|
400
|
+
|
401
|
+
# Request all waivers signed with a participant name Kyle that have been email verified
|
402
|
+
results = client.search(template_id, '', '', 'Kyle', '', true)
|
403
|
+
|
404
|
+
# Request all waivers signed in ascending sorted order
|
405
|
+
results = client.search(template_id, '', '', '', '', '', false)
|
406
|
+
```
|
407
|
+
|
408
|
+
These examples are also available in [search_params.rb](examples/search/search_params.rb)
|
409
|
+
|
410
|
+
### Parameter Options
|
411
|
+
|
412
|
+
| Parameter Name | Default Value | Accepted Values | Notes |
|
413
|
+
| -------------- | ------------- | ----------------- | --------------------------------------------------------------------------------------- |
|
414
|
+
| templateId | | Valid Template ID | Limit signed waivers to only this template |
|
415
|
+
| fromDts | | ISO 8601 Date | Limit to signed waivers between after this date |
|
416
|
+
| toDts | | ISO 8601 Date | Limit to signed waivers between before this date |
|
417
|
+
| firstName | | Alpha-numeric | Limit to signed waivers that have a participant with this first name (Case Insensitive) |
|
418
|
+
| lastName | | Alpha-numeric | Limit to signed waivers that have a participant with this last name (Case Insensitive) |
|
419
|
+
| verified | null | true/false/null | Limit selection to waiver that have been verified (true), not (false), or both (null) |
|
420
|
+
| sortDesc | true | true/false | Sort results in descending (latest signed waiver first) order |
|
421
|
+
|
422
|
+
|
423
|
+
|
249
424
|
Retrieve/Set Webhook Configuration
|
250
425
|
----------
|
251
426
|
|
@@ -0,0 +1,387 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2018 Smartwaiver
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
5
|
+
# not use this file except in compliance with the License. You may obtain
|
6
|
+
# a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
12
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
13
|
+
# License for the specific language governing permissions and limitations
|
14
|
+
# under the License.
|
15
|
+
|
16
|
+
require 'smartwaiver-sdk/smartwaiver_base'
|
17
|
+
require 'smartwaiver-sdk/dynamic_template_data'
|
18
|
+
|
19
|
+
class SmartwaiverDynamicTemplate
|
20
|
+
|
21
|
+
EXPIRATION_DEFAULT = 300
|
22
|
+
|
23
|
+
attr_accessor :expiration, :template_config, :data
|
24
|
+
|
25
|
+
def initialize(expiration = EXPIRATION_DEFAULT)
|
26
|
+
@expiration = expiration
|
27
|
+
@template_config = SmartwaiverDynamicTemplateConfig.new
|
28
|
+
@data = SmartwaiverDynamicTemplateData.new
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_json
|
32
|
+
{:template => @template_config.for_json, :data => @data.for_json}.to_json
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
class SmartwaiverDynamicTemplateConfig
|
38
|
+
|
39
|
+
attr_accessor :meta, :header, :body, :participants,
|
40
|
+
:standard_questions, :guardian, :electronic_consent,
|
41
|
+
:styling, :completion, :signatures, :processing
|
42
|
+
|
43
|
+
def initialize()
|
44
|
+
@meta = SmartwaiverTemplateMeta.new
|
45
|
+
@header = SmartwaiverTemplateHeader.new
|
46
|
+
@body = SmartwaiverTemplateBody.new
|
47
|
+
@participants = SmartwaiverTemplateParticipants.new
|
48
|
+
@standard_questions = SmartwaiverTemplateStandardQuestions.new
|
49
|
+
@guardian = SmartwaiverTemplateGuardian.new
|
50
|
+
@electronic_consent = SmartwaiverTemplateElectronicConsent.new
|
51
|
+
@styling = SmartwaiverTemplateStyling.new
|
52
|
+
@completion = SmartwaiverTemplateCompletion.new
|
53
|
+
@signatures = SmartwaiverTemplateSignatures.new
|
54
|
+
@processing = SmartwaiverTemplateProcessing.new
|
55
|
+
end
|
56
|
+
|
57
|
+
def for_json
|
58
|
+
{
|
59
|
+
'meta' => @meta.for_json,
|
60
|
+
'header' => @header.for_json,
|
61
|
+
'body' => @body.for_json,
|
62
|
+
'participants' => @participants.for_json,
|
63
|
+
'standardQuestions' => @standard_questions.for_json,
|
64
|
+
'guardian' => @guardian.for_json,
|
65
|
+
'electronicConsent' => @electronic_consent.for_json,
|
66
|
+
'styling' => @styling.for_json,
|
67
|
+
'completion' => @completion.for_json,
|
68
|
+
'signatures' => @signatures.for_json,
|
69
|
+
'processing' => @processing.for_json
|
70
|
+
}
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
class SmartwaiverTemplateMeta
|
75
|
+
|
76
|
+
attr_accessor :title, :locale
|
77
|
+
|
78
|
+
def initialize()
|
79
|
+
@title = nil
|
80
|
+
@locale = nil
|
81
|
+
end
|
82
|
+
|
83
|
+
def for_json
|
84
|
+
json = {}
|
85
|
+
json['title'] = @title if (!@title.nil?)
|
86
|
+
json['locale'] = {'locale' => @locale} if (!@locale.nil?)
|
87
|
+
json
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
class SmartwaiverTemplateHeader
|
92
|
+
|
93
|
+
MEDIA_TYPE_PNG = 'image/png'
|
94
|
+
MEDIA_TYPE_JPEG = 'image/jpeg'
|
95
|
+
|
96
|
+
attr_accessor :text, :image_base_64
|
97
|
+
|
98
|
+
def initialize()
|
99
|
+
@text = nil
|
100
|
+
@image_base_64 = nil
|
101
|
+
end
|
102
|
+
|
103
|
+
def format_image_inline(media_type, encoded_image)
|
104
|
+
@image_base_64 = "data:#{media_type};base64,#{encoded_image}"
|
105
|
+
end
|
106
|
+
|
107
|
+
def for_json
|
108
|
+
json = {}
|
109
|
+
json['text'] = @text if (!@text.nil?)
|
110
|
+
json['logo'] = {'image' => @image_base_64} if (!@image_base_64.nil?)
|
111
|
+
json
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
class SmartwaiverTemplateBody
|
116
|
+
|
117
|
+
attr_accessor :text
|
118
|
+
|
119
|
+
def initialize()
|
120
|
+
@text = nil
|
121
|
+
end
|
122
|
+
|
123
|
+
def for_json
|
124
|
+
json = {}
|
125
|
+
json['text'] = @text if (!@text.nil?)
|
126
|
+
json
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
class SmartwaiverTemplateParticipants
|
131
|
+
|
132
|
+
ADULTS_AND_MINORS = 'adultsAndMinors'
|
133
|
+
MINORS_WITHOUT_ADULTS = 'minorsWithoutAdults'
|
134
|
+
|
135
|
+
PHONE_ADULTS_ONLY = 'adults'
|
136
|
+
PHOHE_ADULTS_AND_MINORS = 'adultsAndMinors'
|
137
|
+
|
138
|
+
DOB_CHECKBOX = 'checkbox'
|
139
|
+
DOB_SELECT = 'select'
|
140
|
+
|
141
|
+
attr_accessor :adults, :minors_enabled, :allow_multiple_minors, :allow_without_adults,
|
142
|
+
:allows_adults_and_minors, :age_of_majority, :participant_label, :participating_text,
|
143
|
+
:show_middle_name, :show_phone, :show_gender, :dob_type
|
144
|
+
|
145
|
+
def initialize()
|
146
|
+
@adults = true
|
147
|
+
@minors_enabled = nil
|
148
|
+
@allow_multiple_minors = nil
|
149
|
+
@allow_without_adults = nil
|
150
|
+
@allows_adults_and_minors = nil
|
151
|
+
@age_of_majority = nil
|
152
|
+
@participant_label = nil
|
153
|
+
@participating_text = nil
|
154
|
+
@show_middle_name = nil
|
155
|
+
@show_phone = nil
|
156
|
+
@show_gender = nil
|
157
|
+
@dob_type = nil
|
158
|
+
end
|
159
|
+
|
160
|
+
def for_json
|
161
|
+
json = {}
|
162
|
+
json['adults'] = @adults if (!@adults.nil?)
|
163
|
+
|
164
|
+
minors = {}
|
165
|
+
minors['enabled'] = @minors_enabled if (!@minors_enabled.nil?)
|
166
|
+
minors['multipleMinors'] = @allow_multiple_minors if (!@allow_multiple_minors.nil?)
|
167
|
+
minors['minorsWithoutAdults'] = @allow_without_adults if (!@allow_without_adults.nil?)
|
168
|
+
minors['adultsAndMinors'] = @allows_adults_and_minors if (!@allows_adults_and_minors.nil?)
|
169
|
+
json['minors'] = minors if (minors != {})
|
170
|
+
|
171
|
+
json['ageOfMajority'] = @age_of_majority if (!@age_of_majority.nil?)
|
172
|
+
json['participantLabel'] = @participant_label if (!@participant_label.nil?)
|
173
|
+
json['participatingText'] = @participating_text if (!@participating_text.nil?)
|
174
|
+
|
175
|
+
config = {}
|
176
|
+
config['middleName'] = @show_middle_name if (!@show_middle_name.nil?)
|
177
|
+
config['phone'] = @show_phone if (!@show_phone.nil?)
|
178
|
+
config['gender'] = @show_gender if (!@show_gender.nil?)
|
179
|
+
config['dobType'] = @dob_type if (!@dob_type.nil?)
|
180
|
+
json['config'] = config if (config != {})
|
181
|
+
|
182
|
+
json
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
|
187
|
+
class SmartwaiverTemplateStandardQuestions
|
188
|
+
|
189
|
+
attr_accessor :address_enabled, :address_required, :default_country_code, :default_state_code,
|
190
|
+
:email_verification_enabled, :email_marketing_enabled, :marketing_opt_in_text,
|
191
|
+
:marketing_opt_in_checked, :emergency_contact_enabled, :insurance_enabled, :id_card_enabled
|
192
|
+
def initialize()
|
193
|
+
@address_enabled = nil
|
194
|
+
@address_required = nil
|
195
|
+
@default_country_code = nil
|
196
|
+
@default_state_code = nil
|
197
|
+
@email_verification_enabled = nil
|
198
|
+
@email_marketing_enabled = nil
|
199
|
+
@marketing_opt_in_text = nil
|
200
|
+
@marketing_opt_in_checked = nil
|
201
|
+
@emergency_contact_enabled = nil
|
202
|
+
@insurance_enabled = nil
|
203
|
+
@id_card_enabled = nil
|
204
|
+
end
|
205
|
+
|
206
|
+
def for_json
|
207
|
+
json = {}
|
208
|
+
address = {}
|
209
|
+
address['enabled'] = @address_enabled if (!@address_enabled.nil?)
|
210
|
+
address['required'] = @address_required if (!@address_required.nil?)
|
211
|
+
defaults = {}
|
212
|
+
defaults['country'] = @default_country_code if (!@default_country_code.nil?)
|
213
|
+
defaults['state'] = @default_state_code if (!@default_state_code.nil?)
|
214
|
+
address['defaults'] = defaults if (defaults != {})
|
215
|
+
json['address'] = address if (address != {})
|
216
|
+
|
217
|
+
email = {}
|
218
|
+
email['verification'] = @email_verification_enabled if (!@email_verification_enabled.nil?)
|
219
|
+
email_marketing = {}
|
220
|
+
email_marketing['enabled'] = @email_marketing_enabled if (!@email_marketing_enabled.nil?)
|
221
|
+
email_marketing['optInText'] = @marketing_opt_in_text if (!@marketing_opt_in_text.nil?)
|
222
|
+
email_marketing['defaultChecked'] = @marketing_opt_in_checked if (!@marketing_opt_in_checked.nil?)
|
223
|
+
email['marketing'] = email_marketing if (email_marketing != {})
|
224
|
+
json['email'] = email if (email != {})
|
225
|
+
|
226
|
+
emergency_contact = {}
|
227
|
+
emergency_contact['enabled'] = @emergency_contact_enabled if (!@emergency_contact_enabled.nil?)
|
228
|
+
json['emergencyContact'] = emergency_contact if (emergency_contact != {})
|
229
|
+
|
230
|
+
insurance = {}
|
231
|
+
insurance['enabled'] = @insurance_enabled if (!@insurance_enabled.nil?)
|
232
|
+
json['insurance'] = emergency_contact if (emergency_contact != {})
|
233
|
+
|
234
|
+
id_card = {}
|
235
|
+
id_card['enabled'] = @id_card_enabled if (!@id_card_enabled.nil?)
|
236
|
+
json['idCard'] = id_card if (id_card != {})
|
237
|
+
json
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
class SmartwaiverTemplateGuardian
|
242
|
+
|
243
|
+
attr_accessor :verbiage, :verbiage_participant_addendum, :label, :relationship, :age_verification
|
244
|
+
|
245
|
+
def initialize()
|
246
|
+
@verbiage = nil
|
247
|
+
@verbiage_participant_addendum = nil
|
248
|
+
@label = nil
|
249
|
+
@relationship = nil
|
250
|
+
@age_verification = nil
|
251
|
+
end
|
252
|
+
|
253
|
+
def for_json
|
254
|
+
json = {}
|
255
|
+
json['verbiage'] = @verbiage if (!@verbiage.nil?)
|
256
|
+
json['verbiageParticipantAddendum'] = @verbiage_participant_addendum if (!@verbiage_participant_addendum.nil?)
|
257
|
+
json['label'] = @label if (!@label.nil?)
|
258
|
+
json['relationship'] = @relationship if (!@relationship.nil?)
|
259
|
+
json['ageVerification'] = @age_verification if (!@age_verification.nil?)
|
260
|
+
json
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
class SmartwaiverTemplateElectronicConsent
|
265
|
+
|
266
|
+
attr_accessor :title, :verbiage
|
267
|
+
|
268
|
+
def initialize()
|
269
|
+
@title = nil
|
270
|
+
@verbiage = nil
|
271
|
+
end
|
272
|
+
|
273
|
+
def for_json
|
274
|
+
json = {}
|
275
|
+
json['title'] = @title if (!@title.nil?)
|
276
|
+
json['verbiage'] = @verbiage if (!@verbiage.nil?)
|
277
|
+
json
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
class SmartwaiverTemplateStyling
|
282
|
+
|
283
|
+
attr_accessor :style, :custom_background_color, :custom_border_color, :custom_shadow_color
|
284
|
+
|
285
|
+
def initialize()
|
286
|
+
@style = nil
|
287
|
+
@custom_background_color = nil
|
288
|
+
@custom_border_color = nil
|
289
|
+
@custom_shadow_color = nil
|
290
|
+
end
|
291
|
+
|
292
|
+
def for_json
|
293
|
+
json = {}
|
294
|
+
json['style'] = @style if (!@style.nil?)
|
295
|
+
|
296
|
+
custom = {}
|
297
|
+
custom['background'] = @custom_background_color if (!@custom_background_color.nil?)
|
298
|
+
custom['border'] = @custom_border_color if (!@custom_border_color.nil?)
|
299
|
+
custom['shadow'] = @custom_shadow_color if (!@custom_shadow_color.nil?)
|
300
|
+
json['custom'] = custom if (custom != {})
|
301
|
+
|
302
|
+
json
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
class SmartwaiverTemplateCompletion
|
307
|
+
|
308
|
+
attr_accessor :redirect_success, :redirect_cancel
|
309
|
+
|
310
|
+
def initialize()
|
311
|
+
@redirect_success = nil
|
312
|
+
@redirect_cancel = nil
|
313
|
+
end
|
314
|
+
|
315
|
+
def for_json
|
316
|
+
json = {}
|
317
|
+
redirect = {}
|
318
|
+
redirect['success'] = @redirect_success if (!@redirect_success.nil?)
|
319
|
+
redirect['cancel'] = @redirect_cancel if (!@redirect_cancel .nil?)
|
320
|
+
json['redirect'] = redirect if (redirect != {})
|
321
|
+
json
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
class SmartwaiverTemplateSignatures
|
326
|
+
|
327
|
+
SIGNATURE_DRAW = 'draw'
|
328
|
+
SIGNATURE_TYPE = 'type'
|
329
|
+
SIGNATURE_CHOICE = 'choice'
|
330
|
+
|
331
|
+
attr_accessor :type, :minors, :default_choice
|
332
|
+
|
333
|
+
def initialize()
|
334
|
+
@type = nil
|
335
|
+
@minors = nil
|
336
|
+
@default_choice = nil
|
337
|
+
end
|
338
|
+
|
339
|
+
def for_json
|
340
|
+
json = {}
|
341
|
+
json['type'] = @type if (!@type.nil?)
|
342
|
+
json['minors'] = @minors if (!@minors.nil?)
|
343
|
+
json['defaultChoice'] = @default_choice if (!@default_choice.nil?)
|
344
|
+
json
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
class SmartwaiverTemplateProcessing
|
349
|
+
|
350
|
+
attr_accessor :email_business_name, :email_reply_to, :email_custom_text_enabled,
|
351
|
+
:email_custom_text_web, :email_cc_enabled, :email_cc_web_completed,
|
352
|
+
:email_cc_addresses, :include_bar_codes
|
353
|
+
|
354
|
+
def initialize()
|
355
|
+
@email_business_name = nil
|
356
|
+
@email_reply_to = nil
|
357
|
+
@email_custom_text_enabled = nil
|
358
|
+
@email_custom_text_web = nil
|
359
|
+
@email_cc_enabled = nil
|
360
|
+
@email_cc_web_completed = nil
|
361
|
+
@email_cc_addresses = nil
|
362
|
+
@include_bar_codes = nil
|
363
|
+
end
|
364
|
+
|
365
|
+
def for_json
|
366
|
+
json = {}
|
367
|
+
emails = {}
|
368
|
+
|
369
|
+
emails['businessName'] = @email_business_name if (!@email_business_name.nil?)
|
370
|
+
emails['replyTo'] = @email_reply_to if (!@email_reply_to.nil?)
|
371
|
+
|
372
|
+
customText = {}
|
373
|
+
customText['enabled'] = @email_custom_text_enabled if (!@email_custom_text_enabled.nil?)
|
374
|
+
customText['web'] = @email_custom_text_web if (!@email_custom_text_web.nil?)
|
375
|
+
emails['customText'] = customText if (customText != {})
|
376
|
+
|
377
|
+
cc = {}
|
378
|
+
cc['enabled'] = @email_cc_enabled if (!@email_cc_enabled.nil?)
|
379
|
+
cc['web'] = @email_cc_web_completed if (!@email_cc_web_completed.nil?)
|
380
|
+
cc['emails'] = @email_cc_addresses if (!@email_cc_addresses.nil?)
|
381
|
+
emails['cc'] = cc if (cc != {})
|
382
|
+
|
383
|
+
emails['includeBarcodes'] = @include_bar_codes if (!@include_bar_codes.nil?)
|
384
|
+
json['emails'] = emails if (emails != {})
|
385
|
+
json
|
386
|
+
end
|
387
|
+
end
|