1: <?php
2: namespace SmsOrange;
3:
4: /**
5: * Interface Bookable
6: *
7: * A contract for all booking services.
8: *
9: * @package SmsOrange
10: */
11: interface Bookable
12: {
13: /**
14: * Query service step - search
15: *
16: * @return mixed as defined in implementation
17: */
18: public function search();
19:
20: /**
21: * Selection step - choose package
22: *
23: * @return mixed
24: */
25: public function select();
26:
27: /**
28: * Get cabins step - choose cabin
29: *
30: * @return mixed
31: */
32: public function getCabins();
33:
34: /**
35: * Book step - book selected package
36: *
37: * @return mixed
38: */
39: public function book();
40: }