stackone_client 0.0.1

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.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/lib/stackone/accounts.rb +224 -0
  3. data/lib/stackone/ats.rb +1289 -0
  4. data/lib/stackone/connect_sessions.rb +100 -0
  5. data/lib/stackone/connectors.rb +98 -0
  6. data/lib/stackone/crm.rb +323 -0
  7. data/lib/stackone/hris.rb +682 -0
  8. data/lib/stackone/marketing.rb +584 -0
  9. data/lib/stackone/models/operations/ats_create_application.rb +53 -0
  10. data/lib/stackone/models/operations/ats_create_candidate.rb +53 -0
  11. data/lib/stackone/models/operations/ats_create_candidate_note.rb +56 -0
  12. data/lib/stackone/models/operations/ats_create_offer.rb +53 -0
  13. data/lib/stackone/models/operations/ats_get_application.rb +88 -0
  14. data/lib/stackone/models/operations/ats_get_application_offer.rb +91 -0
  15. data/lib/stackone/models/operations/ats_get_application_scorecard.rb +91 -0
  16. data/lib/stackone/models/operations/ats_get_candidate.rb +88 -0
  17. data/lib/stackone/models/operations/ats_get_candidate_note.rb +91 -0
  18. data/lib/stackone/models/operations/ats_get_department.rb +88 -0
  19. data/lib/stackone/models/operations/ats_get_interview.rb +88 -0
  20. data/lib/stackone/models/operations/ats_get_interview_stage.rb +88 -0
  21. data/lib/stackone/models/operations/ats_get_job.rb +88 -0
  22. data/lib/stackone/models/operations/ats_get_job_posting.rb +91 -0
  23. data/lib/stackone/models/operations/ats_get_location.rb +88 -0
  24. data/lib/stackone/models/operations/ats_get_offer.rb +88 -0
  25. data/lib/stackone/models/operations/ats_get_rejected_reason.rb +88 -0
  26. data/lib/stackone/models/operations/ats_get_user.rb +88 -0
  27. data/lib/stackone/models/operations/ats_list_application_scorecards.rb +88 -0
  28. data/lib/stackone/models/operations/ats_list_applications.rb +85 -0
  29. data/lib/stackone/models/operations/ats_list_applications_offers.rb +88 -0
  30. data/lib/stackone/models/operations/ats_list_candidate_notes.rb +88 -0
  31. data/lib/stackone/models/operations/ats_list_candidates.rb +85 -0
  32. data/lib/stackone/models/operations/ats_list_departments.rb +85 -0
  33. data/lib/stackone/models/operations/ats_list_interview_stages.rb +85 -0
  34. data/lib/stackone/models/operations/ats_list_interviews.rb +85 -0
  35. data/lib/stackone/models/operations/ats_list_job_postings.rb +88 -0
  36. data/lib/stackone/models/operations/ats_list_jobs.rb +85 -0
  37. data/lib/stackone/models/operations/ats_list_locations.rb +85 -0
  38. data/lib/stackone/models/operations/ats_list_offers.rb +85 -0
  39. data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +85 -0
  40. data/lib/stackone/models/operations/ats_list_users.rb +85 -0
  41. data/lib/stackone/models/operations/ats_update_application.rb +56 -0
  42. data/lib/stackone/models/operations/ats_update_candidate.rb +56 -0
  43. data/lib/stackone/models/operations/crm_create_contact.rb +53 -0
  44. data/lib/stackone/models/operations/crm_get_account.rb +88 -0
  45. data/lib/stackone/models/operations/crm_get_contact.rb +88 -0
  46. data/lib/stackone/models/operations/crm_get_list.rb +88 -0
  47. data/lib/stackone/models/operations/crm_list_accounts.rb +85 -0
  48. data/lib/stackone/models/operations/crm_list_contacts.rb +85 -0
  49. data/lib/stackone/models/operations/crm_list_lists.rb +85 -0
  50. data/lib/stackone/models/operations/crm_update_contact.rb +56 -0
  51. data/lib/stackone/models/operations/hris_create_employee.rb +53 -0
  52. data/lib/stackone/models/operations/hris_create_employee_time_off_request.rb +56 -0
  53. data/lib/stackone/models/operations/hris_create_time_off_request.rb +53 -0
  54. data/lib/stackone/models/operations/hris_get_company.rb +88 -0
  55. data/lib/stackone/models/operations/hris_get_employee.rb +94 -0
  56. data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +91 -0
  57. data/lib/stackone/models/operations/hris_get_employment.rb +88 -0
  58. data/lib/stackone/models/operations/hris_get_location.rb +88 -0
  59. data/lib/stackone/models/operations/hris_get_time_off_request.rb +88 -0
  60. data/lib/stackone/models/operations/hris_list_companies.rb +85 -0
  61. data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +88 -0
  62. data/lib/stackone/models/operations/hris_list_employees.rb +91 -0
  63. data/lib/stackone/models/operations/hris_list_employments.rb +85 -0
  64. data/lib/stackone/models/operations/hris_list_locations.rb +85 -0
  65. data/lib/stackone/models/operations/hris_list_time_off_requests.rb +85 -0
  66. data/lib/stackone/models/operations/hris_update_employee.rb +56 -0
  67. data/lib/stackone/models/operations/hris_update_time_off_request.rb +56 -0
  68. data/lib/stackone/models/operations/marketing_create_email_template.rb +53 -0
  69. data/lib/stackone/models/operations/marketing_create_omni_channel_template.rb +53 -0
  70. data/lib/stackone/models/operations/marketing_create_push_template.rb +53 -0
  71. data/lib/stackone/models/operations/marketing_get_campaign.rb +88 -0
  72. data/lib/stackone/models/operations/marketing_get_email_template.rb +88 -0
  73. data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +88 -0
  74. data/lib/stackone/models/operations/marketing_get_push_template.rb +88 -0
  75. data/lib/stackone/models/operations/marketing_list_campaigns.rb +85 -0
  76. data/lib/stackone/models/operations/marketing_list_email_templates.rb +85 -0
  77. data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +85 -0
  78. data/lib/stackone/models/operations/marketing_list_push_templates.rb +85 -0
  79. data/lib/stackone/models/operations/marketing_update_email_template.rb +56 -0
  80. data/lib/stackone/models/operations/marketing_update_omni_channel_template.rb +56 -0
  81. data/lib/stackone/models/operations/marketing_update_push_template.rb +56 -0
  82. data/lib/stackone/models/operations/stackone_authenticate_connect_session.rb +35 -0
  83. data/lib/stackone/models/operations/stackone_create_connect_session.rb +35 -0
  84. data/lib/stackone/models/operations/stackone_delete_account.rb +49 -0
  85. data/lib/stackone/models/operations/stackone_get_account.rb +49 -0
  86. data/lib/stackone/models/operations/stackone_get_account_meta_info.rb +49 -0
  87. data/lib/stackone/models/operations/stackone_get_connector_meta.rb +52 -0
  88. data/lib/stackone/models/operations/stackone_list_connectors_meta.rb +48 -0
  89. data/lib/stackone/models/operations/stackone_list_linked_accounts.rb +51 -0
  90. data/lib/stackone/models/operations/stackone_proxy_request.rb +49 -0
  91. data/lib/stackone/models/operations/stackone_update_account.rb +53 -0
  92. data/lib/stackone/models/shared/account.rb +55 -0
  93. data/lib/stackone/models/shared/accountaddress.rb +342 -0
  94. data/lib/stackone/models/shared/accountresult.rb +29 -0
  95. data/lib/stackone/models/shared/accountspaginated.rb +34 -0
  96. data/lib/stackone/models/shared/answer.rb +64 -0
  97. data/lib/stackone/models/shared/application.rb +75 -0
  98. data/lib/stackone/models/shared/applicationattachment.rb +63 -0
  99. data/lib/stackone/models/shared/applicationcandidate.rb +31 -0
  100. data/lib/stackone/models/shared/applicationresult.rb +29 -0
  101. data/lib/stackone/models/shared/applicationspaginated.rb +34 -0
  102. data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +50 -0
  103. data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +45 -0
  104. data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +46 -0
  105. data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +57 -0
  106. data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -0
  107. data/lib/stackone/models/shared/atslocation.rb +28 -0
  108. data/lib/stackone/models/shared/atslocationresult.rb +29 -0
  109. data/lib/stackone/models/shared/atslocationspaginated.rb +34 -0
  110. data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +48 -0
  111. data/lib/stackone/models/shared/atsupdatecandidatesrequestdto.rb +49 -0
  112. data/lib/stackone/models/shared/attachmenttype.rb +40 -0
  113. data/lib/stackone/models/shared/campaign.rb +120 -0
  114. data/lib/stackone/models/shared/campaignresult.rb +29 -0
  115. data/lib/stackone/models/shared/campaignspaginated.rb +34 -0
  116. data/lib/stackone/models/shared/candidate.rb +64 -0
  117. data/lib/stackone/models/shared/candidateemail.rb +28 -0
  118. data/lib/stackone/models/shared/candidateresult.rb +29 -0
  119. data/lib/stackone/models/shared/candidatespaginated.rb +34 -0
  120. data/lib/stackone/models/shared/channelsenum.rb +42 -0
  121. data/lib/stackone/models/shared/companiespaginated.rb +34 -0
  122. data/lib/stackone/models/shared/company.rb +37 -0
  123. data/lib/stackone/models/shared/companyresult.rb +29 -0
  124. data/lib/stackone/models/shared/compensation.rb +149 -0
  125. data/lib/stackone/models/shared/connectorsmeta.rb +73 -0
  126. data/lib/stackone/models/shared/connectsession.rb +68 -0
  127. data/lib/stackone/models/shared/connectsessionauthenticate.rb +25 -0
  128. data/lib/stackone/models/shared/connectsessioncreate.rb +72 -0
  129. data/lib/stackone/models/shared/connectsessiontoken.rb +71 -0
  130. data/lib/stackone/models/shared/contact.rb +52 -0
  131. data/lib/stackone/models/shared/contactresult.rb +29 -0
  132. data/lib/stackone/models/shared/contactspaginated.rb +34 -0
  133. data/lib/stackone/models/shared/countrycodeenum.rb +284 -0
  134. data/lib/stackone/models/shared/createcandidatenoteresult.rb +31 -0
  135. data/lib/stackone/models/shared/createemployeeresult.rb +31 -0
  136. data/lib/stackone/models/shared/createofferresult.rb +31 -0
  137. data/lib/stackone/models/shared/createresult.rb +31 -0
  138. data/lib/stackone/models/shared/createtemplateresult.rb +31 -0
  139. data/lib/stackone/models/shared/createtimeoffresult.rb +31 -0
  140. data/lib/stackone/models/shared/crmcreatecontactrequestdto.rb +43 -0
  141. data/lib/stackone/models/shared/department.rb +28 -0
  142. data/lib/stackone/models/shared/departmentresult.rb +29 -0
  143. data/lib/stackone/models/shared/departmentspaginated.rb +34 -0
  144. data/lib/stackone/models/shared/emailmessages.rb +93 -0
  145. data/lib/stackone/models/shared/employee.rb +1035 -0
  146. data/lib/stackone/models/shared/employeecustomfields.rb +83 -0
  147. data/lib/stackone/models/shared/employeeresult.rb +29 -0
  148. data/lib/stackone/models/shared/employeespaginated.rb +34 -0
  149. data/lib/stackone/models/shared/employment.rb +191 -0
  150. data/lib/stackone/models/shared/employmentresult.rb +29 -0
  151. data/lib/stackone/models/shared/employmentspaginated.rb +34 -0
  152. data/lib/stackone/models/shared/field.rb +56 -0
  153. data/lib/stackone/models/shared/hiringteam.rb +37 -0
  154. data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +8638 -0
  155. data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +93 -0
  156. data/lib/stackone/models/shared/hrislocation.rb +361 -0
  157. data/lib/stackone/models/shared/hrislocationresult.rb +29 -0
  158. data/lib/stackone/models/shared/hrislocationspaginated.rb +34 -0
  159. data/lib/stackone/models/shared/interview.rb +91 -0
  160. data/lib/stackone/models/shared/interviewer.rb +37 -0
  161. data/lib/stackone/models/shared/interviewpart.rb +40 -0
  162. data/lib/stackone/models/shared/interviewspaginated.rb +34 -0
  163. data/lib/stackone/models/shared/interviewsresult.rb +29 -0
  164. data/lib/stackone/models/shared/interviewstage.rb +37 -0
  165. data/lib/stackone/models/shared/interviewstageresult.rb +29 -0
  166. data/lib/stackone/models/shared/interviewstagespaginated.rb +34 -0
  167. data/lib/stackone/models/shared/job.rb +65 -0
  168. data/lib/stackone/models/shared/jobposting.rb +182 -0
  169. data/lib/stackone/models/shared/jobpostingresult.rb +29 -0
  170. data/lib/stackone/models/shared/jobpostingspaginated.rb +34 -0
  171. data/lib/stackone/models/shared/jobresult.rb +29 -0
  172. data/lib/stackone/models/shared/jobspaginated.rb +34 -0
  173. data/lib/stackone/models/shared/jobstatusenum.rb +43 -0
  174. data/lib/stackone/models/shared/linkedaccount.rb +75 -0
  175. data/lib/stackone/models/shared/linkedaccountmeta.rb +54 -0
  176. data/lib/stackone/models/shared/list.rb +67 -0
  177. data/lib/stackone/models/shared/listresult.rb +29 -0
  178. data/lib/stackone/models/shared/listspaginated.rb +34 -0
  179. data/lib/stackone/models/shared/location.rb +28 -0
  180. data/lib/stackone/models/shared/marketingcreateemailtemplaterequestdto.rb +34 -0
  181. data/lib/stackone/models/shared/marketingcreatepushtemplaterequestdto.rb +34 -0
  182. data/lib/stackone/models/shared/marketingcreatetemplaterequestdto.rb +34 -0
  183. data/lib/stackone/models/shared/message.rb +50 -0
  184. data/lib/stackone/models/shared/note.rb +69 -0
  185. data/lib/stackone/models/shared/notecontentapimodel.rb +25 -0
  186. data/lib/stackone/models/shared/noteresult.rb +29 -0
  187. data/lib/stackone/models/shared/notespaginated.rb +34 -0
  188. data/lib/stackone/models/shared/offer.rb +50 -0
  189. data/lib/stackone/models/shared/offerhistory.rb +37 -0
  190. data/lib/stackone/models/shared/offerspaginated.rb +34 -0
  191. data/lib/stackone/models/shared/offersresult.rb +29 -0
  192. data/lib/stackone/models/shared/offerstatusenum.rb +43 -0
  193. data/lib/stackone/models/shared/patchaccountdto.rb +21 -0
  194. data/lib/stackone/models/shared/proxyrequestbody.rb +69 -0
  195. data/lib/stackone/models/shared/pushmessages.rb +81 -0
  196. data/lib/stackone/models/shared/questionnaire.rb +28 -0
  197. data/lib/stackone/models/shared/rawresponse.rb +44 -0
  198. data/lib/stackone/models/shared/rejectedreason.rb +32 -0
  199. data/lib/stackone/models/shared/rejectedreasonresult.rb +29 -0
  200. data/lib/stackone/models/shared/rejectedreasonspaginated.rb +34 -0
  201. data/lib/stackone/models/shared/rejectedreasontypeenum.rb +40 -0
  202. data/lib/stackone/models/shared/resultlink.rb +28 -0
  203. data/lib/stackone/models/shared/scorecard.rb +65 -0
  204. data/lib/stackone/models/shared/scorecardsection.rb +31 -0
  205. data/lib/stackone/models/shared/scorecardspaginated.rb +34 -0
  206. data/lib/stackone/models/shared/security.rb +28 -0
  207. data/lib/stackone/models/shared/sociallink.rb +28 -0
  208. data/lib/stackone/models/shared/template.rb +37 -0
  209. data/lib/stackone/models/shared/templateresult.rb +29 -0
  210. data/lib/stackone/models/shared/templatespaginated.rb +34 -0
  211. data/lib/stackone/models/shared/timeoff.rb +102 -0
  212. data/lib/stackone/models/shared/timeoffpaginated.rb +34 -0
  213. data/lib/stackone/models/shared/timeoffresult.rb +29 -0
  214. data/lib/stackone/models/shared/updateresult.rb +31 -0
  215. data/lib/stackone/models/shared/user.rb +40 -0
  216. data/lib/stackone/models/shared/userresult.rb +29 -0
  217. data/lib/stackone/models/shared/userspaginated.rb +34 -0
  218. data/lib/stackone/proxy.rb +59 -0
  219. data/lib/stackone/sdk.rb +87 -0
  220. data/lib/stackone/sdkconfiguration.rb +53 -0
  221. data/lib/stackone/utils/metadata_fields.rb +154 -0
  222. data/lib/stackone/utils/utils.rb +774 -0
  223. data/lib/stackone_client.rb +229 -0
  224. metadata +393 -0
@@ -0,0 +1,1035 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+ # The employee avatar
12
+ class Avatar < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :base64, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('base64') } }
17
+
18
+ field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
19
+
20
+
21
+ sig { params(base64: T.nilable(String), url: T.nilable(String)).void }
22
+ def initialize(base64: nil, url: nil)
23
+ @base64 = base64
24
+ @url = url
25
+ end
26
+ end
27
+
28
+
29
+ class EmployeeValue < T::Enum
30
+ enums do
31
+ FULL_TIME = new('full_time')
32
+ SHIFTS = new('shifts')
33
+ PART_TIME = new('part_time')
34
+ UNMAPPED_VALUE = new('unmapped_value')
35
+ end
36
+ end
37
+
38
+
39
+ # The employment work schedule type (e.g., full-time, part-time)
40
+ class EmploymentContractType < StackOne::Utils::FieldAugmented
41
+ extend T::Sig
42
+
43
+
44
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
45
+
46
+ field :value, Shared::EmployeeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeValue, false) } }
47
+
48
+
49
+ sig { params(source_value: String, value: Shared::EmployeeValue).void }
50
+ def initialize(source_value: nil, value: nil)
51
+ @source_value = source_value
52
+ @value = value
53
+ end
54
+ end
55
+
56
+
57
+ class EmployeeSchemasValue < T::Enum
58
+ enums do
59
+ ACTIVE = new('active')
60
+ PENDING = new('pending')
61
+ TERMINATED = new('terminated')
62
+ LEAVE = new('leave')
63
+ INACTIVE = new('inactive')
64
+ UNKNOWN = new('unknown')
65
+ UNMAPPED_VALUE = new('unmapped_value')
66
+ end
67
+ end
68
+
69
+
70
+ # The employee employment status
71
+ class EmploymentStatus < StackOne::Utils::FieldAugmented
72
+ extend T::Sig
73
+
74
+
75
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
76
+
77
+ field :value, Shared::EmployeeSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasValue, false) } }
78
+
79
+
80
+ sig { params(source_value: String, value: Shared::EmployeeSchemasValue).void }
81
+ def initialize(source_value: nil, value: nil)
82
+ @source_value = source_value
83
+ @value = value
84
+ end
85
+ end
86
+
87
+ # EmployeeSchemasEmploymentTypeValue - The type of the employment.
88
+ class EmployeeSchemasEmploymentTypeValue < T::Enum
89
+ enums do
90
+ PERMANENT = new('permanent')
91
+ CONTRACTOR = new('contractor')
92
+ INTERN = new('intern')
93
+ APPRENTICE = new('apprentice')
94
+ FREELANCE = new('freelance')
95
+ TEMPORARY = new('temporary')
96
+ SEASONAL = new('seasonal')
97
+ VOLUNTEER = new('volunteer')
98
+ UNMAPPED_VALUE = new('unmapped_value')
99
+ end
100
+ end
101
+
102
+
103
+ # The employee employment type
104
+ class EmploymentType < StackOne::Utils::FieldAugmented
105
+ extend T::Sig
106
+
107
+ # The source value of the employment type.
108
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
109
+ # The type of the employment.
110
+ field :value, Shared::EmployeeSchemasEmploymentTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasEmploymentTypeValue, false) } }
111
+
112
+
113
+ sig { params(source_value: String, value: Shared::EmployeeSchemasEmploymentTypeValue).void }
114
+ def initialize(source_value: nil, value: nil)
115
+ @source_value = source_value
116
+ @value = value
117
+ end
118
+ end
119
+
120
+
121
+ class EmployeeSchemasEthnicityValue < T::Enum
122
+ enums do
123
+ WHITE = new('white')
124
+ BLACK_OR_AFRICAN_AMERICAN = new('black_or_african_american')
125
+ ASIAN = new('asian')
126
+ HISPANIC_OR_LATINO = new('hispanic_or_latino')
127
+ AMERICAN_INDIAN_OR_ALASKA_NATIVE = new('american_indian_or_alaska_native')
128
+ NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = new('native_hawaiian_or_pacific_islander')
129
+ TWO_OR_MORE_RACES = new('two_or_more_races')
130
+ NOT_DISCLOSED = new('not_disclosed')
131
+ OTHER = new('other')
132
+ UNMAPPED_VALUE = new('unmapped_value')
133
+ end
134
+ end
135
+
136
+
137
+ # The employee ethnicity
138
+ class Ethnicity < StackOne::Utils::FieldAugmented
139
+ extend T::Sig
140
+
141
+
142
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
143
+
144
+ field :value, Shared::EmployeeSchemasEthnicityValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasEthnicityValue, false) } }
145
+
146
+
147
+ sig { params(source_value: String, value: Shared::EmployeeSchemasEthnicityValue).void }
148
+ def initialize(source_value: nil, value: nil)
149
+ @source_value = source_value
150
+ @value = value
151
+ end
152
+ end
153
+
154
+
155
+ class EmployeeSchemasGenderValue < T::Enum
156
+ enums do
157
+ MALE = new('male')
158
+ FEMALE = new('female')
159
+ NON_BINARY = new('non_binary')
160
+ OTHER = new('other')
161
+ NOT_DISCLOSED = new('not_disclosed')
162
+ DIVERSE = new('diverse')
163
+ UNMAPPED_VALUE = new('unmapped_value')
164
+ end
165
+ end
166
+
167
+
168
+ # The employee gender
169
+ class Gender < StackOne::Utils::FieldAugmented
170
+ extend T::Sig
171
+
172
+
173
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
174
+
175
+ field :value, Shared::EmployeeSchemasGenderValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasGenderValue, false) } }
176
+
177
+
178
+ sig { params(source_value: String, value: Shared::EmployeeSchemasGenderValue).void }
179
+ def initialize(source_value: nil, value: nil)
180
+ @source_value = source_value
181
+ @value = value
182
+ end
183
+ end
184
+
185
+ # EmployeeSchemasHomeLocationValue - The ISO3166-1 Alpha2 Code of the Country
186
+ class EmployeeSchemasHomeLocationValue < T::Enum
187
+ enums do
188
+ AF = new('AF')
189
+ AL = new('AL')
190
+ DZ = new('DZ')
191
+ AS = new('AS')
192
+ AD = new('AD')
193
+ AO = new('AO')
194
+ AI = new('AI')
195
+ AQ = new('AQ')
196
+ AG = new('AG')
197
+ AR = new('AR')
198
+ AM = new('AM')
199
+ AW = new('AW')
200
+ AU = new('AU')
201
+ AT = new('AT')
202
+ AZ = new('AZ')
203
+ BS = new('BS')
204
+ BH = new('BH')
205
+ BD = new('BD')
206
+ BB = new('BB')
207
+ BY = new('BY')
208
+ BE = new('BE')
209
+ BZ = new('BZ')
210
+ BJ = new('BJ')
211
+ BM = new('BM')
212
+ BT = new('BT')
213
+ BO = new('BO')
214
+ BQ = new('BQ')
215
+ BA = new('BA')
216
+ BW = new('BW')
217
+ BV = new('BV')
218
+ BR = new('BR')
219
+ IO = new('IO')
220
+ BN = new('BN')
221
+ BG = new('BG')
222
+ BF = new('BF')
223
+ BI = new('BI')
224
+ KH = new('KH')
225
+ CM = new('CM')
226
+ CA = new('CA')
227
+ CV = new('CV')
228
+ KY = new('KY')
229
+ CF = new('CF')
230
+ TD = new('TD')
231
+ CL = new('CL')
232
+ CN = new('CN')
233
+ CX = new('CX')
234
+ CC = new('CC')
235
+ CO = new('CO')
236
+ KM = new('KM')
237
+ CG = new('CG')
238
+ CD = new('CD')
239
+ CK = new('CK')
240
+ CR = new('CR')
241
+ HR = new('HR')
242
+ CU = new('CU')
243
+ CW = new('CW')
244
+ CY = new('CY')
245
+ CZ = new('CZ')
246
+ CI = new('CI')
247
+ DK = new('DK')
248
+ DJ = new('DJ')
249
+ DM = new('DM')
250
+ DO = new('DO')
251
+ EC = new('EC')
252
+ EG = new('EG')
253
+ SV = new('SV')
254
+ GQ = new('GQ')
255
+ ER = new('ER')
256
+ EE = new('EE')
257
+ ET = new('ET')
258
+ FK = new('FK')
259
+ FO = new('FO')
260
+ FJ = new('FJ')
261
+ FI = new('FI')
262
+ FR = new('FR')
263
+ GF = new('GF')
264
+ PF = new('PF')
265
+ TF = new('TF')
266
+ GA = new('GA')
267
+ GM = new('GM')
268
+ GE = new('GE')
269
+ DE = new('DE')
270
+ GH = new('GH')
271
+ GI = new('GI')
272
+ GR = new('GR')
273
+ GL = new('GL')
274
+ GD = new('GD')
275
+ GP = new('GP')
276
+ GU = new('GU')
277
+ GT = new('GT')
278
+ GG = new('GG')
279
+ GN = new('GN')
280
+ GW = new('GW')
281
+ GY = new('GY')
282
+ HT = new('HT')
283
+ HM = new('HM')
284
+ VA = new('VA')
285
+ HN = new('HN')
286
+ HK = new('HK')
287
+ HU = new('HU')
288
+ IS = new('IS')
289
+ IN = new('IN')
290
+ ID = new('ID')
291
+ IR = new('IR')
292
+ IQ = new('IQ')
293
+ IE = new('IE')
294
+ IM = new('IM')
295
+ IL = new('IL')
296
+ IT = new('IT')
297
+ JM = new('JM')
298
+ JP = new('JP')
299
+ JE = new('JE')
300
+ JO = new('JO')
301
+ KZ = new('KZ')
302
+ KE = new('KE')
303
+ KI = new('KI')
304
+ KP = new('KP')
305
+ KR = new('KR')
306
+ KW = new('KW')
307
+ KG = new('KG')
308
+ LA = new('LA')
309
+ LV = new('LV')
310
+ LB = new('LB')
311
+ LS = new('LS')
312
+ LR = new('LR')
313
+ LY = new('LY')
314
+ LI = new('LI')
315
+ LT = new('LT')
316
+ LU = new('LU')
317
+ MO = new('MO')
318
+ MK = new('MK')
319
+ MG = new('MG')
320
+ MW = new('MW')
321
+ MY = new('MY')
322
+ MV = new('MV')
323
+ ML = new('ML')
324
+ MT = new('MT')
325
+ MH = new('MH')
326
+ MQ = new('MQ')
327
+ MR = new('MR')
328
+ MU = new('MU')
329
+ YT = new('YT')
330
+ MX = new('MX')
331
+ FM = new('FM')
332
+ MD = new('MD')
333
+ MC = new('MC')
334
+ MN = new('MN')
335
+ ME = new('ME')
336
+ MS = new('MS')
337
+ MA = new('MA')
338
+ MZ = new('MZ')
339
+ MM = new('MM')
340
+ NA = new('NA')
341
+ NR = new('NR')
342
+ NP = new('NP')
343
+ NL = new('NL')
344
+ NC = new('NC')
345
+ NZ = new('NZ')
346
+ NI = new('NI')
347
+ NE = new('NE')
348
+ NG = new('NG')
349
+ NU = new('NU')
350
+ NF = new('NF')
351
+ MP = new('MP')
352
+ NO = new('NO')
353
+ OM = new('OM')
354
+ PK = new('PK')
355
+ PW = new('PW')
356
+ PS = new('PS')
357
+ PA = new('PA')
358
+ PG = new('PG')
359
+ PY = new('PY')
360
+ PE = new('PE')
361
+ PH = new('PH')
362
+ PN = new('PN')
363
+ PL = new('PL')
364
+ PT = new('PT')
365
+ PR = new('PR')
366
+ QA = new('QA')
367
+ RO = new('RO')
368
+ RU = new('RU')
369
+ RW = new('RW')
370
+ RE = new('RE')
371
+ BL = new('BL')
372
+ SH = new('SH')
373
+ KN = new('KN')
374
+ LC = new('LC')
375
+ MF = new('MF')
376
+ PM = new('PM')
377
+ VC = new('VC')
378
+ WS = new('WS')
379
+ SM = new('SM')
380
+ ST = new('ST')
381
+ SA = new('SA')
382
+ SN = new('SN')
383
+ RS = new('RS')
384
+ SC = new('SC')
385
+ SL = new('SL')
386
+ SG = new('SG')
387
+ SX = new('SX')
388
+ SK = new('SK')
389
+ SI = new('SI')
390
+ SB = new('SB')
391
+ SO = new('SO')
392
+ ZA = new('ZA')
393
+ GS = new('GS')
394
+ SS = new('SS')
395
+ ES = new('ES')
396
+ LK = new('LK')
397
+ SD = new('SD')
398
+ SR = new('SR')
399
+ SJ = new('SJ')
400
+ SZ = new('SZ')
401
+ SE = new('SE')
402
+ CH = new('CH')
403
+ SY = new('SY')
404
+ TW = new('TW')
405
+ TJ = new('TJ')
406
+ TZ = new('TZ')
407
+ TH = new('TH')
408
+ TL = new('TL')
409
+ TG = new('TG')
410
+ TK = new('TK')
411
+ TO = new('TO')
412
+ TT = new('TT')
413
+ TN = new('TN')
414
+ TR = new('TR')
415
+ TM = new('TM')
416
+ TC = new('TC')
417
+ TV = new('TV')
418
+ UG = new('UG')
419
+ UA = new('UA')
420
+ AE = new('AE')
421
+ GB = new('GB')
422
+ US = new('US')
423
+ UM = new('UM')
424
+ UY = new('UY')
425
+ UZ = new('UZ')
426
+ VU = new('VU')
427
+ VE = new('VE')
428
+ VN = new('VN')
429
+ VG = new('VG')
430
+ VI = new('VI')
431
+ WF = new('WF')
432
+ EH = new('EH')
433
+ YE = new('YE')
434
+ ZM = new('ZM')
435
+ ZW = new('ZW')
436
+ UNMAPPED_VALUE = new('unmapped_value')
437
+ end
438
+ end
439
+
440
+
441
+ # The country code
442
+ class EmployeeCountry < StackOne::Utils::FieldAugmented
443
+ extend T::Sig
444
+
445
+ # The name of citizenship
446
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
447
+ # The ISO3166-1 Alpha2 Code of the Country
448
+ field :value, Shared::EmployeeSchemasHomeLocationValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasHomeLocationValue, false) } }
449
+
450
+
451
+ sig { params(source_value: String, value: Shared::EmployeeSchemasHomeLocationValue).void }
452
+ def initialize(source_value: nil, value: nil)
453
+ @source_value = source_value
454
+ @value = value
455
+ end
456
+ end
457
+
458
+ # EmployeeSchemasHomeLocationLocationTypeValue - The type of the location.
459
+ class EmployeeSchemasHomeLocationLocationTypeValue < T::Enum
460
+ enums do
461
+ HOME = new('home')
462
+ WORK = new('work')
463
+ UNMAPPED_VALUE = new('unmapped_value')
464
+ end
465
+ end
466
+
467
+
468
+ # The location type
469
+ class EmployeeLocationType < StackOne::Utils::FieldAugmented
470
+ extend T::Sig
471
+
472
+ # The source value of the location type.
473
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
474
+ # The type of the location.
475
+ field :value, Shared::EmployeeSchemasHomeLocationLocationTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasHomeLocationLocationTypeValue, false) } }
476
+
477
+
478
+ sig { params(source_value: String, value: Shared::EmployeeSchemasHomeLocationLocationTypeValue).void }
479
+ def initialize(source_value: nil, value: nil)
480
+ @source_value = source_value
481
+ @value = value
482
+ end
483
+ end
484
+
485
+ # The employee home location
486
+ class HomeLocation < StackOne::Utils::FieldAugmented
487
+ extend T::Sig
488
+
489
+ # The city where the location is situated
490
+ field :city, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('city') } }
491
+ # The country code
492
+ field :country, T.nilable(Shared::EmployeeCountry), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('country') } }
493
+ # The created_at date
494
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
495
+ # The employee ID
496
+ field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
497
+ # The unique ID of the location
498
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
499
+ # The location type
500
+ field :location_type, T.nilable(Shared::EmployeeLocationType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('location_type') } }
501
+ # The name of the location
502
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
503
+ # The phone number of the location
504
+ field :phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
505
+ # The state where the location is situated
506
+ field :state, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('state') } }
507
+ # The first line of the address
508
+ field :street_1, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_1') } }
509
+ # The second line of the address
510
+ field :street_2, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_2') } }
511
+ # The updated_at date
512
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
513
+ # The ZIP code/Postal code of the location
514
+ field :zip_code, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('zip_code') } }
515
+
516
+
517
+ sig { params(city: T.nilable(String), country: T.nilable(Shared::EmployeeCountry), created_at: T.nilable(DateTime), employee_id: T.nilable(String), id: T.nilable(String), location_type: T.nilable(Shared::EmployeeLocationType), name: T.nilable(String), phone_number: T.nilable(String), state: T.nilable(String), street_1: T.nilable(String), street_2: T.nilable(String), updated_at: T.nilable(DateTime), zip_code: T.nilable(String)).void }
518
+ def initialize(city: nil, country: nil, created_at: nil, employee_id: nil, id: nil, location_type: nil, name: nil, phone_number: nil, state: nil, street_1: nil, street_2: nil, updated_at: nil, zip_code: nil)
519
+ @city = city
520
+ @country = country
521
+ @created_at = created_at
522
+ @employee_id = employee_id
523
+ @id = id
524
+ @location_type = location_type
525
+ @name = name
526
+ @phone_number = phone_number
527
+ @state = state
528
+ @street_1 = street_1
529
+ @street_2 = street_2
530
+ @updated_at = updated_at
531
+ @zip_code = zip_code
532
+ end
533
+ end
534
+
535
+
536
+ class EmployeeSchemasMaritalStatusValue < T::Enum
537
+ enums do
538
+ SINGLE = new('single')
539
+ MARRIED = new('married')
540
+ COMMON_LAW = new('common_law')
541
+ DIVORCED = new('divorced')
542
+ WIDOWED = new('widowed')
543
+ DOMESTIC_PARTNERSHIP = new('domestic_partnership')
544
+ SEPARATED = new('separated')
545
+ OTHER = new('other')
546
+ NOT_DISCLOSED = new('not_disclosed')
547
+ UNMAPPED_VALUE = new('unmapped_value')
548
+ end
549
+ end
550
+
551
+
552
+ # The employee marital status
553
+ class MaritalStatus < StackOne::Utils::FieldAugmented
554
+ extend T::Sig
555
+
556
+
557
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
558
+
559
+ field :value, Shared::EmployeeSchemasMaritalStatusValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasMaritalStatusValue, false) } }
560
+
561
+
562
+ sig { params(source_value: String, value: Shared::EmployeeSchemasMaritalStatusValue).void }
563
+ def initialize(source_value: nil, value: nil)
564
+ @source_value = source_value
565
+ @value = value
566
+ end
567
+ end
568
+
569
+ # EmployeeSchemasWorkLocationValue - The ISO3166-1 Alpha2 Code of the Country
570
+ class EmployeeSchemasWorkLocationValue < T::Enum
571
+ enums do
572
+ AF = new('AF')
573
+ AL = new('AL')
574
+ DZ = new('DZ')
575
+ AS = new('AS')
576
+ AD = new('AD')
577
+ AO = new('AO')
578
+ AI = new('AI')
579
+ AQ = new('AQ')
580
+ AG = new('AG')
581
+ AR = new('AR')
582
+ AM = new('AM')
583
+ AW = new('AW')
584
+ AU = new('AU')
585
+ AT = new('AT')
586
+ AZ = new('AZ')
587
+ BS = new('BS')
588
+ BH = new('BH')
589
+ BD = new('BD')
590
+ BB = new('BB')
591
+ BY = new('BY')
592
+ BE = new('BE')
593
+ BZ = new('BZ')
594
+ BJ = new('BJ')
595
+ BM = new('BM')
596
+ BT = new('BT')
597
+ BO = new('BO')
598
+ BQ = new('BQ')
599
+ BA = new('BA')
600
+ BW = new('BW')
601
+ BV = new('BV')
602
+ BR = new('BR')
603
+ IO = new('IO')
604
+ BN = new('BN')
605
+ BG = new('BG')
606
+ BF = new('BF')
607
+ BI = new('BI')
608
+ KH = new('KH')
609
+ CM = new('CM')
610
+ CA = new('CA')
611
+ CV = new('CV')
612
+ KY = new('KY')
613
+ CF = new('CF')
614
+ TD = new('TD')
615
+ CL = new('CL')
616
+ CN = new('CN')
617
+ CX = new('CX')
618
+ CC = new('CC')
619
+ CO = new('CO')
620
+ KM = new('KM')
621
+ CG = new('CG')
622
+ CD = new('CD')
623
+ CK = new('CK')
624
+ CR = new('CR')
625
+ HR = new('HR')
626
+ CU = new('CU')
627
+ CW = new('CW')
628
+ CY = new('CY')
629
+ CZ = new('CZ')
630
+ CI = new('CI')
631
+ DK = new('DK')
632
+ DJ = new('DJ')
633
+ DM = new('DM')
634
+ DO = new('DO')
635
+ EC = new('EC')
636
+ EG = new('EG')
637
+ SV = new('SV')
638
+ GQ = new('GQ')
639
+ ER = new('ER')
640
+ EE = new('EE')
641
+ ET = new('ET')
642
+ FK = new('FK')
643
+ FO = new('FO')
644
+ FJ = new('FJ')
645
+ FI = new('FI')
646
+ FR = new('FR')
647
+ GF = new('GF')
648
+ PF = new('PF')
649
+ TF = new('TF')
650
+ GA = new('GA')
651
+ GM = new('GM')
652
+ GE = new('GE')
653
+ DE = new('DE')
654
+ GH = new('GH')
655
+ GI = new('GI')
656
+ GR = new('GR')
657
+ GL = new('GL')
658
+ GD = new('GD')
659
+ GP = new('GP')
660
+ GU = new('GU')
661
+ GT = new('GT')
662
+ GG = new('GG')
663
+ GN = new('GN')
664
+ GW = new('GW')
665
+ GY = new('GY')
666
+ HT = new('HT')
667
+ HM = new('HM')
668
+ VA = new('VA')
669
+ HN = new('HN')
670
+ HK = new('HK')
671
+ HU = new('HU')
672
+ IS = new('IS')
673
+ IN = new('IN')
674
+ ID = new('ID')
675
+ IR = new('IR')
676
+ IQ = new('IQ')
677
+ IE = new('IE')
678
+ IM = new('IM')
679
+ IL = new('IL')
680
+ IT = new('IT')
681
+ JM = new('JM')
682
+ JP = new('JP')
683
+ JE = new('JE')
684
+ JO = new('JO')
685
+ KZ = new('KZ')
686
+ KE = new('KE')
687
+ KI = new('KI')
688
+ KP = new('KP')
689
+ KR = new('KR')
690
+ KW = new('KW')
691
+ KG = new('KG')
692
+ LA = new('LA')
693
+ LV = new('LV')
694
+ LB = new('LB')
695
+ LS = new('LS')
696
+ LR = new('LR')
697
+ LY = new('LY')
698
+ LI = new('LI')
699
+ LT = new('LT')
700
+ LU = new('LU')
701
+ MO = new('MO')
702
+ MK = new('MK')
703
+ MG = new('MG')
704
+ MW = new('MW')
705
+ MY = new('MY')
706
+ MV = new('MV')
707
+ ML = new('ML')
708
+ MT = new('MT')
709
+ MH = new('MH')
710
+ MQ = new('MQ')
711
+ MR = new('MR')
712
+ MU = new('MU')
713
+ YT = new('YT')
714
+ MX = new('MX')
715
+ FM = new('FM')
716
+ MD = new('MD')
717
+ MC = new('MC')
718
+ MN = new('MN')
719
+ ME = new('ME')
720
+ MS = new('MS')
721
+ MA = new('MA')
722
+ MZ = new('MZ')
723
+ MM = new('MM')
724
+ NA = new('NA')
725
+ NR = new('NR')
726
+ NP = new('NP')
727
+ NL = new('NL')
728
+ NC = new('NC')
729
+ NZ = new('NZ')
730
+ NI = new('NI')
731
+ NE = new('NE')
732
+ NG = new('NG')
733
+ NU = new('NU')
734
+ NF = new('NF')
735
+ MP = new('MP')
736
+ NO = new('NO')
737
+ OM = new('OM')
738
+ PK = new('PK')
739
+ PW = new('PW')
740
+ PS = new('PS')
741
+ PA = new('PA')
742
+ PG = new('PG')
743
+ PY = new('PY')
744
+ PE = new('PE')
745
+ PH = new('PH')
746
+ PN = new('PN')
747
+ PL = new('PL')
748
+ PT = new('PT')
749
+ PR = new('PR')
750
+ QA = new('QA')
751
+ RO = new('RO')
752
+ RU = new('RU')
753
+ RW = new('RW')
754
+ RE = new('RE')
755
+ BL = new('BL')
756
+ SH = new('SH')
757
+ KN = new('KN')
758
+ LC = new('LC')
759
+ MF = new('MF')
760
+ PM = new('PM')
761
+ VC = new('VC')
762
+ WS = new('WS')
763
+ SM = new('SM')
764
+ ST = new('ST')
765
+ SA = new('SA')
766
+ SN = new('SN')
767
+ RS = new('RS')
768
+ SC = new('SC')
769
+ SL = new('SL')
770
+ SG = new('SG')
771
+ SX = new('SX')
772
+ SK = new('SK')
773
+ SI = new('SI')
774
+ SB = new('SB')
775
+ SO = new('SO')
776
+ ZA = new('ZA')
777
+ GS = new('GS')
778
+ SS = new('SS')
779
+ ES = new('ES')
780
+ LK = new('LK')
781
+ SD = new('SD')
782
+ SR = new('SR')
783
+ SJ = new('SJ')
784
+ SZ = new('SZ')
785
+ SE = new('SE')
786
+ CH = new('CH')
787
+ SY = new('SY')
788
+ TW = new('TW')
789
+ TJ = new('TJ')
790
+ TZ = new('TZ')
791
+ TH = new('TH')
792
+ TL = new('TL')
793
+ TG = new('TG')
794
+ TK = new('TK')
795
+ TO = new('TO')
796
+ TT = new('TT')
797
+ TN = new('TN')
798
+ TR = new('TR')
799
+ TM = new('TM')
800
+ TC = new('TC')
801
+ TV = new('TV')
802
+ UG = new('UG')
803
+ UA = new('UA')
804
+ AE = new('AE')
805
+ GB = new('GB')
806
+ US = new('US')
807
+ UM = new('UM')
808
+ UY = new('UY')
809
+ UZ = new('UZ')
810
+ VU = new('VU')
811
+ VE = new('VE')
812
+ VN = new('VN')
813
+ VG = new('VG')
814
+ VI = new('VI')
815
+ WF = new('WF')
816
+ EH = new('EH')
817
+ YE = new('YE')
818
+ ZM = new('ZM')
819
+ ZW = new('ZW')
820
+ UNMAPPED_VALUE = new('unmapped_value')
821
+ end
822
+ end
823
+
824
+
825
+ # The country code
826
+ class EmployeeSchemasCountry < StackOne::Utils::FieldAugmented
827
+ extend T::Sig
828
+
829
+ # The name of citizenship
830
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
831
+ # The ISO3166-1 Alpha2 Code of the Country
832
+ field :value, Shared::EmployeeSchemasWorkLocationValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasWorkLocationValue, false) } }
833
+
834
+
835
+ sig { params(source_value: String, value: Shared::EmployeeSchemasWorkLocationValue).void }
836
+ def initialize(source_value: nil, value: nil)
837
+ @source_value = source_value
838
+ @value = value
839
+ end
840
+ end
841
+
842
+ # EmployeeSchemasWorkLocationLocationTypeValue - The type of the location.
843
+ class EmployeeSchemasWorkLocationLocationTypeValue < T::Enum
844
+ enums do
845
+ HOME = new('home')
846
+ WORK = new('work')
847
+ UNMAPPED_VALUE = new('unmapped_value')
848
+ end
849
+ end
850
+
851
+
852
+ # The location type
853
+ class EmployeeSchemasLocationType < StackOne::Utils::FieldAugmented
854
+ extend T::Sig
855
+
856
+ # The source value of the location type.
857
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
858
+ # The type of the location.
859
+ field :value, Shared::EmployeeSchemasWorkLocationLocationTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasWorkLocationLocationTypeValue, false) } }
860
+
861
+
862
+ sig { params(source_value: String, value: Shared::EmployeeSchemasWorkLocationLocationTypeValue).void }
863
+ def initialize(source_value: nil, value: nil)
864
+ @source_value = source_value
865
+ @value = value
866
+ end
867
+ end
868
+
869
+ # The employee work location
870
+ class WorkLocation < StackOne::Utils::FieldAugmented
871
+ extend T::Sig
872
+
873
+ # The city where the location is situated
874
+ field :city, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('city') } }
875
+ # The country code
876
+ field :country, T.nilable(Shared::EmployeeSchemasCountry), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('country') } }
877
+ # The created_at date
878
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
879
+ # The employee ID
880
+ field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
881
+ # The unique ID of the location
882
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
883
+ # The location type
884
+ field :location_type, T.nilable(Shared::EmployeeSchemasLocationType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('location_type') } }
885
+ # The name of the location
886
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
887
+ # The phone number of the location
888
+ field :phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
889
+ # The state where the location is situated
890
+ field :state, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('state') } }
891
+ # The first line of the address
892
+ field :street_1, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_1') } }
893
+ # The second line of the address
894
+ field :street_2, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_2') } }
895
+ # The updated_at date
896
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
897
+ # The ZIP code/Postal code of the location
898
+ field :zip_code, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('zip_code') } }
899
+
900
+
901
+ sig { params(city: T.nilable(String), country: T.nilable(Shared::EmployeeSchemasCountry), created_at: T.nilable(DateTime), employee_id: T.nilable(String), id: T.nilable(String), location_type: T.nilable(Shared::EmployeeSchemasLocationType), name: T.nilable(String), phone_number: T.nilable(String), state: T.nilable(String), street_1: T.nilable(String), street_2: T.nilable(String), updated_at: T.nilable(DateTime), zip_code: T.nilable(String)).void }
902
+ def initialize(city: nil, country: nil, created_at: nil, employee_id: nil, id: nil, location_type: nil, name: nil, phone_number: nil, state: nil, street_1: nil, street_2: nil, updated_at: nil, zip_code: nil)
903
+ @city = city
904
+ @country = country
905
+ @created_at = created_at
906
+ @employee_id = employee_id
907
+ @id = id
908
+ @location_type = location_type
909
+ @name = name
910
+ @phone_number = phone_number
911
+ @state = state
912
+ @street_1 = street_1
913
+ @street_2 = street_2
914
+ @updated_at = updated_at
915
+ @zip_code = zip_code
916
+ end
917
+ end
918
+
919
+
920
+ class Employee < StackOne::Utils::FieldAugmented
921
+ extend T::Sig
922
+
923
+ # The employee first name
924
+ field :first_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('first_name') } }
925
+ # The employee ID
926
+ field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
927
+ # The employee last name
928
+ field :last_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last_name') } }
929
+ # The employee work email
930
+ field :work_email, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_email') } }
931
+ # The employee avatar
932
+ field :avatar, T.nilable(Shared::Avatar), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('avatar') } }
933
+ # The employee avatar Url
934
+ field :avatar_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('avatar_url') } }
935
+ # The employee birthday
936
+ field :birthday, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('birthday'), 'decoder': Utils.datetime_from_iso_format(true) } }
937
+ # The citizenships of the Employee
938
+ field :citizenships, T.nilable(T::Array[Shared::CountryCodeEnum]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('citizenships') } }
939
+ # The employee company name
940
+ field :company_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('company_name') } }
941
+ # The created_at date
942
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
943
+ # The employee custom fields
944
+ field :custom_fields, T.nilable(T::Array[Shared::EmployeeCustomFields]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('custom_fields') } }
945
+ # The employee date_of_birth
946
+ field :date_of_birth, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('date_of_birth'), 'decoder': Utils.datetime_from_iso_format(true) } }
947
+ # The employee department
948
+ field :department, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('department') } }
949
+ # The employee display name
950
+ field :display_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('display_name') } }
951
+ # The employment work schedule type (e.g., full-time, part-time)
952
+ field :employment_contract_type, T.nilable(Shared::EmploymentContractType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_contract_type') } }
953
+ # The employee employment status
954
+ field :employment_status, T.nilable(Shared::EmploymentStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_status') } }
955
+ # The employee employment type
956
+ field :employment_type, T.nilable(Shared::EmploymentType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_type') } }
957
+ # The employee employments
958
+ field :employments, T.nilable(T::Array[Shared::Employment]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employments') } }
959
+ # The employee ethnicity
960
+ field :ethnicity, T.nilable(Shared::Ethnicity), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ethnicity') } }
961
+ # The employee gender
962
+ field :gender, T.nilable(Shared::Gender), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gender') } }
963
+ # The employee hire date
964
+ field :hire_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hire_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
965
+ # The employee home location
966
+ field :home_location, T.nilable(Shared::HomeLocation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('home_location') } }
967
+ # The employee job title
968
+ field :job_title, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('job_title') } }
969
+ # The employee manager ID
970
+ field :manager_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('manager_id') } }
971
+ # The employee marital status
972
+ field :marital_status, T.nilable(Shared::MaritalStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('marital_status') } }
973
+ # The employee name
974
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
975
+ # The employee personal email
976
+ field :personal_email, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('personal_email') } }
977
+ # The employee personal phone number
978
+ field :personal_phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('personal_phone_number') } }
979
+ # The employee start date
980
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
981
+ # The employee tenure
982
+ field :tenure, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tenure') } }
983
+ # The employee termination date
984
+ field :termination_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('termination_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
985
+ # The updated_at date
986
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
987
+ # The employee work anniversary
988
+ field :work_anniversary, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_anniversary'), 'decoder': Utils.datetime_from_iso_format(true) } }
989
+ # The employee work location
990
+ field :work_location, T.nilable(Shared::WorkLocation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_location') } }
991
+ # The employee work phone number
992
+ field :work_phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_phone_number') } }
993
+
994
+
995
+ sig { params(first_name: String, id: String, last_name: String, work_email: String, avatar: T.nilable(Shared::Avatar), avatar_url: T.nilable(String), birthday: T.nilable(DateTime), citizenships: T.nilable(T::Array[Shared::CountryCodeEnum]), company_name: T.nilable(String), created_at: T.nilable(DateTime), custom_fields: T.nilable(T::Array[Shared::EmployeeCustomFields]), date_of_birth: T.nilable(DateTime), department: T.nilable(String), display_name: T.nilable(String), employment_contract_type: T.nilable(Shared::EmploymentContractType), employment_status: T.nilable(Shared::EmploymentStatus), employment_type: T.nilable(Shared::EmploymentType), employments: T.nilable(T::Array[Shared::Employment]), ethnicity: T.nilable(Shared::Ethnicity), gender: T.nilable(Shared::Gender), hire_date: T.nilable(DateTime), home_location: T.nilable(Shared::HomeLocation), job_title: T.nilable(String), manager_id: T.nilable(String), marital_status: T.nilable(Shared::MaritalStatus), name: T.nilable(String), personal_email: T.nilable(String), personal_phone_number: T.nilable(String), start_date: T.nilable(DateTime), tenure: T.nilable(Float), termination_date: T.nilable(DateTime), updated_at: T.nilable(DateTime), work_anniversary: T.nilable(DateTime), work_location: T.nilable(Shared::WorkLocation), work_phone_number: T.nilable(String)).void }
996
+ def initialize(first_name: nil, id: nil, last_name: nil, work_email: nil, avatar: nil, avatar_url: nil, birthday: nil, citizenships: nil, company_name: nil, created_at: nil, custom_fields: nil, date_of_birth: nil, department: nil, display_name: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, gender: nil, hire_date: nil, home_location: nil, job_title: nil, manager_id: nil, marital_status: nil, name: nil, personal_email: nil, personal_phone_number: nil, start_date: nil, tenure: nil, termination_date: nil, updated_at: nil, work_anniversary: nil, work_location: nil, work_phone_number: nil)
997
+ @first_name = first_name
998
+ @id = id
999
+ @last_name = last_name
1000
+ @work_email = work_email
1001
+ @avatar = avatar
1002
+ @avatar_url = avatar_url
1003
+ @birthday = birthday
1004
+ @citizenships = citizenships
1005
+ @company_name = company_name
1006
+ @created_at = created_at
1007
+ @custom_fields = custom_fields
1008
+ @date_of_birth = date_of_birth
1009
+ @department = department
1010
+ @display_name = display_name
1011
+ @employment_contract_type = employment_contract_type
1012
+ @employment_status = employment_status
1013
+ @employment_type = employment_type
1014
+ @employments = employments
1015
+ @ethnicity = ethnicity
1016
+ @gender = gender
1017
+ @hire_date = hire_date
1018
+ @home_location = home_location
1019
+ @job_title = job_title
1020
+ @manager_id = manager_id
1021
+ @marital_status = marital_status
1022
+ @name = name
1023
+ @personal_email = personal_email
1024
+ @personal_phone_number = personal_phone_number
1025
+ @start_date = start_date
1026
+ @tenure = tenure
1027
+ @termination_date = termination_date
1028
+ @updated_at = updated_at
1029
+ @work_anniversary = work_anniversary
1030
+ @work_location = work_location
1031
+ @work_phone_number = work_phone_number
1032
+ end
1033
+ end
1034
+ end
1035
+ end