/**
  * @return success message
  */
 public function delete(VO\MemberID $id)
 {
     $member_id = $id->__toString();
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/member/' . $member_id . '/delete'), new VO\HTTP\Method('DELETE'));
     $response = $request->send();
     $data = $response->get_data();
     return $data->message;
 }
 public function get_launch_url(VO\LicenseIDArray $license_id_array, VO\MemberID $member_id, VO\StringVO $callback_url)
 {
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/purchase/launch_url/get'), new VO\HTTP\Method('POST'));
     $request_parameters = array('license_ids' => $license_id_array->__toArray(), 'member_id' => $member_id->__toString(), 'callback_url' => $callback_url->__toString());
     $response = $request->send($request_parameters);
     $data = $response->get_data();
     return $data->launch_url;
 }
 public function create_offline_enrolment(VO\MemberID $member_id, VO\CourseId $course_id, VO\StringVO $file_name, VO\Integer $hrs, VO\Integer $mins, VO\Integer $sec, VO\StringVO $issued_at, VO\StringVO $expire_at, VO\Flag $send_email = null)
 {
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/enrolment/offline/create'), new VO\HTTP\Method('POST'));
     $request_parameters = array('member_id' => $member_id->__toString(), 'course_id' => $course_id->__toString(), 'file' => $file_name->__toString(), 'hrs' => $hrs->__toInteger(), 'mins' => $mins->__toInteger(), 'sec' => $sec->__toInteger(), 'expire_at' => $expire_at->__toString(), 'issued_at' => $issued_at->__toString());
     if ($send_email) {
         $request_parameters['send_email'] = $send_email->__toBool();
     }
     $response = $request->send($request_parameters);
     $data = $response->get_data();
     return $data->enrolment_id;
 }