/** * @return CheckfrontItemModel */ public function getItem() { if ($this->isValid()) { $item = new CheckfrontItemModel(); $item->fromCheckfront($this->data[static::SimpleMatchKey]); return $item; } }
/** * Gets the package items using config.package_item_path as index into data and * return a list of CheckfrontItemModels. * * @return SS_List may be empty */ public function getPackageItems() { $list = new ArrayList(); if ($this->isValid()) { $path = self::get_config_setting('package_items_path'); $packageItems = CheckfrontModule::lookup_path($path, $this->data, $found); if ($packageItems && $found) { foreach ($packageItems as $item) { $list->push(CheckfrontItemModel::create()->fromCheckfront($item)); } } } return $list; }
public function current() { return CheckfrontItemModel::create_from_checkfront(parent::current(), $this->action); }
/** * @param CheckfrontItemModel $item * @param array $addOrUpdateParams * @return CheckfrontAPIResponse */ public function addItemToSession(CheckfrontItemModel $item, array $addOrUpdateParams = array()) { $params = array_merge(array('session_id' => CheckfrontModule::session()->getID()), $item->toCheckfront('booking/session'), $addOrUpdateParams); $response = new CheckfrontAPIResponse($this()->post(new CheckfrontAPIRequest('booking/session', $params))); return $response; }
/** * @return ArrayList of CheckfrontBookableItems if this.items is set (empty ArrayList if not). */ public function getItems() { return new ArrayList(array_map(function ($item) { return CheckfrontItemModel::create_from_checkfront($item); }, isset($this['items']) ? $this['items'] : array())); }