1 <?php
2
3 namespace PayPal\Api;
4
5 use PayPal\Common\PayPalModel;
6
7 /**
8 * Class Search
9 *
10 * Invoice search parameters.
11 *
12 * @package PayPal\Api
13 *
14 * @property string email
15 * @property string recipient_first_name
16 * @property string recipient_last_name
17 * @property string recipient_business_name
18 * @property string number
19 * @property string status
20 * @property \PayPal\Api\Currency lower_total_amount
21 * @property \PayPal\Api\Currency upper_total_amount
22 * @property string start_invoice_date
23 * @property string end_invoice_date
24 * @property string start_due_date
25 * @property string end_due_date
26 * @property string start_payment_date
27 * @property string end_payment_date
28 * @property string start_creation_date
29 * @property string end_creation_date
30 * @property \PayPal\Api\number page
31 * @property \PayPal\Api\number page_size
32 * @property bool total_count_required
33 * @property bool archived
34 */
35 class Search extends PayPalModel
36 {
37 /**
38 * The initial letters of the email address.
39 *
40 * @param string $email
41 *
42 * @return $this
43 */
44 public function setEmail($email)
45 {
46 $this->email = $email;
47 return $this;
48 }
49
50 /**
51 * The initial letters of the email address.
52 *
53 * @return string
54 */
55 public function getEmail()
56 {
57 return $this->email;
58 }
59
60 /**
61 * The initial letters of the recipient's first name.
62 *
63 * @param string $recipient_first_name
64 *
65 * @return $this
66 */
67 public function setRecipientFirstName($recipient_first_name)
68 {
69 $this->recipient_first_name = $recipient_first_name;
70 return $this;
71 }
72
73 /**
74 * The initial letters of the recipient's first name.
75 *
76 * @return string
77 */
78 public function getRecipientFirstName()
79 {
80 return $this->recipient_first_name;
81 }
82
83 /**
84 * The initial letters of the recipient's last name.
85 *
86 * @param string $recipient_last_name
87 *
88 * @return $this
89 */
90 public function setRecipientLastName($recipient_last_name)
91 {
92 $this->recipient_last_name = $recipient_last_name;
93 return $this;
94 }
95
96 /**
97 * The initial letters of the recipient's last name.
98 *
99 * @return string
100 */
101 public function getRecipientLastName()
102 {
103 return $this->recipient_last_name;
104 }
105
106 /**
107 * The initial letters of the recipient's business name.
108 *
109 * @param string $recipient_business_name
110 *
111 * @return $this
112 */
113 public function setRecipientBusinessName($recipient_business_name)
114 {
115 $this->recipient_business_name = $recipient_business_name;
116 return $this;
117 }
118
119 /**
120 * The initial letters of the recipient's business name.
121 *
122 * @return string
123 */
124 public function getRecipientBusinessName()
125 {
126 return $this->recipient_business_name;
127 }
128
129 /**
130 * The invoice number.
131 *
132 * @param string $number
133 *
134 * @return $this
135 */
136 public function setNumber($number)
137 {
138 $this->number = $number;
139 return $this;
140 }
141
142 /**
143 * The invoice number.
144 *
145 * @return string
146 */
147 public function getNumber()
148 {
149 return $this->number;
150 }
151
152 /**
153 * The invoice status.
154 * Valid Values: ["DRAFT", "SENT", "PAID", "MARKED_AS_PAID", "CANCELLED", "REFUNDED", "PARTIALLY_REFUNDED", "MARKED_AS_REFUNDED"]
155 *
156 * @param string $status
157 *
158 * @return $this
159 */
160 public function setStatus($status)
161 {
162 $this->status = $status;
163 return $this;
164 }
165
166 /**
167 * The invoice status.
168 *
169 * @return string
170 */
171 public function getStatus()
172 {
173 return $this->status;
174 }
175
176 /**
177 * The lower limit of the total amount.
178 *
179 * @param \PayPal\Api\Currency $lower_total_amount
180 *
181 * @return $this
182 */
183 public function setLowerTotalAmount($lower_total_amount)
184 {
185 $this->lower_total_amount = $lower_total_amount;
186 return $this;
187 }
188
189 /**
190 * The lower limit of the total amount.
191 *
192 * @return \PayPal\Api\Currency
193 */
194 public function getLowerTotalAmount()
195 {
196 return $this->lower_total_amount;
197 }
198
199 /**
200 * The upper limit of total amount.
201 *
202 * @param \PayPal\Api\Currency $upper_total_amount
203 *
204 * @return $this
205 */
206 public function setUpperTotalAmount($upper_total_amount)
207 {
208 $this->upper_total_amount = $upper_total_amount;
209 return $this;
210 }
211
212 /**
213 * The upper limit of total amount.
214 *
215 * @return \PayPal\Api\Currency
216 */
217 public function getUpperTotalAmount()
218 {
219 return $this->upper_total_amount;
220 }
221
222 /**
223 * The start date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
224 *
225 * @param string $start_invoice_date
226 *
227 * @return $this
228 */
229 public function setStartInvoiceDate($start_invoice_date)
230 {
231 $this->start_invoice_date = $start_invoice_date;
232 return $this;
233 }
234
235 /**
236 * The start date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
237 *
238 * @return string
239 */
240 public function getStartInvoiceDate()
241 {
242 return $this->start_invoice_date;
243 }
244
245 /**
246 * The end date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
247 *
248 * @param string $end_invoice_date
249 *
250 * @return $this
251 */
252 public function setEndInvoiceDate($end_invoice_date)
253 {
254 $this->end_invoice_date = $end_invoice_date;
255 return $this;
256 }
257
258 /**
259 * The end date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
260 *
261 * @return string
262 */
263 public function getEndInvoiceDate()
264 {
265 return $this->end_invoice_date;
266 }
267
268 /**
269 * The start due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
270 *
271 * @param string $start_due_date
272 *
273 * @return $this
274 */
275 public function setStartDueDate($start_due_date)
276 {
277 $this->start_due_date = $start_due_date;
278 return $this;
279 }
280
281 /**
282 * The start due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
283 *
284 * @return string
285 */
286 public function getStartDueDate()
287 {
288 return $this->start_due_date;
289 }
290
291 /**
292 * The end due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
293 *
294 * @param string $end_due_date
295 *
296 * @return $this
297 */
298 public function setEndDueDate($end_due_date)
299 {
300 $this->end_due_date = $end_due_date;
301 return $this;
302 }
303
304 /**
305 * The end due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
306 *
307 * @return string
308 */
309 public function getEndDueDate()
310 {
311 return $this->end_due_date;
312 }
313
314 /**
315 * The start payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
316 *
317 * @param string $start_payment_date
318 *
319 * @return $this
320 */
321 public function setStartPaymentDate($start_payment_date)
322 {
323 $this->start_payment_date = $start_payment_date;
324 return $this;
325 }
326
327 /**
328 * The start payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
329 *
330 * @return string
331 */
332 public function getStartPaymentDate()
333 {
334 return $this->start_payment_date;
335 }
336
337 /**
338 * The end payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
339 *
340 * @param string $end_payment_date
341 *
342 * @return $this
343 */
344 public function setEndPaymentDate($end_payment_date)
345 {
346 $this->end_payment_date = $end_payment_date;
347 return $this;
348 }
349
350 /**
351 * The end payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
352 *
353 * @return string
354 */
355 public function getEndPaymentDate()
356 {
357 return $this->end_payment_date;
358 }
359
360 /**
361 * The start creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
362 *
363 * @param string $start_creation_date
364 *
365 * @return $this
366 */
367 public function setStartCreationDate($start_creation_date)
368 {
369 $this->start_creation_date = $start_creation_date;
370 return $this;
371 }
372
373 /**
374 * The start creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
375 *
376 * @return string
377 */
378 public function getStartCreationDate()
379 {
380 return $this->start_creation_date;
381 }
382
383 /**
384 * The end creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
385 *
386 * @param string $end_creation_date
387 *
388 * @return $this
389 */
390 public function setEndCreationDate($end_creation_date)
391 {
392 $this->end_creation_date = $end_creation_date;
393 return $this;
394 }
395
396 /**
397 * The end creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6).
398 *
399 * @return string
400 */
401 public function getEndCreationDate()
402 {
403 return $this->end_creation_date;
404 }
405
406 /**
407 * The offset for the search results.
408 *
409 * @param \PayPal\Api\number $page
410 *
411 * @return $this
412 */
413 public function setPage($page)
414 {
415 $this->page = $page;
416 return $this;
417 }
418
419 /**
420 * The offset for the search results.
421 *
422 * @return \PayPal\Api\number
423 */
424 public function getPage()
425 {
426 return $this->page;
427 }
428
429 /**
430 * The page size for the search results.
431 *
432 * @param \PayPal\Api\number $page_size
433 *
434 * @return $this
435 */
436 public function setPageSize($page_size)
437 {
438 $this->page_size = $page_size;
439 return $this;
440 }
441
442 /**
443 * The page size for the search results.
444 *
445 * @return \PayPal\Api\number
446 */
447 public function getPageSize()
448 {
449 return $this->page_size;
450 }
451
452 /**
453 * Indicates whether the total count appears in the response. Default is `false`.
454 *
455 * @param bool $total_count_required
456 *
457 * @return $this
458 */
459 public function setTotalCountRequired($total_count_required)
460 {
461 $this->total_count_required = $total_count_required;
462 return $this;
463 }
464
465 /**
466 * Indicates whether the total count appears in the response. Default is `false`.
467 *
468 * @return bool
469 */
470 public function getTotalCountRequired()
471 {
472 return $this->total_count_required;
473 }
474
475 /**
476 * A flag indicating whether search is on invoices archived by merchant. true - returns archived / false returns unarchived / null returns all.
477 *
478 * @param bool $archived
479 *
480 * @return $this
481 */
482 public function setArchived($archived)
483 {
484 $this->archived = $archived;
485 return $this;
486 }
487
488 /**
489 * A flag indicating whether search is on invoices archived by merchant. true - returns archived / false returns unarchived / null returns all.
490 *
491 * @return bool
492 */
493 public function getArchived()
494 {
495 return $this->archived;
496 }
497
498 }
499