OrderModel   F
last analyzed

Complexity

Total Complexity 110

Size/Duplication

Total Lines 1486
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 221
dl 0
loc 1486
rs 2
c 0
b 0
f 0
wmc 110

110 Methods

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

How to fix   Complexity   

Complex Class

Complex classes like OrderModel 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 OrderModel, and based on these observations, apply Extract Interface, too.

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