/**
  * Convenience semantic method calls through to getData.
  *
  * @return null|SS_List
  */
 public function getPackages()
 {
     if ($this->isValid()) {
         return new ArrayList(array_map(function ($itemData) {
             return CheckfrontPackageModel::create_from_checkfront($itemData);
         }, $this['items']));
     }
 }
 /**
  * Add package to the current checkfront session.
  *
  * @param CheckfrontPackageModel $package
  * @param array $addOrUpdateParams
  * @return CheckfrontAPIResponse
  */
 public function addPackageToSession(CheckfrontPackageModel $package, array $addOrUpdateParams = array())
 {
     $params = array_merge(array('session_id' => CheckfrontModule::session()->getID()), $package->toCheckfront('booking/session'), $addOrUpdateParams);
     $response = new CheckfrontAPIResponse($this()->post(new CheckfrontAPIRequest('booking/session', $params)));
     return $response;
 }
 /**
  * @return CheckfrontPackageModel|null
  */
 public function getPackage()
 {
     if ($this->isValid()) {
         return CheckfrontPackageModel::create()->fromCheckfront($this->data['item']);
     }
 }