OrderPutModel   F
last analyzed

Complexity

Total Complexity 102

Size/Duplication

Total Lines 1378
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 205
dl 0
loc 1378
rs 2
c 0
b 0
f 0
wmc 102

102 Methods

Rating   Name   Duplication   Size   Complexity  
A getPaymentReference() 0 3 1
A setOriginalCustomerVatNo() 0 4 1
A setCustomInfo3() 0 4 1
A setPaymentMethodName() 0 4 1
A getStatusId() 0 3 1
A getOriginalCustomerEmail() 0 3 1
A getShippingCost() 0 3 1
A setOnOrderStatusChangeSendEmail() 0 4 1
A getShippingMethodName() 0 3 1
A setCustomInfo2() 0 4 1
A setTotalAmount() 0 4 1
A getOnOrderStatusChangeSendEmail() 0 3 1
A setOrderId() 0 4 1
A setCurrencyExchangeRate() 0 4 1
A setItems() 0 4 1
A getOriginalCustomerVatNo() 0 3 1
A setInternalComment() 0 4 1
A setPaymentMethodId() 0 4 1
A getCreatedAt() 0 3 1
A getItems() 0 3 1
A getShippingTrackingNo() 0 3 1
A setCustomerId() 0 4 1
A getShippingTrackerType() 0 3 1
A getPaymentFee() 0 3 1
A getCurrencyExchangeRate() 0 3 1
A setPaymentStatus() 0 4 1
A setTotalAmountInBaseCurrency() 0 4 1
A setShippingMethodId() 0 4 1
A setAmountToPayInBaseCurrency() 0 4 1
A getTotalVat() 0 3 1
A setCurrencyPrecision() 0 4 1
A setTotalVat() 0 4 1
A setPaymentFee() 0 4 1
A getTotalAmount() 0 3 1
A setPaymentReference() 0 4 1
A getAddresses() 0 3 1
A getLangCode() 0 3 1
A getCustomInfo2() 0 3 1
A setOriginalCustomerCustomInfo1() 0 4 1
A getPaymentMethodId() 0 3 1
A setShippingVatRate() 0 4 1
A getPaymentMethodIdCode() 0 3 1
A getIsComplete() 0 3 1
A getOrderId() 0 3 1
A setPaymentMethodIdCode() 0 4 1
A setAddresses() 0 4 1
A getShopCountryCode() 0 3 1
A setModifiedAt() 0 4 1
A getCustomInfo1() 0 3 1
A setShippingMethodName() 0 4 1
A getAmountPaidInBaseCurrency() 0 3 1
A getIsRead() 0 3 1
A getPaymentMethodName() 0 3 1
A getOriginalCustomerCustomInfo2() 0 3 1
A getCustomInfo4() 0 3 1
A getPaymentVatRate() 0 3 1
A setShippingTrackingNo() 0 4 1
A setDiscountCode() 0 4 1
A getInternalComment() 0 3 1
A setTotalWeight() 0 4 1
A getAmountToPayInBaseCurrency() 0 3 1
A setBaseCurrencyCode() 0 4 1
A getBaseCurrencyCode() 0 3 1
A getTotalAmountInBaseCurrency() 0 3 1
A setTotalVatInBaseCurrency() 0 4 1
A getOriginalCustomerNationalIdNo() 0 3 1
A getAmountToPay() 0 3 1
A setShippingCost() 0 4 1
A setOriginalCustomerEmail() 0 4 1
A getCustomerId() 0 3 1
A setIsComplete() 0 4 1
A getHasComment() 0 3 1
A setStatusId() 0 4 1
A getShippingVatRate() 0 3 1
A getCurrencyPrecision() 0 3 1
A getCurrencyCode() 0 3 1
A getTotalWeight() 0 3 1
A getModifiedAt() 0 3 1
A getShippingMethodId() 0 3 1
A setShopCountryCode() 0 4 1
A getPaymentStatus() 0 3 1
A setIsRead() 0 4 1
A getOriginalCustomerCustomInfo1() 0 3 1
A setCustomInfo1() 0 4 1
A setOriginalCustomerCustomInfo2() 0 4 1
A getDiscountCode() 0 3 1
A setCreatedAt() 0 4 1
A getTotalVatInBaseCurrency() 0 3 1
A getOnOrderStatusChangeProcessPayment() 0 3 1
A setCustomInfo4() 0 4 1
A getAmountPaid() 0 3 1
A setOriginalCustomerNationalIdNo() 0 4 1
A getCustomInfo3() 0 3 1
A setPaymentVatRate() 0 4 1
A setAmountPaidInBaseCurrency() 0 4 1
A setHasComment() 0 4 1
A setShippingTrackerType() 0 4 1
A setAmountToPay() 0 4 1
A setCurrencyCode() 0 4 1
A setAmountPaid() 0 4 1
A setOnOrderStatusChangeProcessPayment() 0 4 1
A setLangCode() 0 4 1

How to fix   Complexity   

Complex Class

Complex classes like OrderPutModel often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use OrderPutModel, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace Starweb\Api\Generated\Model;
4
5
class OrderPutModel
6
{
7
    /**
8
     * The orders ID
9
     *
10
     * @var int
11
     */
12
    protected $orderId;
13
    /**
14
     * A timestamp of when the order was modified. The time should be formatted using ISO-8601
15
     *
16
     * @var string
17
     */
18
    protected $modifiedAt;
19
    /**
20
     * The shops base currency code at the point of order creation
21
     *
22
     * @var string
23
     */
24
    protected $baseCurrencyCode;
25
    /**
26
     * The shops country code at the point of order creation
27
     *
28
     * @var string
29
     */
30
    protected $shopCountryCode;
31
    /**
32
     * The total order amount
33
     *
34
     * @var float
35
     */
36
    protected $totalAmount;
37
    /**
38
     * The total order VAT amount
39
     *
40
     * @var float
41
     */
42
    protected $totalVat;
43
    /**
44
     * The total order amount to pay
45
     *
46
     * @var float
47
     */
48
    protected $amountToPay;
49
    /**
50
     * The total order amount, in the shops base currency
51
     *
52
     * @var float
53
     */
54
    protected $totalAmountInBaseCurrency;
55
    /**
56
     * The total VAT amount, in the shops base currency
57
     *
58
     * @var float
59
     */
60
    protected $totalVatInBaseCurrency;
61
    /**
62
     * The total amount to pay, in the shops base currency
63
     *
64
     * @var float
65
     */
66
    protected $amountToPayInBaseCurrency;
67
    /**
68
     * A timestamp of when the order was created. The time should be formatted using ISO-8601
69
     *
70
     * @var string
71
     */
72
    protected $createdAt;
73
    /**
74
     * The ID of the orders customer
75
     *
76
     * @var int
77
     */
78
    protected $customerId;
79
    /**
80
     * The ID of the orders status
81
     *
82
     * @var int
83
     */
84
    protected $statusId;
85
    /**
86
     * Set this to false to prevent sending email to customer on changes to statusId and new orders
87
     *
88
     * @var bool
89
     */
90
    protected $onOrderStatusChangeSendEmail = true;
91
    /**
92
     * Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice
93
     *
94
     * @var bool
95
     */
96
    protected $onOrderStatusChangeProcessPayment = true;
97
    /**
98
     * The ID of the orders shipping method
99
     *
100
     * @var int
101
     */
102
    protected $shippingMethodId;
103
    /**
104
     * The ID of the orders payment method
105
     *
106
     * @var int
107
     */
108
    protected $paymentMethodId;
109
    /**
110
     * The ID code of the payment method.
111
     *
112
     * @var string
113
     */
114
    protected $paymentMethodIdCode;
115
    /**
116
     * Title of the orders payment method
117
     *
118
     * @var string
119
     */
120
    protected $paymentMethodName;
121
    /**
122
     * Payment fee
123
     *
124
     * @var float
125
     */
126
    protected $paymentFee;
127
    /**
128
     * The VAT rate of the paymentFee in percent
129
     *
130
     * @var float
131
     */
132
    protected $paymentVatRate;
133
    /**
134
     * Title of the orders shipping method
135
     *
136
     * @var string
137
     */
138
    protected $shippingMethodName;
139
    /**
140
     * Shipping cost
141
     *
142
     * @var float
143
     */
144
    protected $shippingCost;
145
    /**
146
     * The VAT rate of the shippingCost in percent
147
     *
148
     * @var float
149
     */
150
    protected $shippingVatRate;
151
    /**
152
     * The total weight of the order in kg. This field is a calculated summary of all order items
153
     *
154
     * @var float
155
     */
156
    protected $totalWeight;
157
    /**
158
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
159
     *
160
     * @var string
161
     */
162
    protected $customInfo1;
163
    /**
164
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
165
     *
166
     * @var string
167
     */
168
    protected $customInfo2;
169
    /**
170
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
171
     *
172
     * @var string
173
     */
174
    protected $customInfo3;
175
    /**
176
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
177
     *
178
     * @var string
179
     */
180
    protected $customInfo4;
181
    /**
182
     * The code ID of a discount code that was used for this order
183
     *
184
     * @var string
185
     */
186
    protected $discountCode;
187
    /**
188
     * The amount paid via the payment method for this order
189
     *
190
     * @var float
191
     */
192
    protected $amountPaid;
193
    /**
194
     * Same as amountPaid, but in the shops base currency
195
     *
196
     * @var float
197
     */
198
    protected $amountPaidInBaseCurrency;
199
    /**
200
     * Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)
201
     *
202
     * @var bool
203
     */
204
    protected $isComplete;
205
    /**
206
     * The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code
207
     *
208
     * @var string
209
     */
210
    protected $currencyCode;
211
    /**
212
     * The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97
213
     *
214
     * @var float
215
     */
216
    protected $currencyExchangeRate;
217
    /**
218
     * The number of decimals to display
219
     *
220
     * @var int
221
     */
222
    protected $currencyPrecision;
223
    /**
224
     * Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc.
225
     *
226
     * @var string
227
     */
228
    protected $langCode;
229
    /**
230
     * Reference to the payment methods payment transaction
231
     *
232
     * @var string
233
     */
234
    protected $paymentReference;
235
    /**
236
     * Status of the payment methods payment transaction
237
     *
238
     * @var string
239
     */
240
    protected $paymentStatus;
241
    /**
242
     * An order is read when an administrator has read it via the admin GUI
243
     *
244
     * @var bool
245
     */
246
    protected $isRead;
247
    /**
248
     * Whether the customer or an admin has added a comment to the order
249
     *
250
     * @var bool
251
     */
252
    protected $hasComment;
253
    /**
254
     * An internal comment placed by an administrator. Not available to the customer
255
     *
256
     * @var string
257
     */
258
    protected $internalComment;
259
    /**
260
     * The ID of the tracking number type. Types are available via: GET /shipping-tracker-types
261
     *
262
     * @var int
263
     */
264
    protected $shippingTrackerType;
265
    /**
266
     * The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).
267
     *
268
     * @var string
269
     */
270
    protected $shippingTrackingNo;
271
    /**
272
     * The email address of the customer at the point of order creation
273
     *
274
     * @var string
275
     */
276
    protected $originalCustomerEmail;
277
    /**
278
     * The national id number of the customer at the point of order creation
279
     *
280
     * @var string
281
     */
282
    protected $originalCustomerNationalIdNo;
283
    /**
284
     * The VAT number of the customer at the point of order creation
285
     *
286
     * @var string
287
     */
288
    protected $originalCustomerVatNo;
289
    /**
290
     * Custom customer info at the point of order creation
291
     *
292
     * @var string
293
     */
294
    protected $originalCustomerCustomInfo1;
295
    /**
296
     * Custom customer info at the point of order creation
297
     *
298
     * @var string
299
     */
300
    protected $originalCustomerCustomInfo2;
301
    /**
302
     * A collection of order items
303
     *
304
     * @var OrderItemModel[]
305
     */
306
    protected $items;
307
    /**
308
     * 
309
     *
310
     * @var OrderAddressModel
311
     */
312
    protected $addresses;
313
    /**
314
     * The orders ID
315
     *
316
     * @return int
317
     */
318
    public function getOrderId() : int
319
    {
320
        return $this->orderId;
321
    }
322
    /**
323
     * The orders ID
324
     *
325
     * @param int $orderId
326
     *
327
     * @return self
328
     */
329
    public function setOrderId(int $orderId) : self
330
    {
331
        $this->orderId = $orderId;
332
        return $this;
333
    }
334
    /**
335
     * A timestamp of when the order was modified. The time should be formatted using ISO-8601
336
     *
337
     * @return string
338
     */
339
    public function getModifiedAt() : string
340
    {
341
        return $this->modifiedAt;
342
    }
343
    /**
344
     * A timestamp of when the order was modified. The time should be formatted using ISO-8601
345
     *
346
     * @param string $modifiedAt
347
     *
348
     * @return self
349
     */
350
    public function setModifiedAt(string $modifiedAt) : self
351
    {
352
        $this->modifiedAt = $modifiedAt;
353
        return $this;
354
    }
355
    /**
356
     * The shops base currency code at the point of order creation
357
     *
358
     * @return string
359
     */
360
    public function getBaseCurrencyCode() : string
361
    {
362
        return $this->baseCurrencyCode;
363
    }
364
    /**
365
     * The shops base currency code at the point of order creation
366
     *
367
     * @param string $baseCurrencyCode
368
     *
369
     * @return self
370
     */
371
    public function setBaseCurrencyCode(string $baseCurrencyCode) : self
372
    {
373
        $this->baseCurrencyCode = $baseCurrencyCode;
374
        return $this;
375
    }
376
    /**
377
     * The shops country code at the point of order creation
378
     *
379
     * @return string
380
     */
381
    public function getShopCountryCode() : string
382
    {
383
        return $this->shopCountryCode;
384
    }
385
    /**
386
     * The shops country code at the point of order creation
387
     *
388
     * @param string $shopCountryCode
389
     *
390
     * @return self
391
     */
392
    public function setShopCountryCode(string $shopCountryCode) : self
393
    {
394
        $this->shopCountryCode = $shopCountryCode;
395
        return $this;
396
    }
397
    /**
398
     * The total order amount
399
     *
400
     * @return float
401
     */
402
    public function getTotalAmount() : float
403
    {
404
        return $this->totalAmount;
405
    }
406
    /**
407
     * The total order amount
408
     *
409
     * @param float $totalAmount
410
     *
411
     * @return self
412
     */
413
    public function setTotalAmount(float $totalAmount) : self
414
    {
415
        $this->totalAmount = $totalAmount;
416
        return $this;
417
    }
418
    /**
419
     * The total order VAT amount
420
     *
421
     * @return float
422
     */
423
    public function getTotalVat() : float
424
    {
425
        return $this->totalVat;
426
    }
427
    /**
428
     * The total order VAT amount
429
     *
430
     * @param float $totalVat
431
     *
432
     * @return self
433
     */
434
    public function setTotalVat(float $totalVat) : self
435
    {
436
        $this->totalVat = $totalVat;
437
        return $this;
438
    }
439
    /**
440
     * The total order amount to pay
441
     *
442
     * @return float
443
     */
444
    public function getAmountToPay() : float
445
    {
446
        return $this->amountToPay;
447
    }
448
    /**
449
     * The total order amount to pay
450
     *
451
     * @param float $amountToPay
452
     *
453
     * @return self
454
     */
455
    public function setAmountToPay(float $amountToPay) : self
456
    {
457
        $this->amountToPay = $amountToPay;
458
        return $this;
459
    }
460
    /**
461
     * The total order amount, in the shops base currency
462
     *
463
     * @return float
464
     */
465
    public function getTotalAmountInBaseCurrency() : float
466
    {
467
        return $this->totalAmountInBaseCurrency;
468
    }
469
    /**
470
     * The total order amount, in the shops base currency
471
     *
472
     * @param float $totalAmountInBaseCurrency
473
     *
474
     * @return self
475
     */
476
    public function setTotalAmountInBaseCurrency(float $totalAmountInBaseCurrency) : self
477
    {
478
        $this->totalAmountInBaseCurrency = $totalAmountInBaseCurrency;
479
        return $this;
480
    }
481
    /**
482
     * The total VAT amount, in the shops base currency
483
     *
484
     * @return float
485
     */
486
    public function getTotalVatInBaseCurrency() : float
487
    {
488
        return $this->totalVatInBaseCurrency;
489
    }
490
    /**
491
     * The total VAT amount, in the shops base currency
492
     *
493
     * @param float $totalVatInBaseCurrency
494
     *
495
     * @return self
496
     */
497
    public function setTotalVatInBaseCurrency(float $totalVatInBaseCurrency) : self
498
    {
499
        $this->totalVatInBaseCurrency = $totalVatInBaseCurrency;
500
        return $this;
501
    }
502
    /**
503
     * The total amount to pay, in the shops base currency
504
     *
505
     * @return float
506
     */
507
    public function getAmountToPayInBaseCurrency() : float
508
    {
509
        return $this->amountToPayInBaseCurrency;
510
    }
511
    /**
512
     * The total amount to pay, in the shops base currency
513
     *
514
     * @param float $amountToPayInBaseCurrency
515
     *
516
     * @return self
517
     */
518
    public function setAmountToPayInBaseCurrency(float $amountToPayInBaseCurrency) : self
519
    {
520
        $this->amountToPayInBaseCurrency = $amountToPayInBaseCurrency;
521
        return $this;
522
    }
523
    /**
524
     * A timestamp of when the order was created. The time should be formatted using ISO-8601
525
     *
526
     * @return string
527
     */
528
    public function getCreatedAt() : string
529
    {
530
        return $this->createdAt;
531
    }
532
    /**
533
     * A timestamp of when the order was created. The time should be formatted using ISO-8601
534
     *
535
     * @param string $createdAt
536
     *
537
     * @return self
538
     */
539
    public function setCreatedAt(string $createdAt) : self
540
    {
541
        $this->createdAt = $createdAt;
542
        return $this;
543
    }
544
    /**
545
     * The ID of the orders customer
546
     *
547
     * @return int
548
     */
549
    public function getCustomerId() : int
550
    {
551
        return $this->customerId;
552
    }
553
    /**
554
     * The ID of the orders customer
555
     *
556
     * @param int $customerId
557
     *
558
     * @return self
559
     */
560
    public function setCustomerId(int $customerId) : self
561
    {
562
        $this->customerId = $customerId;
563
        return $this;
564
    }
565
    /**
566
     * The ID of the orders status
567
     *
568
     * @return int
569
     */
570
    public function getStatusId() : int
571
    {
572
        return $this->statusId;
573
    }
574
    /**
575
     * The ID of the orders status
576
     *
577
     * @param int $statusId
578
     *
579
     * @return self
580
     */
581
    public function setStatusId(int $statusId) : self
582
    {
583
        $this->statusId = $statusId;
584
        return $this;
585
    }
586
    /**
587
     * Set this to false to prevent sending email to customer on changes to statusId and new orders
588
     *
589
     * @return bool
590
     */
591
    public function getOnOrderStatusChangeSendEmail() : bool
592
    {
593
        return $this->onOrderStatusChangeSendEmail;
594
    }
595
    /**
596
     * Set this to false to prevent sending email to customer on changes to statusId and new orders
597
     *
598
     * @param bool $onOrderStatusChangeSendEmail
599
     *
600
     * @return self
601
     */
602
    public function setOnOrderStatusChangeSendEmail(bool $onOrderStatusChangeSendEmail) : self
603
    {
604
        $this->onOrderStatusChangeSendEmail = $onOrderStatusChangeSendEmail;
605
        return $this;
606
    }
607
    /**
608
     * Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice
609
     *
610
     * @return bool
611
     */
612
    public function getOnOrderStatusChangeProcessPayment() : bool
613
    {
614
        return $this->onOrderStatusChangeProcessPayment;
615
    }
616
    /**
617
     * Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice
618
     *
619
     * @param bool $onOrderStatusChangeProcessPayment
620
     *
621
     * @return self
622
     */
623
    public function setOnOrderStatusChangeProcessPayment(bool $onOrderStatusChangeProcessPayment) : self
624
    {
625
        $this->onOrderStatusChangeProcessPayment = $onOrderStatusChangeProcessPayment;
626
        return $this;
627
    }
628
    /**
629
     * The ID of the orders shipping method
630
     *
631
     * @return int
632
     */
633
    public function getShippingMethodId() : int
634
    {
635
        return $this->shippingMethodId;
636
    }
637
    /**
638
     * The ID of the orders shipping method
639
     *
640
     * @param int $shippingMethodId
641
     *
642
     * @return self
643
     */
644
    public function setShippingMethodId(int $shippingMethodId) : self
645
    {
646
        $this->shippingMethodId = $shippingMethodId;
647
        return $this;
648
    }
649
    /**
650
     * The ID of the orders payment method
651
     *
652
     * @return int
653
     */
654
    public function getPaymentMethodId() : int
655
    {
656
        return $this->paymentMethodId;
657
    }
658
    /**
659
     * The ID of the orders payment method
660
     *
661
     * @param int $paymentMethodId
662
     *
663
     * @return self
664
     */
665
    public function setPaymentMethodId(int $paymentMethodId) : self
666
    {
667
        $this->paymentMethodId = $paymentMethodId;
668
        return $this;
669
    }
670
    /**
671
     * The ID code of the payment method.
672
     *
673
     * @return string
674
     */
675
    public function getPaymentMethodIdCode() : string
676
    {
677
        return $this->paymentMethodIdCode;
678
    }
679
    /**
680
     * The ID code of the payment method.
681
     *
682
     * @param string $paymentMethodIdCode
683
     *
684
     * @return self
685
     */
686
    public function setPaymentMethodIdCode(string $paymentMethodIdCode) : self
687
    {
688
        $this->paymentMethodIdCode = $paymentMethodIdCode;
689
        return $this;
690
    }
691
    /**
692
     * Title of the orders payment method
693
     *
694
     * @return string
695
     */
696
    public function getPaymentMethodName() : string
697
    {
698
        return $this->paymentMethodName;
699
    }
700
    /**
701
     * Title of the orders payment method
702
     *
703
     * @param string $paymentMethodName
704
     *
705
     * @return self
706
     */
707
    public function setPaymentMethodName(string $paymentMethodName) : self
708
    {
709
        $this->paymentMethodName = $paymentMethodName;
710
        return $this;
711
    }
712
    /**
713
     * Payment fee
714
     *
715
     * @return float
716
     */
717
    public function getPaymentFee() : float
718
    {
719
        return $this->paymentFee;
720
    }
721
    /**
722
     * Payment fee
723
     *
724
     * @param float $paymentFee
725
     *
726
     * @return self
727
     */
728
    public function setPaymentFee(float $paymentFee) : self
729
    {
730
        $this->paymentFee = $paymentFee;
731
        return $this;
732
    }
733
    /**
734
     * The VAT rate of the paymentFee in percent
735
     *
736
     * @return float
737
     */
738
    public function getPaymentVatRate() : float
739
    {
740
        return $this->paymentVatRate;
741
    }
742
    /**
743
     * The VAT rate of the paymentFee in percent
744
     *
745
     * @param float $paymentVatRate
746
     *
747
     * @return self
748
     */
749
    public function setPaymentVatRate(float $paymentVatRate) : self
750
    {
751
        $this->paymentVatRate = $paymentVatRate;
752
        return $this;
753
    }
754
    /**
755
     * Title of the orders shipping method
756
     *
757
     * @return string
758
     */
759
    public function getShippingMethodName() : string
760
    {
761
        return $this->shippingMethodName;
762
    }
763
    /**
764
     * Title of the orders shipping method
765
     *
766
     * @param string $shippingMethodName
767
     *
768
     * @return self
769
     */
770
    public function setShippingMethodName(string $shippingMethodName) : self
771
    {
772
        $this->shippingMethodName = $shippingMethodName;
773
        return $this;
774
    }
775
    /**
776
     * Shipping cost
777
     *
778
     * @return float
779
     */
780
    public function getShippingCost() : float
781
    {
782
        return $this->shippingCost;
783
    }
784
    /**
785
     * Shipping cost
786
     *
787
     * @param float $shippingCost
788
     *
789
     * @return self
790
     */
791
    public function setShippingCost(float $shippingCost) : self
792
    {
793
        $this->shippingCost = $shippingCost;
794
        return $this;
795
    }
796
    /**
797
     * The VAT rate of the shippingCost in percent
798
     *
799
     * @return float
800
     */
801
    public function getShippingVatRate() : float
802
    {
803
        return $this->shippingVatRate;
804
    }
805
    /**
806
     * The VAT rate of the shippingCost in percent
807
     *
808
     * @param float $shippingVatRate
809
     *
810
     * @return self
811
     */
812
    public function setShippingVatRate(float $shippingVatRate) : self
813
    {
814
        $this->shippingVatRate = $shippingVatRate;
815
        return $this;
816
    }
817
    /**
818
     * The total weight of the order in kg. This field is a calculated summary of all order items
819
     *
820
     * @return float
821
     */
822
    public function getTotalWeight() : float
823
    {
824
        return $this->totalWeight;
825
    }
826
    /**
827
     * The total weight of the order in kg. This field is a calculated summary of all order items
828
     *
829
     * @param float $totalWeight
830
     *
831
     * @return self
832
     */
833
    public function setTotalWeight(float $totalWeight) : self
834
    {
835
        $this->totalWeight = $totalWeight;
836
        return $this;
837
    }
838
    /**
839
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
840
     *
841
     * @return string
842
     */
843
    public function getCustomInfo1() : string
844
    {
845
        return $this->customInfo1;
846
    }
847
    /**
848
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
849
     *
850
     * @param string $customInfo1
851
     *
852
     * @return self
853
     */
854
    public function setCustomInfo1(string $customInfo1) : self
855
    {
856
        $this->customInfo1 = $customInfo1;
857
        return $this;
858
    }
859
    /**
860
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
861
     *
862
     * @return string
863
     */
864
    public function getCustomInfo2() : string
865
    {
866
        return $this->customInfo2;
867
    }
868
    /**
869
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
870
     *
871
     * @param string $customInfo2
872
     *
873
     * @return self
874
     */
875
    public function setCustomInfo2(string $customInfo2) : self
876
    {
877
        $this->customInfo2 = $customInfo2;
878
        return $this;
879
    }
880
    /**
881
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
882
     *
883
     * @return string
884
     */
885
    public function getCustomInfo3() : string
886
    {
887
        return $this->customInfo3;
888
    }
889
    /**
890
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
891
     *
892
     * @param string $customInfo3
893
     *
894
     * @return self
895
     */
896
    public function setCustomInfo3(string $customInfo3) : self
897
    {
898
        $this->customInfo3 = $customInfo3;
899
        return $this;
900
    }
901
    /**
902
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
903
     *
904
     * @return string
905
     */
906
    public function getCustomInfo4() : string
907
    {
908
        return $this->customInfo4;
909
    }
910
    /**
911
     * Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection
912
     *
913
     * @param string $customInfo4
914
     *
915
     * @return self
916
     */
917
    public function setCustomInfo4(string $customInfo4) : self
918
    {
919
        $this->customInfo4 = $customInfo4;
920
        return $this;
921
    }
922
    /**
923
     * The code ID of a discount code that was used for this order
924
     *
925
     * @return string
926
     */
927
    public function getDiscountCode() : string
928
    {
929
        return $this->discountCode;
930
    }
931
    /**
932
     * The code ID of a discount code that was used for this order
933
     *
934
     * @param string $discountCode
935
     *
936
     * @return self
937
     */
938
    public function setDiscountCode(string $discountCode) : self
939
    {
940
        $this->discountCode = $discountCode;
941
        return $this;
942
    }
943
    /**
944
     * The amount paid via the payment method for this order
945
     *
946
     * @return float
947
     */
948
    public function getAmountPaid() : float
949
    {
950
        return $this->amountPaid;
951
    }
952
    /**
953
     * The amount paid via the payment method for this order
954
     *
955
     * @param float $amountPaid
956
     *
957
     * @return self
958
     */
959
    public function setAmountPaid(float $amountPaid) : self
960
    {
961
        $this->amountPaid = $amountPaid;
962
        return $this;
963
    }
964
    /**
965
     * Same as amountPaid, but in the shops base currency
966
     *
967
     * @return float
968
     */
969
    public function getAmountPaidInBaseCurrency() : float
970
    {
971
        return $this->amountPaidInBaseCurrency;
972
    }
973
    /**
974
     * Same as amountPaid, but in the shops base currency
975
     *
976
     * @param float $amountPaidInBaseCurrency
977
     *
978
     * @return self
979
     */
980
    public function setAmountPaidInBaseCurrency(float $amountPaidInBaseCurrency) : self
981
    {
982
        $this->amountPaidInBaseCurrency = $amountPaidInBaseCurrency;
983
        return $this;
984
    }
985
    /**
986
     * Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)
987
     *
988
     * @return bool
989
     */
990
    public function getIsComplete() : bool
991
    {
992
        return $this->isComplete;
993
    }
994
    /**
995
     * Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)
996
     *
997
     * @param bool $isComplete
998
     *
999
     * @return self
1000
     */
1001
    public function setIsComplete(bool $isComplete) : self
1002
    {
1003
        $this->isComplete = $isComplete;
1004
        return $this;
1005
    }
1006
    /**
1007
     * The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code
1008
     *
1009
     * @return string
1010
     */
1011
    public function getCurrencyCode() : string
1012
    {
1013
        return $this->currencyCode;
1014
    }
1015
    /**
1016
     * The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code
1017
     *
1018
     * @param string $currencyCode
1019
     *
1020
     * @return self
1021
     */
1022
    public function setCurrencyCode(string $currencyCode) : self
1023
    {
1024
        $this->currencyCode = $currencyCode;
1025
        return $this;
1026
    }
1027
    /**
1028
     * The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97
1029
     *
1030
     * @return float
1031
     */
1032
    public function getCurrencyExchangeRate() : float
1033
    {
1034
        return $this->currencyExchangeRate;
1035
    }
1036
    /**
1037
     * The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97
1038
     *
1039
     * @param float $currencyExchangeRate
1040
     *
1041
     * @return self
1042
     */
1043
    public function setCurrencyExchangeRate(float $currencyExchangeRate) : self
1044
    {
1045
        $this->currencyExchangeRate = $currencyExchangeRate;
1046
        return $this;
1047
    }
1048
    /**
1049
     * The number of decimals to display
1050
     *
1051
     * @return int
1052
     */
1053
    public function getCurrencyPrecision() : int
1054
    {
1055
        return $this->currencyPrecision;
1056
    }
1057
    /**
1058
     * The number of decimals to display
1059
     *
1060
     * @param int $currencyPrecision
1061
     *
1062
     * @return self
1063
     */
1064
    public function setCurrencyPrecision(int $currencyPrecision) : self
1065
    {
1066
        $this->currencyPrecision = $currencyPrecision;
1067
        return $this;
1068
    }
1069
    /**
1070
     * Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc.
1071
     *
1072
     * @return string
1073
     */
1074
    public function getLangCode() : string
1075
    {
1076
        return $this->langCode;
1077
    }
1078
    /**
1079
     * Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc.
1080
     *
1081
     * @param string $langCode
1082
     *
1083
     * @return self
1084
     */
1085
    public function setLangCode(string $langCode) : self
1086
    {
1087
        $this->langCode = $langCode;
1088
        return $this;
1089
    }
1090
    /**
1091
     * Reference to the payment methods payment transaction
1092
     *
1093
     * @return string
1094
     */
1095
    public function getPaymentReference() : string
1096
    {
1097
        return $this->paymentReference;
1098
    }
1099
    /**
1100
     * Reference to the payment methods payment transaction
1101
     *
1102
     * @param string $paymentReference
1103
     *
1104
     * @return self
1105
     */
1106
    public function setPaymentReference(string $paymentReference) : self
1107
    {
1108
        $this->paymentReference = $paymentReference;
1109
        return $this;
1110
    }
1111
    /**
1112
     * Status of the payment methods payment transaction
1113
     *
1114
     * @return string
1115
     */
1116
    public function getPaymentStatus() : string
1117
    {
1118
        return $this->paymentStatus;
1119
    }
1120
    /**
1121
     * Status of the payment methods payment transaction
1122
     *
1123
     * @param string $paymentStatus
1124
     *
1125
     * @return self
1126
     */
1127
    public function setPaymentStatus(string $paymentStatus) : self
1128
    {
1129
        $this->paymentStatus = $paymentStatus;
1130
        return $this;
1131
    }
1132
    /**
1133
     * An order is read when an administrator has read it via the admin GUI
1134
     *
1135
     * @return bool
1136
     */
1137
    public function getIsRead() : bool
1138
    {
1139
        return $this->isRead;
1140
    }
1141
    /**
1142
     * An order is read when an administrator has read it via the admin GUI
1143
     *
1144
     * @param bool $isRead
1145
     *
1146
     * @return self
1147
     */
1148
    public function setIsRead(bool $isRead) : self
1149
    {
1150
        $this->isRead = $isRead;
1151
        return $this;
1152
    }
1153
    /**
1154
     * Whether the customer or an admin has added a comment to the order
1155
     *
1156
     * @return bool
1157
     */
1158
    public function getHasComment() : bool
1159
    {
1160
        return $this->hasComment;
1161
    }
1162
    /**
1163
     * Whether the customer or an admin has added a comment to the order
1164
     *
1165
     * @param bool $hasComment
1166
     *
1167
     * @return self
1168
     */
1169
    public function setHasComment(bool $hasComment) : self
1170
    {
1171
        $this->hasComment = $hasComment;
1172
        return $this;
1173
    }
1174
    /**
1175
     * An internal comment placed by an administrator. Not available to the customer
1176
     *
1177
     * @return string
1178
     */
1179
    public function getInternalComment() : string
1180
    {
1181
        return $this->internalComment;
1182
    }
1183
    /**
1184
     * An internal comment placed by an administrator. Not available to the customer
1185
     *
1186
     * @param string $internalComment
1187
     *
1188
     * @return self
1189
     */
1190
    public function setInternalComment(string $internalComment) : self
1191
    {
1192
        $this->internalComment = $internalComment;
1193
        return $this;
1194
    }
1195
    /**
1196
     * The ID of the tracking number type. Types are available via: GET /shipping-tracker-types
1197
     *
1198
     * @return int
1199
     */
1200
    public function getShippingTrackerType() : int
1201
    {
1202
        return $this->shippingTrackerType;
1203
    }
1204
    /**
1205
     * The ID of the tracking number type. Types are available via: GET /shipping-tracker-types
1206
     *
1207
     * @param int $shippingTrackerType
1208
     *
1209
     * @return self
1210
     */
1211
    public function setShippingTrackerType(int $shippingTrackerType) : self
1212
    {
1213
        $this->shippingTrackerType = $shippingTrackerType;
1214
        return $this;
1215
    }
1216
    /**
1217
     * The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).
1218
     *
1219
     * @return string
1220
     */
1221
    public function getShippingTrackingNo() : string
1222
    {
1223
        return $this->shippingTrackingNo;
1224
    }
1225
    /**
1226
     * The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).
1227
     *
1228
     * @param string $shippingTrackingNo
1229
     *
1230
     * @return self
1231
     */
1232
    public function setShippingTrackingNo(string $shippingTrackingNo) : self
1233
    {
1234
        $this->shippingTrackingNo = $shippingTrackingNo;
1235
        return $this;
1236
    }
1237
    /**
1238
     * The email address of the customer at the point of order creation
1239
     *
1240
     * @return string
1241
     */
1242
    public function getOriginalCustomerEmail() : string
1243
    {
1244
        return $this->originalCustomerEmail;
1245
    }
1246
    /**
1247
     * The email address of the customer at the point of order creation
1248
     *
1249
     * @param string $originalCustomerEmail
1250
     *
1251
     * @return self
1252
     */
1253
    public function setOriginalCustomerEmail(string $originalCustomerEmail) : self
1254
    {
1255
        $this->originalCustomerEmail = $originalCustomerEmail;
1256
        return $this;
1257
    }
1258
    /**
1259
     * The national id number of the customer at the point of order creation
1260
     *
1261
     * @return string
1262
     */
1263
    public function getOriginalCustomerNationalIdNo() : string
1264
    {
1265
        return $this->originalCustomerNationalIdNo;
1266
    }
1267
    /**
1268
     * The national id number of the customer at the point of order creation
1269
     *
1270
     * @param string $originalCustomerNationalIdNo
1271
     *
1272
     * @return self
1273
     */
1274
    public function setOriginalCustomerNationalIdNo(string $originalCustomerNationalIdNo) : self
1275
    {
1276
        $this->originalCustomerNationalIdNo = $originalCustomerNationalIdNo;
1277
        return $this;
1278
    }
1279
    /**
1280
     * The VAT number of the customer at the point of order creation
1281
     *
1282
     * @return string
1283
     */
1284
    public function getOriginalCustomerVatNo() : string
1285
    {
1286
        return $this->originalCustomerVatNo;
1287
    }
1288
    /**
1289
     * The VAT number of the customer at the point of order creation
1290
     *
1291
     * @param string $originalCustomerVatNo
1292
     *
1293
     * @return self
1294
     */
1295
    public function setOriginalCustomerVatNo(string $originalCustomerVatNo) : self
1296
    {
1297
        $this->originalCustomerVatNo = $originalCustomerVatNo;
1298
        return $this;
1299
    }
1300
    /**
1301
     * Custom customer info at the point of order creation
1302
     *
1303
     * @return string
1304
     */
1305
    public function getOriginalCustomerCustomInfo1() : string
1306
    {
1307
        return $this->originalCustomerCustomInfo1;
1308
    }
1309
    /**
1310
     * Custom customer info at the point of order creation
1311
     *
1312
     * @param string $originalCustomerCustomInfo1
1313
     *
1314
     * @return self
1315
     */
1316
    public function setOriginalCustomerCustomInfo1(string $originalCustomerCustomInfo1) : self
1317
    {
1318
        $this->originalCustomerCustomInfo1 = $originalCustomerCustomInfo1;
1319
        return $this;
1320
    }
1321
    /**
1322
     * Custom customer info at the point of order creation
1323
     *
1324
     * @return string
1325
     */
1326
    public function getOriginalCustomerCustomInfo2() : string
1327
    {
1328
        return $this->originalCustomerCustomInfo2;
1329
    }
1330
    /**
1331
     * Custom customer info at the point of order creation
1332
     *
1333
     * @param string $originalCustomerCustomInfo2
1334
     *
1335
     * @return self
1336
     */
1337
    public function setOriginalCustomerCustomInfo2(string $originalCustomerCustomInfo2) : self
1338
    {
1339
        $this->originalCustomerCustomInfo2 = $originalCustomerCustomInfo2;
1340
        return $this;
1341
    }
1342
    /**
1343
     * A collection of order items
1344
     *
1345
     * @return OrderItemModel[]
1346
     */
1347
    public function getItems() : array
1348
    {
1349
        return $this->items;
1350
    }
1351
    /**
1352
     * A collection of order items
1353
     *
1354
     * @param OrderItemModel[] $items
1355
     *
1356
     * @return self
1357
     */
1358
    public function setItems(array $items) : self
1359
    {
1360
        $this->items = $items;
1361
        return $this;
1362
    }
1363
    /**
1364
     * 
1365
     *
1366
     * @return OrderAddressModel
1367
     */
1368
    public function getAddresses() : OrderAddressModel
1369
    {
1370
        return $this->addresses;
1371
    }
1372
    /**
1373
     * 
1374
     *
1375
     * @param OrderAddressModel $addresses
1376
     *
1377
     * @return self
1378
     */
1379
    public function setAddresses(OrderAddressModel $addresses) : self
1380
    {
1381
        $this->addresses = $addresses;
1382
        return $this;
1383
    }
1384
}