@snokam/mcp-api 0.5.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.
@@ -0,0 +1,1131 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Accounting Function",
5
+ "description": "Accounting for Snøkam, e.g to calculate salary",
6
+ "version": "v1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://accounting.api.test.snokam.no"
11
+ }
12
+ ],
13
+ "paths": {
14
+ "/v1.0/vouchers/gadgets": {
15
+ "get": {
16
+ "tags": [
17
+ "Vouchers"
18
+ ],
19
+ "summary": "Gets all gadget vouchers",
20
+ "description": "Retrieves the gadget vouchers of all users for the current year.",
21
+ "operationId": "GetAllGadgetsVouchers",
22
+ "parameters": [
23
+ {
24
+ "name": "from",
25
+ "in": "query",
26
+ "description": "",
27
+ "required": true,
28
+ "schema": {
29
+ "type": "string",
30
+ "format": "date-time"
31
+ },
32
+ "x-ms-summary": "Date from"
33
+ },
34
+ {
35
+ "name": "to",
36
+ "in": "query",
37
+ "description": "",
38
+ "required": true,
39
+ "schema": {
40
+ "type": "string",
41
+ "format": "date-time"
42
+ },
43
+ "x-ms-summary": "Date to"
44
+ }
45
+ ],
46
+ "responses": {
47
+ "200": {
48
+ "description": "Vouchers retrieved",
49
+ "content": {
50
+ "application/json": {
51
+ "schema": {
52
+ "type": "array",
53
+ "items": {
54
+ "$ref": "#/components/schemas/employeeVouchers"
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "x-ms-summary": "Success"
60
+ },
61
+ "401": {
62
+ "description": "Unauthorized access",
63
+ "x-ms-summary": "Unauthorized"
64
+ }
65
+ },
66
+ "security": [
67
+ {
68
+ "Implicit": [
69
+ "api://40e7ad9e-ec75-40a3-8ab6-e7f04af9de80"
70
+ ]
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ "/v1.0/vouchers/gadgets/me": {
76
+ "get": {
77
+ "tags": [
78
+ "Vouchers"
79
+ ],
80
+ "summary": "Gets my gadget vouchers",
81
+ "description": "Retrieves the gadget vouchers of the current user for the current year.",
82
+ "operationId": "GetMyGadgetBudgetVouchers",
83
+ "parameters": [
84
+ {
85
+ "name": "from",
86
+ "in": "query",
87
+ "description": "",
88
+ "required": true,
89
+ "schema": {
90
+ "type": "string",
91
+ "format": "date-time"
92
+ },
93
+ "x-ms-summary": "Date from"
94
+ },
95
+ {
96
+ "name": "to",
97
+ "in": "query",
98
+ "description": "",
99
+ "required": true,
100
+ "schema": {
101
+ "type": "string",
102
+ "format": "date-time"
103
+ },
104
+ "x-ms-summary": "Date to"
105
+ }
106
+ ],
107
+ "responses": {
108
+ "200": {
109
+ "description": "Vouchers retrieved",
110
+ "content": {
111
+ "application/json": {
112
+ "schema": {
113
+ "type": "array",
114
+ "items": {
115
+ "$ref": "#/components/schemas/gadgetVoucher"
116
+ }
117
+ }
118
+ }
119
+ },
120
+ "x-ms-summary": "Success"
121
+ }
122
+ },
123
+ "security": [
124
+ {
125
+ "Implicit": [
126
+ "api://40e7ad9e-ec75-40a3-8ab6-e7f04af9de80"
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ },
132
+ "/v1.0/salary": {
133
+ "get": {
134
+ "tags": [
135
+ "Salary"
136
+ ],
137
+ "summary": "Calculates salary",
138
+ "description": "Calculates salary based on time transaction summaries.",
139
+ "operationId": "CalculateSalary",
140
+ "parameters": [
141
+ {
142
+ "name": "Daily",
143
+ "in": "query",
144
+ "description": "Whether the salary is daily",
145
+ "schema": {
146
+ "type": "boolean"
147
+ },
148
+ "x-ms-summary": "Whether the salary is daily"
149
+ }
150
+ ],
151
+ "requestBody": {
152
+ "description": "List of time transaction summaries",
153
+ "content": {
154
+ "application/json": {
155
+ "schema": {
156
+ "type": "array",
157
+ "items": {
158
+ "$ref": "#/components/schemas/timeTransactionSummary"
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "required": true
164
+ },
165
+ "responses": {
166
+ "200": {
167
+ "description": "Salary calculated successfully",
168
+ "content": {
169
+ "application/json": {
170
+ "schema": {
171
+ "$ref": "#/components/schemas/salarySummary"
172
+ }
173
+ }
174
+ },
175
+ "x-ms-summary": "Success"
176
+ }
177
+ }
178
+ }
179
+ },
180
+ "/v1.0/salaries": {
181
+ "get": {
182
+ "tags": [
183
+ "Salaries"
184
+ ],
185
+ "summary": "Calculates multiple salaries",
186
+ "description": "Calculates salaries for multiple employees based on time transaction summaries.",
187
+ "operationId": "CalculateSalaries",
188
+ "parameters": [
189
+ {
190
+ "name": "Daily",
191
+ "in": "query",
192
+ "description": "Whether the salary is daily",
193
+ "schema": {
194
+ "type": "boolean"
195
+ },
196
+ "x-ms-summary": "Whether the salary is daily"
197
+ }
198
+ ],
199
+ "requestBody": {
200
+ "description": "List of time transaction employee summaries",
201
+ "content": {
202
+ "application/json": {
203
+ "schema": {
204
+ "type": "array",
205
+ "items": {
206
+ "$ref": "#/components/schemas/employeeTimeTransactionSummary"
207
+ }
208
+ }
209
+ }
210
+ },
211
+ "required": true
212
+ },
213
+ "responses": {
214
+ "200": {
215
+ "description": "Salaries calculated successfully",
216
+ "content": {
217
+ "application/json": {
218
+ "schema": {
219
+ "type": "array",
220
+ "items": {
221
+ "$ref": "#/components/schemas/employeeSalary"
222
+ }
223
+ }
224
+ }
225
+ },
226
+ "x-ms-summary": "Success"
227
+ }
228
+ }
229
+ }
230
+ },
231
+ "/v1.0/salary/provision": {
232
+ "get": {
233
+ "tags": [
234
+ "Provision Salary"
235
+ ],
236
+ "summary": "Calculates provision salary",
237
+ "description": "Calculates provision salary based on provided parameters.",
238
+ "operationId": "CalculateProvisionSalary",
239
+ "parameters": [
240
+ {
241
+ "name": "Monthly",
242
+ "in": "query",
243
+ "description": "Whether the salary is monthly",
244
+ "required": true,
245
+ "schema": {
246
+ "type": "boolean"
247
+ },
248
+ "x-ms-summary": "Whether the salary is monthly"
249
+ },
250
+ {
251
+ "name": "BillableHours",
252
+ "in": "query",
253
+ "description": "Number of billable hours",
254
+ "required": true,
255
+ "schema": {
256
+ "type": "number",
257
+ "format": "float"
258
+ },
259
+ "x-ms-summary": "Number of billable hours"
260
+ },
261
+ {
262
+ "name": "HourlyRate",
263
+ "in": "query",
264
+ "description": "Hourly rate",
265
+ "required": true,
266
+ "schema": {
267
+ "type": "number",
268
+ "format": "float"
269
+ },
270
+ "x-ms-summary": "Hourly rate"
271
+ },
272
+ {
273
+ "name": "Commission",
274
+ "in": "query",
275
+ "description": "Commission rate",
276
+ "required": true,
277
+ "schema": {
278
+ "type": "number",
279
+ "format": "float"
280
+ },
281
+ "x-ms-summary": "Commission rate"
282
+ }
283
+ ],
284
+ "responses": {
285
+ "200": {
286
+ "description": "Provision salary calculated successfully",
287
+ "content": {
288
+ "application/json": {
289
+ "schema": {
290
+ "$ref": "#/components/schemas/salaryLine"
291
+ }
292
+ }
293
+ },
294
+ "x-ms-summary": "Success"
295
+ },
296
+ "400": {
297
+ "description": "Invalid input parameters",
298
+ "content": {
299
+ "application/json": {
300
+ "schema": {
301
+ "type": "array",
302
+ "items": {
303
+ "$ref": "#/components/schemas/validationFailure"
304
+ }
305
+ }
306
+ }
307
+ },
308
+ "x-ms-summary": "Bad Request"
309
+ }
310
+ }
311
+ }
312
+ },
313
+ "/v1.0/salaries/estimate": {
314
+ "post": {
315
+ "tags": [
316
+ "Salaries"
317
+ ],
318
+ "summary": "Estimates multiple salaries",
319
+ "description": "Estimates salaries for multiple employees based on provided data.",
320
+ "operationId": "EstimateSalaries",
321
+ "requestBody": {
322
+ "description": "List of salary estimates",
323
+ "content": {
324
+ "application/json": {
325
+ "schema": {
326
+ "type": "array",
327
+ "items": {
328
+ "$ref": "#/components/schemas/salaryEstimateInput"
329
+ }
330
+ }
331
+ }
332
+ },
333
+ "required": true
334
+ },
335
+ "responses": {
336
+ "200": {
337
+ "description": "Salaries estimated successfully",
338
+ "content": {
339
+ "application/json": {
340
+ "schema": {
341
+ "type": "array",
342
+ "items": {
343
+ "$ref": "#/components/schemas/salaryEstimateWithEmployee"
344
+ }
345
+ }
346
+ }
347
+ },
348
+ "x-ms-summary": "Success"
349
+ }
350
+ }
351
+ }
352
+ },
353
+ "/v1.0/salary/estimate": {
354
+ "get": {
355
+ "tags": [
356
+ "Salary"
357
+ ],
358
+ "summary": "Estimates salary",
359
+ "description": "Estimates salary based on provided parameters.",
360
+ "operationId": "EstimateSalary",
361
+ "parameters": [
362
+ {
363
+ "name": "Monthly",
364
+ "in": "query",
365
+ "description": "Whether the salary is monthly",
366
+ "schema": {
367
+ "type": "boolean"
368
+ },
369
+ "x-ms-summary": "Whether the salary is monthly"
370
+ },
371
+ {
372
+ "name": "BillableHours",
373
+ "in": "query",
374
+ "description": "Number of billable hours",
375
+ "required": true,
376
+ "schema": {
377
+ "type": "number",
378
+ "format": "float"
379
+ },
380
+ "x-ms-summary": "Number of billable hours"
381
+ },
382
+ {
383
+ "name": "HourlyRate",
384
+ "in": "query",
385
+ "description": "Hourly rate",
386
+ "required": true,
387
+ "schema": {
388
+ "type": "number",
389
+ "format": "float"
390
+ },
391
+ "x-ms-summary": "Hourly rate"
392
+ }
393
+ ],
394
+ "responses": {
395
+ "200": {
396
+ "description": "Salary estimated successfully",
397
+ "content": {
398
+ "application/json": {
399
+ "schema": {
400
+ "type": "array",
401
+ "items": {
402
+ "$ref": "#/components/schemas/salaryEstimate"
403
+ }
404
+ }
405
+ }
406
+ },
407
+ "x-ms-summary": "Success"
408
+ },
409
+ "400": {
410
+ "description": "Invalid input parameters",
411
+ "content": {
412
+ "application/json": {
413
+ "schema": {
414
+ "type": "array",
415
+ "items": {
416
+ "$ref": "#/components/schemas/validationFailure"
417
+ }
418
+ }
419
+ }
420
+ },
421
+ "x-ms-summary": "Bad Request"
422
+ }
423
+ }
424
+ }
425
+ },
426
+ "/v1.0/valuation/calculate": {
427
+ "get": {
428
+ "tags": [
429
+ "Valuation"
430
+ ],
431
+ "summary": "Calculates ownership valuation",
432
+ "description": "Calculates ownership valuation based on provided percentage.",
433
+ "operationId": "CalculateOwnershipValuation",
434
+ "parameters": [
435
+ {
436
+ "name": "Percent",
437
+ "in": "query",
438
+ "description": "Percentage of ownership",
439
+ "required": true,
440
+ "schema": {
441
+ "type": "number",
442
+ "format": "float"
443
+ },
444
+ "x-ms-summary": "Percentage of ownership"
445
+ }
446
+ ],
447
+ "responses": {
448
+ "200": {
449
+ "description": "Ownership valuation calculated successfully",
450
+ "content": {
451
+ "application/json": {
452
+ "schema": {
453
+ "$ref": "#/components/schemas/valuation"
454
+ }
455
+ }
456
+ },
457
+ "x-ms-summary": "Success"
458
+ },
459
+ "400": {
460
+ "description": "Invalid input parameters",
461
+ "content": {
462
+ "application/json": {
463
+ "schema": {
464
+ "type": "array",
465
+ "items": {
466
+ "$ref": "#/components/schemas/validationFailure"
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "x-ms-summary": "Bad Request"
472
+ }
473
+ }
474
+ }
475
+ },
476
+ "/v1.0/valuation": {
477
+ "get": {
478
+ "tags": [
479
+ "Valuation"
480
+ ],
481
+ "summary": "Gets ownership valuation",
482
+ "description": "Gets ownership valuation.",
483
+ "operationId": "OwnershipValuation",
484
+ "responses": {
485
+ "200": {
486
+ "description": "Ownership valuation retrieved successfully",
487
+ "content": {
488
+ "application/json": {
489
+ "schema": {
490
+ "type": "array",
491
+ "items": {
492
+ "$ref": "#/components/schemas/valuation"
493
+ }
494
+ }
495
+ }
496
+ },
497
+ "x-ms-summary": "Success"
498
+ },
499
+ "401": {
500
+ "description": "Unauthorized access",
501
+ "x-ms-summary": "Unauthorized"
502
+ }
503
+ },
504
+ "security": [
505
+ {
506
+ "Implicit": [
507
+ "api://40e7ad9e-ec75-40a3-8ab6-e7f04af9de80"
508
+ ]
509
+ }
510
+ ]
511
+ }
512
+ },
513
+ "/v1.0/valuation/me": {
514
+ "get": {
515
+ "tags": [
516
+ "Valuation"
517
+ ],
518
+ "summary": "Gets my ownership valuation",
519
+ "description": "Gets ownership valuation of the current user.",
520
+ "operationId": "MyOwnershipValuation",
521
+ "responses": {
522
+ "200": {
523
+ "description": "Ownership valuation retrieved successfully",
524
+ "content": {
525
+ "application/json": {
526
+ "schema": {
527
+ "$ref": "#/components/schemas/valuation"
528
+ }
529
+ }
530
+ },
531
+ "x-ms-summary": "Success"
532
+ },
533
+ "401": {
534
+ "description": "Unauthorized access",
535
+ "x-ms-summary": "Unauthorized"
536
+ }
537
+ },
538
+ "security": [
539
+ {
540
+ "Implicit": [
541
+ "api://40e7ad9e-ec75-40a3-8ab6-e7f04af9de80"
542
+ ]
543
+ }
544
+ ]
545
+ }
546
+ },
547
+ "/v1.0/wagerates": {
548
+ "get": {
549
+ "tags": [
550
+ "Wage Rates"
551
+ ],
552
+ "summary": "Gets wage rates",
553
+ "description": "Retrieves wage rates for a specified date.",
554
+ "operationId": "WageRates",
555
+ "parameters": [
556
+ {
557
+ "name": "date",
558
+ "in": "query",
559
+ "description": "The date for which to retrieve wage rates",
560
+ "schema": {
561
+ "type": "string",
562
+ "format": "date-time"
563
+ },
564
+ "x-ms-summary": "The date for which to retrieve wage rates"
565
+ }
566
+ ],
567
+ "responses": {
568
+ "200": {
569
+ "description": "Wage rates retrieved successfully",
570
+ "content": {
571
+ "application/json": {
572
+ "schema": {
573
+ "type": "array",
574
+ "items": {
575
+ "$ref": "#/components/schemas/wageRate"
576
+ }
577
+ }
578
+ }
579
+ },
580
+ "x-ms-summary": "Success"
581
+ }
582
+ }
583
+ }
584
+ }
585
+ },
586
+ "components": {
587
+ "schemas": {
588
+ "employeeSalary": {
589
+ "required": [
590
+ "name",
591
+ "email",
592
+ "salaryLines",
593
+ "salary"
594
+ ],
595
+ "type": "object",
596
+ "properties": {
597
+ "name": {
598
+ "minLength": 1,
599
+ "type": "string"
600
+ },
601
+ "email": {
602
+ "minLength": 1,
603
+ "type": "string"
604
+ },
605
+ "salaryLines": {
606
+ "type": "array",
607
+ "items": {
608
+ "$ref": "#/components/schemas/iSalary"
609
+ }
610
+ },
611
+ "salary": {
612
+ "type": "integer",
613
+ "format": "int32"
614
+ }
615
+ }
616
+ },
617
+ "employeeTimeTransactionSummary": {
618
+ "required": [
619
+ "name",
620
+ "email",
621
+ "timeTransactions"
622
+ ],
623
+ "type": "object",
624
+ "properties": {
625
+ "name": {
626
+ "minLength": 1,
627
+ "type": "string"
628
+ },
629
+ "email": {
630
+ "minLength": 1,
631
+ "type": "string"
632
+ },
633
+ "timeTransactions": {
634
+ "type": "array",
635
+ "items": {
636
+ "$ref": "#/components/schemas/timeTransactionSummary"
637
+ }
638
+ }
639
+ }
640
+ },
641
+ "employeeVouchers": {
642
+ "type": "object",
643
+ "properties": {
644
+ "name": {
645
+ "type": "string"
646
+ },
647
+ "email": {
648
+ "type": "string"
649
+ },
650
+ "vouchers": {
651
+ "type": "array",
652
+ "items": {
653
+ "$ref": "#/components/schemas/gadgetVoucher"
654
+ }
655
+ }
656
+ }
657
+ },
658
+ "employerTax": {
659
+ "type": "object",
660
+ "properties": {
661
+ "underLimit": {
662
+ "type": "integer",
663
+ "format": "int32"
664
+ },
665
+ "aboveLimit": {
666
+ "type": "integer",
667
+ "format": "int32"
668
+ },
669
+ "pension": {
670
+ "type": "integer",
671
+ "format": "int32"
672
+ },
673
+ "holidayPay": {
674
+ "type": "integer",
675
+ "format": "int32",
676
+ "nullable": true
677
+ },
678
+ "total": {
679
+ "type": "integer",
680
+ "format": "int32"
681
+ }
682
+ }
683
+ },
684
+ "gadgetVoucher": {
685
+ "type": "object",
686
+ "properties": {
687
+ "id": {
688
+ "type": "string"
689
+ },
690
+ "description": {
691
+ "type": "string"
692
+ },
693
+ "amount": {
694
+ "type": "number",
695
+ "format": "double"
696
+ },
697
+ "date": {
698
+ "type": "string",
699
+ "format": "date-time"
700
+ },
701
+ "employeeNumber": {
702
+ "type": "integer",
703
+ "format": "int64",
704
+ "nullable": true
705
+ }
706
+ }
707
+ },
708
+ "iSalary": {
709
+ "type": "object",
710
+ "properties": {
711
+ "salary": {
712
+ "type": "integer",
713
+ "format": "int32"
714
+ }
715
+ }
716
+ },
717
+ "pension": {
718
+ "type": "object",
719
+ "properties": {
720
+ "under12G": {
721
+ "type": "integer",
722
+ "format": "int32"
723
+ },
724
+ "above7G": {
725
+ "type": "integer",
726
+ "format": "int32"
727
+ },
728
+ "total": {
729
+ "type": "integer",
730
+ "format": "int32"
731
+ }
732
+ }
733
+ },
734
+ "salaryEstimate": {
735
+ "required": [
736
+ "title",
737
+ "hours",
738
+ "commission",
739
+ "hourlyRate",
740
+ "salary",
741
+ "pension",
742
+ "employerTax"
743
+ ],
744
+ "type": "object",
745
+ "properties": {
746
+ "title": {
747
+ "minLength": 1,
748
+ "type": "string"
749
+ },
750
+ "hours": {
751
+ "type": "number",
752
+ "format": "float"
753
+ },
754
+ "commission": {
755
+ "type": "number",
756
+ "format": "float"
757
+ },
758
+ "hourlyRate": {
759
+ "type": "integer",
760
+ "format": "int32"
761
+ },
762
+ "salary": {
763
+ "type": "integer",
764
+ "format": "int32"
765
+ },
766
+ "holidayPay": {
767
+ "type": "integer",
768
+ "format": "int32",
769
+ "nullable": true
770
+ },
771
+ "pension": {
772
+ "$ref": "#/components/schemas/pension"
773
+ },
774
+ "employerTax": {
775
+ "$ref": "#/components/schemas/employerTax"
776
+ }
777
+ }
778
+ },
779
+ "salaryEstimateInput": {
780
+ "required": [
781
+ "name",
782
+ "email",
783
+ "title",
784
+ "hours",
785
+ "commission",
786
+ "hourlyRate"
787
+ ],
788
+ "type": "object",
789
+ "properties": {
790
+ "name": {
791
+ "minLength": 1,
792
+ "type": "string"
793
+ },
794
+ "email": {
795
+ "minLength": 1,
796
+ "type": "string"
797
+ },
798
+ "title": {
799
+ "minLength": 1,
800
+ "type": "string"
801
+ },
802
+ "hours": {
803
+ "type": "number",
804
+ "format": "float"
805
+ },
806
+ "commission": {
807
+ "type": "number",
808
+ "format": "float"
809
+ },
810
+ "hourlyRate": {
811
+ "type": "integer",
812
+ "format": "int32"
813
+ }
814
+ }
815
+ },
816
+ "salaryEstimateWithEmployee": {
817
+ "required": [
818
+ "name",
819
+ "email",
820
+ "title",
821
+ "hours",
822
+ "commission",
823
+ "hourlyRate",
824
+ "salary",
825
+ "pension",
826
+ "employerTax"
827
+ ],
828
+ "type": "object",
829
+ "properties": {
830
+ "name": {
831
+ "minLength": 1,
832
+ "type": "string"
833
+ },
834
+ "email": {
835
+ "minLength": 1,
836
+ "type": "string"
837
+ },
838
+ "title": {
839
+ "minLength": 1,
840
+ "type": "string"
841
+ },
842
+ "hours": {
843
+ "type": "number",
844
+ "format": "float"
845
+ },
846
+ "commission": {
847
+ "type": "number",
848
+ "format": "float"
849
+ },
850
+ "hourlyRate": {
851
+ "type": "integer",
852
+ "format": "int32"
853
+ },
854
+ "salary": {
855
+ "type": "integer",
856
+ "format": "int32"
857
+ },
858
+ "holidayPay": {
859
+ "type": "integer",
860
+ "format": "int32",
861
+ "nullable": true
862
+ },
863
+ "pension": {
864
+ "$ref": "#/components/schemas/pension"
865
+ },
866
+ "employerTax": {
867
+ "$ref": "#/components/schemas/employerTax"
868
+ }
869
+ }
870
+ },
871
+ "salaryLine": {
872
+ "required": [
873
+ "salary",
874
+ "pension",
875
+ "employerTax"
876
+ ],
877
+ "type": "object",
878
+ "properties": {
879
+ "salary": {
880
+ "type": "integer",
881
+ "format": "int32"
882
+ },
883
+ "holidayPay": {
884
+ "type": "integer",
885
+ "format": "int32",
886
+ "nullable": true
887
+ },
888
+ "pension": {
889
+ "$ref": "#/components/schemas/pension"
890
+ },
891
+ "employerTax": {
892
+ "$ref": "#/components/schemas/employerTax"
893
+ }
894
+ }
895
+ },
896
+ "salarySummary": {
897
+ "required": [
898
+ "salary",
899
+ "salaryLines"
900
+ ],
901
+ "type": "object",
902
+ "properties": {
903
+ "salary": {
904
+ "type": "integer",
905
+ "format": "int32"
906
+ },
907
+ "salaryLines": {
908
+ "type": "array",
909
+ "items": {
910
+ "$ref": "#/components/schemas/iSalary"
911
+ }
912
+ }
913
+ }
914
+ },
915
+ "timeTransactionSummary": {
916
+ "required": [
917
+ "activityCode",
918
+ "activityName"
919
+ ],
920
+ "type": "object",
921
+ "properties": {
922
+ "activityCode": {
923
+ "minLength": 1,
924
+ "type": "string"
925
+ },
926
+ "activityName": {
927
+ "minLength": 1,
928
+ "type": "string"
929
+ },
930
+ "projectCode": {
931
+ "type": "string",
932
+ "nullable": true
933
+ },
934
+ "projectName": {
935
+ "type": "string",
936
+ "nullable": true
937
+ },
938
+ "hours": {
939
+ "type": "number",
940
+ "format": "double",
941
+ "nullable": true
942
+ },
943
+ "commission": {
944
+ "type": "number",
945
+ "format": "double",
946
+ "nullable": true
947
+ },
948
+ "hourlyRate": {
949
+ "type": "integer",
950
+ "format": "int32",
951
+ "nullable": true
952
+ }
953
+ }
954
+ },
955
+ "validationFailure": {
956
+ "type": "object",
957
+ "properties": {
958
+ "propertyName": {
959
+ "type": "string"
960
+ },
961
+ "errorMessage": {
962
+ "type": "string"
963
+ },
964
+ "attemptedValue": {
965
+ "type": "object"
966
+ },
967
+ "customState": {
968
+ "type": "object"
969
+ },
970
+ "severity": {
971
+ "enum": [
972
+ 0,
973
+ 1,
974
+ 2
975
+ ],
976
+ "type": "integer",
977
+ "format": "int32",
978
+ "default": 0
979
+ },
980
+ "errorCode": {
981
+ "type": "string"
982
+ },
983
+ "formattedMessagePlaceholderValues": {
984
+ "type": "object",
985
+ "additionalProperties": {
986
+ "type": "object"
987
+ }
988
+ }
989
+ }
990
+ },
991
+ "valuation": {
992
+ "required": [
993
+ "name",
994
+ "email",
995
+ "image",
996
+ "company",
997
+ "employee",
998
+ "nextEmployee",
999
+ "date",
1000
+ "numberOfEmployees",
1001
+ "employeesStartingThisMonth",
1002
+ "employeeHasStarted",
1003
+ "employeeStartedThisMonth",
1004
+ "history"
1005
+ ],
1006
+ "type": "object",
1007
+ "properties": {
1008
+ "name": {
1009
+ "minLength": 1,
1010
+ "type": "string"
1011
+ },
1012
+ "email": {
1013
+ "minLength": 1,
1014
+ "type": "string"
1015
+ },
1016
+ "image": {
1017
+ "minLength": 1,
1018
+ "type": "string"
1019
+ },
1020
+ "company": {
1021
+ "type": "number",
1022
+ "format": "float"
1023
+ },
1024
+ "employee": {
1025
+ "type": "number",
1026
+ "format": "float"
1027
+ },
1028
+ "nextEmployee": {
1029
+ "type": "number",
1030
+ "format": "float"
1031
+ },
1032
+ "date": {
1033
+ "minLength": 1,
1034
+ "type": "string"
1035
+ },
1036
+ "numberOfEmployees": {
1037
+ "type": "integer",
1038
+ "format": "int32"
1039
+ },
1040
+ "employeesStartingThisMonth": {
1041
+ "type": "array",
1042
+ "items": {
1043
+ "$ref": "#/components/schemas/valuationEmployee"
1044
+ }
1045
+ },
1046
+ "employeeHasStarted": {
1047
+ "type": "boolean"
1048
+ },
1049
+ "employeeStartedThisMonth": {
1050
+ "type": "boolean"
1051
+ },
1052
+ "history": {
1053
+ "type": "array",
1054
+ "items": {
1055
+ "$ref": "#/components/schemas/valuation"
1056
+ }
1057
+ }
1058
+ }
1059
+ },
1060
+ "valuationEmployee": {
1061
+ "required": [
1062
+ "name",
1063
+ "email",
1064
+ "image"
1065
+ ],
1066
+ "type": "object",
1067
+ "properties": {
1068
+ "name": {
1069
+ "minLength": 1,
1070
+ "type": "string"
1071
+ },
1072
+ "email": {
1073
+ "minLength": 1,
1074
+ "type": "string"
1075
+ },
1076
+ "image": {
1077
+ "minLength": 1,
1078
+ "type": "string"
1079
+ }
1080
+ }
1081
+ },
1082
+ "wageRate": {
1083
+ "required": [
1084
+ "sickLeave",
1085
+ "militaryService",
1086
+ "baseSalary",
1087
+ "basicAmount",
1088
+ "hoursThisYear"
1089
+ ],
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "sickLeave": {
1093
+ "type": "integer",
1094
+ "format": "int32"
1095
+ },
1096
+ "militaryService": {
1097
+ "type": "integer",
1098
+ "format": "int32"
1099
+ },
1100
+ "baseSalary": {
1101
+ "type": "integer",
1102
+ "format": "int32"
1103
+ },
1104
+ "basicAmount": {
1105
+ "type": "integer",
1106
+ "format": "int32"
1107
+ },
1108
+ "hoursThisYear": {
1109
+ "type": "integer",
1110
+ "format": "int32"
1111
+ }
1112
+ }
1113
+ }
1114
+ },
1115
+ "securitySchemes": {
1116
+ "Implicit": {
1117
+ "type": "oauth2",
1118
+ "flows": {
1119
+ "implicit": {
1120
+ "authorizationUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/authorize",
1121
+ "tokenUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/token",
1122
+ "refreshUrl": "https://login.microsoftonline.com/a8533784-aa3c-403b-a61a-1533ecc6e3ed/oauth2/v2.0/token",
1123
+ "scopes": {
1124
+ "api://40e7ad9e-ec75-40a3-8ab6-e7f04af9de80": "Default function scope"
1125
+ }
1126
+ }
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+ }