xero-ruby 8.0.0 → 9.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xero-ruby/api/accounting_api.rb +36 -27
  3. data/lib/xero-ruby/api/payroll_nz_api.rb +330 -7
  4. data/lib/xero-ruby/models/accounting/bank_transactions.rb +23 -1
  5. data/lib/xero-ruby/models/accounting/contacts.rb +23 -1
  6. data/lib/xero-ruby/models/accounting/credit_notes.rb +23 -1
  7. data/lib/xero-ruby/models/accounting/invoices.rb +23 -1
  8. data/lib/xero-ruby/models/accounting/journals.rb +13 -1
  9. data/lib/xero-ruby/models/accounting/manual_journals.rb +23 -1
  10. data/lib/xero-ruby/models/accounting/organisation.rb +6 -2
  11. data/lib/xero-ruby/models/accounting/overpayments.rb +23 -1
  12. data/lib/xero-ruby/models/accounting/{page_info.rb → pagination.rb} +18 -19
  13. data/lib/xero-ruby/models/accounting/payments.rb +23 -1
  14. data/lib/xero-ruby/models/accounting/prepayments.rb +23 -1
  15. data/lib/xero-ruby/models/accounting/purchase_orders.rb +23 -1
  16. data/lib/xero-ruby/models/payroll_nz/employee.rb +24 -4
  17. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +24 -4
  18. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +14 -4
  19. data/lib/xero-ruby/models/payroll_nz/employee_working_pattern.rb +242 -0
  20. data/lib/xero-ruby/models/{accounting/get_payments_response.rb → payroll_nz/employee_working_pattern_with_working_weeks.rb} +39 -59
  21. data/lib/xero-ruby/models/payroll_nz/employee_working_pattern_with_working_weeks_object.rb +242 -0
  22. data/lib/xero-ruby/models/{accounting/get_invoices_response.rb → payroll_nz/employee_working_pattern_with_working_weeks_request.rb} +32 -62
  23. data/lib/xero-ruby/models/{accounting/get_contacts_response.rb → payroll_nz/employee_working_patterns_object.rb} +27 -57
  24. data/lib/xero-ruby/models/payroll_nz/employment.rb +24 -4
  25. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +28 -4
  26. data/lib/xero-ruby/models/{accounting/get_manual_journals_response.rb → payroll_nz/working_week.rb} +95 -52
  27. data/lib/xero-ruby/version.rb +2 -2
  28. data/lib/xero-ruby.rb +7 -10
  29. metadata +9 -12
  30. data/lib/xero-ruby/models/accounting/get_bank_transactions_response.rb +0 -274
  31. data/lib/xero-ruby/models/accounting/get_credit_notes_response.rb +0 -274
  32. data/lib/xero-ruby/models/accounting/get_overpayments_response.rb +0 -274
  33. data/lib/xero-ruby/models/accounting/get_prepayments_response.rb +0 -274
  34. data/lib/xero-ruby/models/accounting/get_purchase_orders_response.rb +0 -274
@@ -16,12 +16,16 @@ module XeroRuby::Accounting
16
16
  require 'bigdecimal'
17
17
 
18
18
  class Journals
19
+ # Displays array of warning messages from the API
20
+ attr_accessor :warnings
21
+
19
22
 
20
23
  attr_accessor :journals
21
24
 
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
28
+ :'warnings' => :'Warnings',
25
29
  :'journals' => :'Journals'
26
30
  }
27
31
  end
@@ -29,6 +33,7 @@ module XeroRuby::Accounting
29
33
  # Attribute type mapping.
30
34
  def self.openapi_types
31
35
  {
36
+ :'warnings' => :'Array<ValidationError>',
32
37
  :'journals' => :'Array<Journal>'
33
38
  }
34
39
  end
@@ -48,6 +53,12 @@ module XeroRuby::Accounting
48
53
  h[k.to_sym] = v
49
54
  }
50
55
 
56
+ if attributes.key?(:'warnings')
57
+ if (value = attributes[:'warnings']).is_a?(Array)
58
+ self.warnings = value
59
+ end
60
+ end
61
+
51
62
  if attributes.key?(:'journals')
52
63
  if (value = attributes[:'journals']).is_a?(Array)
53
64
  self.journals = value
@@ -73,6 +84,7 @@ module XeroRuby::Accounting
73
84
  def ==(o)
74
85
  return true if self.equal?(o)
75
86
  self.class == o.class &&
87
+ warnings == o.warnings &&
76
88
  journals == o.journals
77
89
  end
78
90
 
@@ -85,7 +97,7 @@ module XeroRuby::Accounting
85
97
  # Calculates hash code according to all attributes.
86
98
  # @return [Integer] Hash code
87
99
  def hash
88
- [journals].hash
100
+ [warnings, journals].hash
89
101
  end
90
102
 
91
103
  # Builds the object from hash
@@ -17,11 +17,19 @@ module XeroRuby::Accounting
17
17
 
18
18
  class ManualJournals
19
19
 
20
+ attr_accessor :pagination
21
+
22
+ # Displays array of warning messages from the API
23
+ attr_accessor :warnings
24
+
25
+
20
26
  attr_accessor :manual_journals
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'pagination' => :'pagination',
32
+ :'warnings' => :'Warnings',
25
33
  :'manual_journals' => :'ManualJournals'
26
34
  }
27
35
  end
@@ -29,6 +37,8 @@ module XeroRuby::Accounting
29
37
  # Attribute type mapping.
30
38
  def self.openapi_types
31
39
  {
40
+ :'pagination' => :'Pagination',
41
+ :'warnings' => :'Array<ValidationError>',
32
42
  :'manual_journals' => :'Array<ManualJournal>'
33
43
  }
34
44
  end
@@ -48,6 +58,16 @@ module XeroRuby::Accounting
48
58
  h[k.to_sym] = v
49
59
  }
50
60
 
61
+ if attributes.key?(:'pagination')
62
+ self.pagination = attributes[:'pagination']
63
+ end
64
+
65
+ if attributes.key?(:'warnings')
66
+ if (value = attributes[:'warnings']).is_a?(Array)
67
+ self.warnings = value
68
+ end
69
+ end
70
+
51
71
  if attributes.key?(:'manual_journals')
52
72
  if (value = attributes[:'manual_journals']).is_a?(Array)
53
73
  self.manual_journals = value
@@ -73,6 +93,8 @@ module XeroRuby::Accounting
73
93
  def ==(o)
74
94
  return true if self.equal?(o)
75
95
  self.class == o.class &&
96
+ pagination == o.pagination &&
97
+ warnings == o.warnings &&
76
98
  manual_journals == o.manual_journals
77
99
  end
78
100
 
@@ -85,7 +107,7 @@ module XeroRuby::Accounting
85
107
  # Calculates hash code according to all attributes.
86
108
  # @return [Integer] Hash code
87
109
  def hash
88
- [manual_journals].hash
110
+ [pagination, warnings, manual_journals].hash
89
111
  end
90
112
 
91
113
  # Builds the object from hash
@@ -168,6 +168,10 @@ module XeroRuby::Accounting
168
168
  NON_GST_CASHBOOK ||= "NON_GST_CASHBOOK".freeze
169
169
  ULTIMATE ||= "ULTIMATE".freeze
170
170
  LITE ||= "LITE".freeze
171
+ ULTIMATE_10 ||= "ULTIMATE_10".freeze
172
+ ULTIMATE_20 ||= "ULTIMATE_20".freeze
173
+ ULTIMATE_50 ||= "ULTIMATE_50".freeze
174
+ ULTIMATE_100 ||= "ULTIMATE_100".freeze
171
175
  IGNITE ||= "IGNITE".freeze
172
176
  GROW ||= "GROW".freeze
173
177
  COMPREHENSIVE ||= "COMPREHENSIVE".freeze
@@ -466,7 +470,7 @@ module XeroRuby::Accounting
466
470
  return false unless sales_tax_period_validator.valid?(@sales_tax_period)
467
471
  organisation_entity_type_validator = EnumAttributeValidator.new('String', ["ACCOUNTING_PRACTICE", "COMPANY", "CHARITY", "CLUB_OR_SOCIETY", "INDIVIDUAL", "LOOK_THROUGH_COMPANY", "NOT_FOR_PROFIT", "PARTNERSHIP", "S_CORPORATION", "SELF_MANAGED_SUPERANNUATION_FUND", "SOLE_TRADER", "SUPERANNUATION_FUND", "TRUST"])
468
472
  return false unless organisation_entity_type_validator.valid?(@organisation_entity_type)
469
- _class_validator = EnumAttributeValidator.new('String', ["DEMO", "TRIAL", "STARTER", "STANDARD", "PREMIUM", "PREMIUM_20", "PREMIUM_50", "PREMIUM_100", "LEDGER", "GST_CASHBOOK", "NON_GST_CASHBOOK", "ULTIMATE", "LITE", "IGNITE", "GROW", "COMPREHENSIVE"])
473
+ _class_validator = EnumAttributeValidator.new('String', ["DEMO", "TRIAL", "STARTER", "STANDARD", "PREMIUM", "PREMIUM_20", "PREMIUM_50", "PREMIUM_100", "LEDGER", "GST_CASHBOOK", "NON_GST_CASHBOOK", "ULTIMATE", "LITE", "ULTIMATE_10", "ULTIMATE_20", "ULTIMATE_50", "ULTIMATE_100", "IGNITE", "GROW", "COMPREHENSIVE"])
470
474
  return false unless _class_validator.valid?(@_class)
471
475
  edition_validator = EnumAttributeValidator.new('String', ["BUSINESS", "PARTNER"])
472
476
  return false unless edition_validator.valid?(@edition)
@@ -526,7 +530,7 @@ module XeroRuby::Accounting
526
530
  # Custom attribute writer method checking allowed values (enum).
527
531
  # @param [Object] _class Object to be assigned
528
532
  def _class=(_class)
529
- validator = EnumAttributeValidator.new('String', ["DEMO", "TRIAL", "STARTER", "STANDARD", "PREMIUM", "PREMIUM_20", "PREMIUM_50", "PREMIUM_100", "LEDGER", "GST_CASHBOOK", "NON_GST_CASHBOOK", "ULTIMATE", "LITE", "IGNITE", "GROW", "COMPREHENSIVE"])
533
+ validator = EnumAttributeValidator.new('String', ["DEMO", "TRIAL", "STARTER", "STANDARD", "PREMIUM", "PREMIUM_20", "PREMIUM_50", "PREMIUM_100", "LEDGER", "GST_CASHBOOK", "NON_GST_CASHBOOK", "ULTIMATE", "LITE", "ULTIMATE_10", "ULTIMATE_20", "ULTIMATE_50", "ULTIMATE_100", "IGNITE", "GROW", "COMPREHENSIVE"])
530
534
  unless validator.valid?(_class)
531
535
  fail ArgumentError, "invalid value for \"_class\", must be one of #{validator.allowable_values}."
532
536
  end
@@ -17,11 +17,19 @@ module XeroRuby::Accounting
17
17
 
18
18
  class Overpayments
19
19
 
20
+ attr_accessor :pagination
21
+
22
+ # Displays array of warning messages from the API
23
+ attr_accessor :warnings
24
+
25
+
20
26
  attr_accessor :overpayments
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'pagination' => :'pagination',
32
+ :'warnings' => :'Warnings',
25
33
  :'overpayments' => :'Overpayments'
26
34
  }
27
35
  end
@@ -29,6 +37,8 @@ module XeroRuby::Accounting
29
37
  # Attribute type mapping.
30
38
  def self.openapi_types
31
39
  {
40
+ :'pagination' => :'Pagination',
41
+ :'warnings' => :'Array<ValidationError>',
32
42
  :'overpayments' => :'Array<Overpayment>'
33
43
  }
34
44
  end
@@ -48,6 +58,16 @@ module XeroRuby::Accounting
48
58
  h[k.to_sym] = v
49
59
  }
50
60
 
61
+ if attributes.key?(:'pagination')
62
+ self.pagination = attributes[:'pagination']
63
+ end
64
+
65
+ if attributes.key?(:'warnings')
66
+ if (value = attributes[:'warnings']).is_a?(Array)
67
+ self.warnings = value
68
+ end
69
+ end
70
+
51
71
  if attributes.key?(:'overpayments')
52
72
  if (value = attributes[:'overpayments']).is_a?(Array)
53
73
  self.overpayments = value
@@ -73,6 +93,8 @@ module XeroRuby::Accounting
73
93
  def ==(o)
74
94
  return true if self.equal?(o)
75
95
  self.class == o.class &&
96
+ pagination == o.pagination &&
97
+ warnings == o.warnings &&
76
98
  overpayments == o.overpayments
77
99
  end
78
100
 
@@ -85,7 +107,7 @@ module XeroRuby::Accounting
85
107
  # Calculates hash code according to all attributes.
86
108
  # @return [Integer] Hash code
87
109
  def hash
88
- [overpayments].hash
110
+ [pagination, warnings, overpayments].hash
89
111
  end
90
112
 
91
113
  # Builds the object from hash
@@ -13,10 +13,9 @@ require 'time'
13
13
  require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
- # Pagination information
17
16
  require 'bigdecimal'
18
17
 
19
- class PageInfo
18
+ class Pagination
20
19
 
21
20
  attr_accessor :page
22
21
 
@@ -24,18 +23,18 @@ module XeroRuby::Accounting
24
23
  attr_accessor :page_size
25
24
 
26
25
 
27
- attr_accessor :total_pages
26
+ attr_accessor :page_count
28
27
 
29
28
 
30
- attr_accessor :total_rows
29
+ attr_accessor :item_count
31
30
 
32
31
  # Attribute mapping from ruby-style variable name to JSON key.
33
32
  def self.attribute_map
34
33
  {
35
- :'page' => :'Page',
36
- :'page_size' => :'PageSize',
37
- :'total_pages' => :'TotalPages',
38
- :'total_rows' => :'TotalRows'
34
+ :'page' => :'page',
35
+ :'page_size' => :'pageSize',
36
+ :'page_count' => :'pageCount',
37
+ :'item_count' => :'itemCount'
39
38
  }
40
39
  end
41
40
 
@@ -44,8 +43,8 @@ module XeroRuby::Accounting
44
43
  {
45
44
  :'page' => :'Integer',
46
45
  :'page_size' => :'Integer',
47
- :'total_pages' => :'Integer',
48
- :'total_rows' => :'Integer'
46
+ :'page_count' => :'Integer',
47
+ :'item_count' => :'Integer'
49
48
  }
50
49
  end
51
50
 
@@ -53,13 +52,13 @@ module XeroRuby::Accounting
53
52
  # @param [Hash] attributes Model attributes in the form of hash
54
53
  def initialize(attributes = {})
55
54
  if (!attributes.is_a?(Hash))
56
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::PageInfo` initialize method"
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Pagination` initialize method"
57
56
  end
58
57
 
59
58
  # check to see if the attribute exists and convert string to symbol for hash key
60
59
  attributes = attributes.each_with_object({}) { |(k, v), h|
61
60
  if (!self.class.attribute_map.key?(k.to_sym))
62
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::PageInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Pagination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
62
  end
64
63
  h[k.to_sym] = v
65
64
  }
@@ -72,12 +71,12 @@ module XeroRuby::Accounting
72
71
  self.page_size = attributes[:'page_size']
73
72
  end
74
73
 
75
- if attributes.key?(:'total_pages')
76
- self.total_pages = attributes[:'total_pages']
74
+ if attributes.key?(:'page_count')
75
+ self.page_count = attributes[:'page_count']
77
76
  end
78
77
 
79
- if attributes.key?(:'total_rows')
80
- self.total_rows = attributes[:'total_rows']
78
+ if attributes.key?(:'item_count')
79
+ self.item_count = attributes[:'item_count']
81
80
  end
82
81
  end
83
82
 
@@ -101,8 +100,8 @@ module XeroRuby::Accounting
101
100
  self.class == o.class &&
102
101
  page == o.page &&
103
102
  page_size == o.page_size &&
104
- total_pages == o.total_pages &&
105
- total_rows == o.total_rows
103
+ page_count == o.page_count &&
104
+ item_count == o.item_count
106
105
  end
107
106
 
108
107
  # @see the `==` method
@@ -114,7 +113,7 @@ module XeroRuby::Accounting
114
113
  # Calculates hash code according to all attributes.
115
114
  # @return [Integer] Hash code
116
115
  def hash
117
- [page, page_size, total_pages, total_rows].hash
116
+ [page, page_size, page_count, item_count].hash
118
117
  end
119
118
 
120
119
  # Builds the object from hash
@@ -17,11 +17,19 @@ module XeroRuby::Accounting
17
17
 
18
18
  class Payments
19
19
 
20
+ attr_accessor :pagination
21
+
22
+ # Displays array of warning messages from the API
23
+ attr_accessor :warnings
24
+
25
+
20
26
  attr_accessor :payments
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'pagination' => :'pagination',
32
+ :'warnings' => :'Warnings',
25
33
  :'payments' => :'Payments'
26
34
  }
27
35
  end
@@ -29,6 +37,8 @@ module XeroRuby::Accounting
29
37
  # Attribute type mapping.
30
38
  def self.openapi_types
31
39
  {
40
+ :'pagination' => :'Pagination',
41
+ :'warnings' => :'Array<ValidationError>',
32
42
  :'payments' => :'Array<Payment>'
33
43
  }
34
44
  end
@@ -48,6 +58,16 @@ module XeroRuby::Accounting
48
58
  h[k.to_sym] = v
49
59
  }
50
60
 
61
+ if attributes.key?(:'pagination')
62
+ self.pagination = attributes[:'pagination']
63
+ end
64
+
65
+ if attributes.key?(:'warnings')
66
+ if (value = attributes[:'warnings']).is_a?(Array)
67
+ self.warnings = value
68
+ end
69
+ end
70
+
51
71
  if attributes.key?(:'payments')
52
72
  if (value = attributes[:'payments']).is_a?(Array)
53
73
  self.payments = value
@@ -73,6 +93,8 @@ module XeroRuby::Accounting
73
93
  def ==(o)
74
94
  return true if self.equal?(o)
75
95
  self.class == o.class &&
96
+ pagination == o.pagination &&
97
+ warnings == o.warnings &&
76
98
  payments == o.payments
77
99
  end
78
100
 
@@ -85,7 +107,7 @@ module XeroRuby::Accounting
85
107
  # Calculates hash code according to all attributes.
86
108
  # @return [Integer] Hash code
87
109
  def hash
88
- [payments].hash
110
+ [pagination, warnings, payments].hash
89
111
  end
90
112
 
91
113
  # Builds the object from hash
@@ -17,11 +17,19 @@ module XeroRuby::Accounting
17
17
 
18
18
  class Prepayments
19
19
 
20
+ attr_accessor :pagination
21
+
22
+ # Displays array of warning messages from the API
23
+ attr_accessor :warnings
24
+
25
+
20
26
  attr_accessor :prepayments
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'pagination' => :'pagination',
32
+ :'warnings' => :'Warnings',
25
33
  :'prepayments' => :'Prepayments'
26
34
  }
27
35
  end
@@ -29,6 +37,8 @@ module XeroRuby::Accounting
29
37
  # Attribute type mapping.
30
38
  def self.openapi_types
31
39
  {
40
+ :'pagination' => :'Pagination',
41
+ :'warnings' => :'Array<ValidationError>',
32
42
  :'prepayments' => :'Array<Prepayment>'
33
43
  }
34
44
  end
@@ -48,6 +58,16 @@ module XeroRuby::Accounting
48
58
  h[k.to_sym] = v
49
59
  }
50
60
 
61
+ if attributes.key?(:'pagination')
62
+ self.pagination = attributes[:'pagination']
63
+ end
64
+
65
+ if attributes.key?(:'warnings')
66
+ if (value = attributes[:'warnings']).is_a?(Array)
67
+ self.warnings = value
68
+ end
69
+ end
70
+
51
71
  if attributes.key?(:'prepayments')
52
72
  if (value = attributes[:'prepayments']).is_a?(Array)
53
73
  self.prepayments = value
@@ -73,6 +93,8 @@ module XeroRuby::Accounting
73
93
  def ==(o)
74
94
  return true if self.equal?(o)
75
95
  self.class == o.class &&
96
+ pagination == o.pagination &&
97
+ warnings == o.warnings &&
76
98
  prepayments == o.prepayments
77
99
  end
78
100
 
@@ -85,7 +107,7 @@ module XeroRuby::Accounting
85
107
  # Calculates hash code according to all attributes.
86
108
  # @return [Integer] Hash code
87
109
  def hash
88
- [prepayments].hash
110
+ [pagination, warnings, prepayments].hash
89
111
  end
90
112
 
91
113
  # Builds the object from hash
@@ -17,11 +17,19 @@ module XeroRuby::Accounting
17
17
 
18
18
  class PurchaseOrders
19
19
 
20
+ attr_accessor :pagination
21
+
22
+ # Displays array of warning messages from the API
23
+ attr_accessor :warnings
24
+
25
+
20
26
  attr_accessor :purchase_orders
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'pagination' => :'pagination',
32
+ :'warnings' => :'Warnings',
25
33
  :'purchase_orders' => :'PurchaseOrders'
26
34
  }
27
35
  end
@@ -29,6 +37,8 @@ module XeroRuby::Accounting
29
37
  # Attribute type mapping.
30
38
  def self.openapi_types
31
39
  {
40
+ :'pagination' => :'Pagination',
41
+ :'warnings' => :'Array<ValidationError>',
32
42
  :'purchase_orders' => :'Array<PurchaseOrder>'
33
43
  }
34
44
  end
@@ -48,6 +58,16 @@ module XeroRuby::Accounting
48
58
  h[k.to_sym] = v
49
59
  }
50
60
 
61
+ if attributes.key?(:'pagination')
62
+ self.pagination = attributes[:'pagination']
63
+ end
64
+
65
+ if attributes.key?(:'warnings')
66
+ if (value = attributes[:'warnings']).is_a?(Array)
67
+ self.warnings = value
68
+ end
69
+ end
70
+
51
71
  if attributes.key?(:'purchase_orders')
52
72
  if (value = attributes[:'purchase_orders']).is_a?(Array)
53
73
  self.purchase_orders = value
@@ -73,6 +93,8 @@ module XeroRuby::Accounting
73
93
  def ==(o)
74
94
  return true if self.equal?(o)
75
95
  self.class == o.class &&
96
+ pagination == o.pagination &&
97
+ warnings == o.warnings &&
76
98
  purchase_orders == o.purchase_orders
77
99
  end
78
100
 
@@ -85,7 +107,7 @@ module XeroRuby::Accounting
85
107
  # Calculates hash code according to all attributes.
86
108
  # @return [Integer] Hash code
87
109
  def hash
88
- [purchase_orders].hash
110
+ [pagination, warnings, purchase_orders].hash
89
111
  end
90
112
 
91
113
  # Builds the object from hash
@@ -63,6 +63,12 @@ module XeroRuby::PayrollNz
63
63
  # Employee's job title
64
64
  attr_accessor :job_title
65
65
 
66
+ # Engagement type of the employee
67
+ attr_accessor :engagement_type
68
+
69
+ # End date for an employee with a fixed-term engagement type
70
+ attr_accessor :fixed_term_end_date
71
+
66
72
  class EnumAttributeValidator
67
73
  attr_reader :datatype
68
74
  attr_reader :allowable_values
@@ -102,7 +108,9 @@ module XeroRuby::PayrollNz
102
108
  :'payroll_calendar_id' => :'payrollCalendarID',
103
109
  :'updated_date_utc' => :'updatedDateUTC',
104
110
  :'created_date_utc' => :'createdDateUTC',
105
- :'job_title' => :'jobTitle'
111
+ :'job_title' => :'jobTitle',
112
+ :'engagement_type' => :'engagementType',
113
+ :'fixed_term_end_date' => :'fixedTermEndDate'
106
114
  }
107
115
  end
108
116
 
@@ -123,7 +131,9 @@ module XeroRuby::PayrollNz
123
131
  :'payroll_calendar_id' => :'String',
124
132
  :'updated_date_utc' => :'DateTime',
125
133
  :'created_date_utc' => :'DateTime',
126
- :'job_title' => :'String'
134
+ :'job_title' => :'String',
135
+ :'engagement_type' => :'String',
136
+ :'fixed_term_end_date' => :'Date'
127
137
  }
128
138
  end
129
139
 
@@ -201,6 +211,14 @@ module XeroRuby::PayrollNz
201
211
  if attributes.key?(:'job_title')
202
212
  self.job_title = attributes[:'job_title']
203
213
  end
214
+
215
+ if attributes.key?(:'engagement_type')
216
+ self.engagement_type = attributes[:'engagement_type']
217
+ end
218
+
219
+ if attributes.key?(:'fixed_term_end_date')
220
+ self.fixed_term_end_date = attributes[:'fixed_term_end_date']
221
+ end
204
222
  end
205
223
 
206
224
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -247,7 +265,9 @@ module XeroRuby::PayrollNz
247
265
  payroll_calendar_id == o.payroll_calendar_id &&
248
266
  updated_date_utc == o.updated_date_utc &&
249
267
  created_date_utc == o.created_date_utc &&
250
- job_title == o.job_title
268
+ job_title == o.job_title &&
269
+ engagement_type == o.engagement_type &&
270
+ fixed_term_end_date == o.fixed_term_end_date
251
271
  end
252
272
 
253
273
  # @see the `==` method
@@ -259,7 +279,7 @@ module XeroRuby::PayrollNz
259
279
  # Calculates hash code according to all attributes.
260
280
  # @return [Integer] Hash code
261
281
  def hash
262
- [employee_id, title, first_name, last_name, date_of_birth, address, email, gender, phone_number, start_date, end_date, payroll_calendar_id, updated_date_utc, created_date_utc, job_title].hash
282
+ [employee_id, title, first_name, last_name, date_of_birth, address, email, gender, phone_number, start_date, end_date, payroll_calendar_id, updated_date_utc, created_date_utc, job_title, engagement_type, fixed_term_end_date].hash
263
283
  end
264
284
 
265
285
  # Builds the object from hash
@@ -37,6 +37,12 @@ module XeroRuby::PayrollNz
37
37
  # Initial sick leave balance. This will be positive unless they've taken sick leave in advance
38
38
  attr_accessor :sick_leave_opening_balance
39
39
 
40
+ # Set Schedule of Accrual Type for Sick Leave
41
+ attr_accessor :sick_leave_schedule_of_accrual
42
+
43
+ # If Sick Leave Schedule of Accrual is \"OnAnniversaryDate\", this is the date when entitled to Sick Leave
44
+ attr_accessor :sick_leave_anniversary_date
45
+
40
46
  # Attribute mapping from ruby-style variable name to JSON key.
41
47
  def self.attribute_map
42
48
  {
@@ -46,7 +52,9 @@ module XeroRuby::PayrollNz
46
52
  :'negative_annual_leave_balance_paid_amount' => :'negativeAnnualLeaveBalancePaidAmount',
47
53
  :'sick_leave_hours_to_accrue_annually' => :'sickLeaveHoursToAccrueAnnually',
48
54
  :'sick_leave_maximum_hours_to_accrue' => :'sickLeaveMaximumHoursToAccrue',
49
- :'sick_leave_opening_balance' => :'sickLeaveOpeningBalance'
55
+ :'sick_leave_opening_balance' => :'sickLeaveOpeningBalance',
56
+ :'sick_leave_schedule_of_accrual' => :'SickLeaveScheduleOfAccrual',
57
+ :'sick_leave_anniversary_date' => :'SickLeaveAnniversaryDate'
50
58
  }
51
59
  end
52
60
 
@@ -59,7 +67,9 @@ module XeroRuby::PayrollNz
59
67
  :'negative_annual_leave_balance_paid_amount' => :'BigDecimal',
60
68
  :'sick_leave_hours_to_accrue_annually' => :'BigDecimal',
61
69
  :'sick_leave_maximum_hours_to_accrue' => :'BigDecimal',
62
- :'sick_leave_opening_balance' => :'BigDecimal'
70
+ :'sick_leave_opening_balance' => :'BigDecimal',
71
+ :'sick_leave_schedule_of_accrual' => :'String',
72
+ :'sick_leave_anniversary_date' => :'Date'
63
73
  }
64
74
  end
65
75
 
@@ -105,6 +115,14 @@ module XeroRuby::PayrollNz
105
115
  if attributes.key?(:'sick_leave_opening_balance')
106
116
  self.sick_leave_opening_balance = attributes[:'sick_leave_opening_balance']
107
117
  end
118
+
119
+ if attributes.key?(:'sick_leave_schedule_of_accrual')
120
+ self.sick_leave_schedule_of_accrual = attributes[:'sick_leave_schedule_of_accrual']
121
+ end
122
+
123
+ if attributes.key?(:'sick_leave_anniversary_date')
124
+ self.sick_leave_anniversary_date = attributes[:'sick_leave_anniversary_date']
125
+ end
108
126
  end
109
127
 
110
128
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -131,7 +149,9 @@ module XeroRuby::PayrollNz
131
149
  negative_annual_leave_balance_paid_amount == o.negative_annual_leave_balance_paid_amount &&
132
150
  sick_leave_hours_to_accrue_annually == o.sick_leave_hours_to_accrue_annually &&
133
151
  sick_leave_maximum_hours_to_accrue == o.sick_leave_maximum_hours_to_accrue &&
134
- sick_leave_opening_balance == o.sick_leave_opening_balance
152
+ sick_leave_opening_balance == o.sick_leave_opening_balance &&
153
+ sick_leave_schedule_of_accrual == o.sick_leave_schedule_of_accrual &&
154
+ sick_leave_anniversary_date == o.sick_leave_anniversary_date
135
155
  end
136
156
 
137
157
  # @see the `==` method
@@ -143,7 +163,7 @@ module XeroRuby::PayrollNz
143
163
  # Calculates hash code according to all attributes.
144
164
  # @return [Integer] Hash code
145
165
  def hash
146
- [include_holiday_pay, holiday_pay_opening_balance, annual_leave_opening_balance, negative_annual_leave_balance_paid_amount, sick_leave_hours_to_accrue_annually, sick_leave_maximum_hours_to_accrue, sick_leave_opening_balance].hash
166
+ [include_holiday_pay, holiday_pay_opening_balance, annual_leave_opening_balance, negative_annual_leave_balance_paid_amount, sick_leave_hours_to_accrue_annually, sick_leave_maximum_hours_to_accrue, sick_leave_opening_balance, sick_leave_schedule_of_accrual, sick_leave_anniversary_date].hash
147
167
  end
148
168
 
149
169
  # Builds the object from hash