<?php

/**
 *
 * 
 *
 * Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
 *
 */
 

  namespace Com\Mysms\Api\Domain {

    /**
     * 
     */
    class Response  {
    
    
      /**
       * The error code or zero if their was no error
       */
      private $errorCode;

      /**
       * Constructs a Response from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The error code or zero if their was no error
       */
      public function getErrorCode() {
        return $this->errorCode;
      }
      
      /**
       * The error code or zero if their was no error
       */
      public function setErrorCode($errorCode) {
        $this->errorCode = $errorCode;
      }
      /**
       * Returns the associative array for this Response
       */
      public function toArray() {
        $a = array();
        if( $this->errorCode ) {
          $a["errorCode"] = $this->errorCode;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this Response
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this Response from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['errorCode']) ) {
          $this->errorCode = $o["errorCode"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AmazonS3Upload  {
    
    
      /**
       * the amazon s3 aws access key id
       */
      private $awsAccessKeyId;
      /**
       * the amazon s3 upload bucket name
       */
      private $bucketName;
      /**
       * the amazon s3 upload key
       */
      private $key;
      /**
       * the amazon s3 upload acl
       */
      private $acl;
      /**
       * the amazon s3 upload content type
       */
      private $contentType;
      /**
       * the amazon s3 upload content disposition
       */
      private $contentDisposition;
      /**
       * the amazon s3 upload content type
       */
      private $storageClass;
      /**
       * the amazon s3 upload policy
       */
      private $policy;
      /**
       * the amazon s3 upload signature
       */
      private $signature;

      /**
       * Constructs a AmazonS3Upload from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * the amazon s3 aws access key id
       */
      public function getAwsAccessKeyId() {
        return $this->awsAccessKeyId;
      }
      
      /**
       * the amazon s3 aws access key id
       */
      public function setAwsAccessKeyId($awsAccessKeyId) {
        $this->awsAccessKeyId = $awsAccessKeyId;
      }
      /**
       * the amazon s3 upload bucket name
       */
      public function getBucketName() {
        return $this->bucketName;
      }
      
      /**
       * the amazon s3 upload bucket name
       */
      public function setBucketName($bucketName) {
        $this->bucketName = $bucketName;
      }
      /**
       * the amazon s3 upload key
       */
      public function getKey() {
        return $this->key;
      }
      
      /**
       * the amazon s3 upload key
       */
      public function setKey($key) {
        $this->key = $key;
      }
      /**
       * the amazon s3 upload acl
       */
      public function getAcl() {
        return $this->acl;
      }
      
      /**
       * the amazon s3 upload acl
       */
      public function setAcl($acl) {
        $this->acl = $acl;
      }
      /**
       * the amazon s3 upload content type
       */
      public function getContentType() {
        return $this->contentType;
      }
      
      /**
       * the amazon s3 upload content type
       */
      public function setContentType($contentType) {
        $this->contentType = $contentType;
      }
      /**
       * the amazon s3 upload content disposition
       */
      public function getContentDisposition() {
        return $this->contentDisposition;
      }
      
      /**
       * the amazon s3 upload content disposition
       */
      public function setContentDisposition($contentDisposition) {
        $this->contentDisposition = $contentDisposition;
      }
      /**
       * the amazon s3 upload content type
       */
      public function getStorageClass() {
        return $this->storageClass;
      }
      
      /**
       * the amazon s3 upload content type
       */
      public function setStorageClass($storageClass) {
        $this->storageClass = $storageClass;
      }
      /**
       * the amazon s3 upload policy
       */
      public function getPolicy() {
        return $this->policy;
      }
      
      /**
       * the amazon s3 upload policy
       */
      public function setPolicy($policy) {
        $this->policy = $policy;
      }
      /**
       * the amazon s3 upload signature
       */
      public function getSignature() {
        return $this->signature;
      }
      
      /**
       * the amazon s3 upload signature
       */
      public function setSignature($signature) {
        $this->signature = $signature;
      }
      /**
       * Returns the associative array for this AmazonS3Upload
       */
      public function toArray() {
        $a = array();
        if( $this->awsAccessKeyId ) {
          $a["awsAccessKeyId"] = $this->awsAccessKeyId;
        }
        if( $this->bucketName ) {
          $a["bucketName"] = $this->bucketName;
        }
        if( $this->key ) {
          $a["key"] = $this->key;
        }
        if( $this->acl ) {
          $a["acl"] = $this->acl;
        }
        if( $this->contentType ) {
          $a["contentType"] = $this->contentType;
        }
        if( $this->contentDisposition ) {
          $a["contentDisposition"] = $this->contentDisposition;
        }
        if( $this->storageClass ) {
          $a["storageClass"] = $this->storageClass;
        }
        if( $this->policy ) {
          $a["policy"] = $this->policy;
        }
        if( $this->signature ) {
          $a["signature"] = $this->signature;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this AmazonS3Upload
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this AmazonS3Upload from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['awsAccessKeyId']) ) {
          $this->awsAccessKeyId = $o["awsAccessKeyId"];
        }
        if( isset($o['bucketName']) ) {
          $this->bucketName = $o["bucketName"];
        }
        if( isset($o['key']) ) {
          $this->key = $o["key"];
        }
        if( isset($o['acl']) ) {
          $this->acl = $o["acl"];
        }
        if( isset($o['contentType']) ) {
          $this->contentType = $o["contentType"];
        }
        if( isset($o['contentDisposition']) ) {
          $this->contentDisposition = $o["contentDisposition"];
        }
        if( isset($o['storageClass']) ) {
          $this->storageClass = $o["storageClass"];
        }
        if( isset($o['policy']) ) {
          $this->policy = $o["policy"];
        }
        if( isset($o['signature']) ) {
          $this->signature = $o["signature"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentPart  {
    
    
      /**
       * The part id of the attachment
       */
      private $partId;
      /**
       * The type id of the attachment
     * 
     * &lt;table&gt;
     * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;/table&gt;
       */
      private $typeId;
      /**
       * The file name of the attachment part
       */
      private $fileName;
      /**
       * The file size of the attachment part
     * 
     * The maximal file size is 20Mb.
       */
      private $fileSize;
      /**
       * The properties which depends on the type in json format.
       */
      private $properties;
      /**
       * The url of the attachment part.
       */
      private $url;
      /**
       * The preview url of the attachment part if no preview is available it will be null.
       */
      private $previewUrl;

      /**
       * Constructs a AttachmentPart from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The part id of the attachment
       */
      public function getPartId() {
        return $this->partId;
      }
      
      /**
       * The part id of the attachment
       */
      public function setPartId($partId) {
        $this->partId = $partId;
      }
      /**
       * The type id of the attachment
       * 
       * &lt;table&gt;
       * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;/table&gt;
       */
      public function getTypeId() {
        return $this->typeId;
      }
      
      /**
       * The type id of the attachment
       * 
       * &lt;table&gt;
       * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;/table&gt;
       */
      public function setTypeId($typeId) {
        $this->typeId = $typeId;
      }
      /**
       * The file name of the attachment part
       */
      public function getFileName() {
        return $this->fileName;
      }
      
      /**
       * The file name of the attachment part
       */
      public function setFileName($fileName) {
        $this->fileName = $fileName;
      }
      /**
       * The file size of the attachment part
       * 
       * The maximal file size is 20Mb.
       */
      public function getFileSize() {
        return $this->fileSize;
      }
      
      /**
       * The file size of the attachment part
       * 
       * The maximal file size is 20Mb.
       */
      public function setFileSize($fileSize) {
        $this->fileSize = $fileSize;
      }
      /**
       * The properties which depends on the type in json format.
       */
      public function getProperties() {
        return $this->properties;
      }
      
      /**
       * The properties which depends on the type in json format.
       */
      public function setProperties($properties) {
        $this->properties = $properties;
      }
      /**
       * The url of the attachment part.
       */
      public function getUrl() {
        return $this->url;
      }
      
      /**
       * The url of the attachment part.
       */
      public function setUrl($url) {
        $this->url = $url;
      }
      /**
       * The preview url of the attachment part if no preview is available it will be null.
       */
      public function getPreviewUrl() {
        return $this->previewUrl;
      }
      
      /**
       * The preview url of the attachment part if no preview is available it will be null.
       */
      public function setPreviewUrl($previewUrl) {
        $this->previewUrl = $previewUrl;
      }
      /**
       * Returns the associative array for this AttachmentPart
       */
      public function toArray() {
        $a = array();
        if( $this->partId ) {
          $a["partId"] = $this->partId;
        }
        if( $this->typeId ) {
          $a["typeId"] = $this->typeId;
        }
        if( $this->fileName ) {
          $a["fileName"] = $this->fileName;
        }
        if( $this->fileSize ) {
          $a["fileSize"] = $this->fileSize;
        }
        if( $this->properties ) {
          $a["properties"] = $this->properties;
        }
        if( $this->url ) {
          $a["url"] = $this->url;
        }
        if( $this->previewUrl ) {
          $a["previewUrl"] = $this->previewUrl;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this AttachmentPart
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this AttachmentPart from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['partId']) ) {
          $this->partId = $o["partId"];
        }
        if( isset($o['typeId']) ) {
          $this->typeId = $o["typeId"];
        }
        if( isset($o['fileName']) ) {
          $this->fileName = $o["fileName"];
        }
        if( isset($o['fileSize']) ) {
          $this->fileSize = $o["fileSize"];
        }
        if( isset($o['properties']) ) {
          $this->properties = $o["properties"];
        }
        if( isset($o['url']) ) {
          $this->url = $o["url"];
        }
        if( isset($o['previewUrl']) ) {
          $this->previewUrl = $o["previewUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigCountry  {
    
    
      /**
       * the unique identifier
       */
      private $id;
      /**
       * the iso country code &quot;http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2&quot;
       */
      private $code;
      /**
       * the iso currency code &quot;http://en.wikipedia.org/wiki/ISO_currency_code&quot;
       */
      private $currency;
      /**
       * the dial prefix &quot;http://en.wikipedia.org/wiki/List_of_country_calling_codes&quot;
       */
      private $dialPrefix;
      /**
       * the number valid regular expression
       */
      private $numberValidRegex;
      /**
       * the loginEnabled
       */
      private $loginEnabled;
      /**
       * the smsEnabled
       */
      private $smsEnabled;
      /**
       * the registration free sms
       */
      private $registrationFreeSms;
      /**
       * the recipient address for incoming system sms
       */
      private $smsRecipientAddress;
      /**
       * the recipient address for incoming system sms on cdma networks
       */
      private $smsRecipientAddressCdma;
      /**
       * the registration mode bit mask
     * 
     * 0 .. No registration
     * 1 .. SMS mobile terminated only
     * 2 .. Voice only
     * 3 .. SMS mobile terminated + Voice as fallback
     * 4 .. SMS mobile originated
     * 5 .. SMS mobile terminated + SMS mobile originated as fallback
       */
      private $registrationMode;

      /**
       * Constructs a ConfigCountry from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * the unique identifier
       */
      public function getId() {
        return $this->id;
      }
      
      /**
       * the unique identifier
       */
      public function setId($id) {
        $this->id = $id;
      }
      /**
       * the iso country code &quot;http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2&quot;
       */
      public function getCode() {
        return $this->code;
      }
      
      /**
       * the iso country code &quot;http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2&quot;
       */
      public function setCode($code) {
        $this->code = $code;
      }
      /**
       * the iso currency code &quot;http://en.wikipedia.org/wiki/ISO_currency_code&quot;
       */
      public function getCurrency() {
        return $this->currency;
      }
      
      /**
       * the iso currency code &quot;http://en.wikipedia.org/wiki/ISO_currency_code&quot;
       */
      public function setCurrency($currency) {
        $this->currency = $currency;
      }
      /**
       * the dial prefix &quot;http://en.wikipedia.org/wiki/List_of_country_calling_codes&quot;
       */
      public function getDialPrefix() {
        return $this->dialPrefix;
      }
      
      /**
       * the dial prefix &quot;http://en.wikipedia.org/wiki/List_of_country_calling_codes&quot;
       */
      public function setDialPrefix($dialPrefix) {
        $this->dialPrefix = $dialPrefix;
      }
      /**
       * the number valid regular expression
       */
      public function getNumberValidRegex() {
        return $this->numberValidRegex;
      }
      
      /**
       * the number valid regular expression
       */
      public function setNumberValidRegex($numberValidRegex) {
        $this->numberValidRegex = $numberValidRegex;
      }
      /**
       * the loginEnabled
       */
      public function getLoginEnabled() {
        return $this->loginEnabled;
      }
      
      /**
       * the loginEnabled
       */
      public function setLoginEnabled($loginEnabled) {
        $this->loginEnabled = $loginEnabled;
      }
      /**
       * the smsEnabled
       */
      public function getSmsEnabled() {
        return $this->smsEnabled;
      }
      
      /**
       * the smsEnabled
       */
      public function setSmsEnabled($smsEnabled) {
        $this->smsEnabled = $smsEnabled;
      }
      /**
       * the registration free sms
       */
      public function getRegistrationFreeSms() {
        return $this->registrationFreeSms;
      }
      
      /**
       * the registration free sms
       */
      public function setRegistrationFreeSms($registrationFreeSms) {
        $this->registrationFreeSms = $registrationFreeSms;
      }
      /**
       * the recipient address for incoming system sms
       */
      public function getSmsRecipientAddress() {
        return $this->smsRecipientAddress;
      }
      
      /**
       * the recipient address for incoming system sms
       */
      public function setSmsRecipientAddress($smsRecipientAddress) {
        $this->smsRecipientAddress = $smsRecipientAddress;
      }
      /**
       * the recipient address for incoming system sms on cdma networks
       */
      public function getSmsRecipientAddressCdma() {
        return $this->smsRecipientAddressCdma;
      }
      
      /**
       * the recipient address for incoming system sms on cdma networks
       */
      public function setSmsRecipientAddressCdma($smsRecipientAddressCdma) {
        $this->smsRecipientAddressCdma = $smsRecipientAddressCdma;
      }
      /**
       * the registration mode bit mask
       * 
       * 0 .. No registration
       * 1 .. SMS mobile terminated only
       * 2 .. Voice only
       * 3 .. SMS mobile terminated + Voice as fallback
       * 4 .. SMS mobile originated
       * 5 .. SMS mobile terminated + SMS mobile originated as fallback
       */
      public function getRegistrationMode() {
        return $this->registrationMode;
      }
      
      /**
       * the registration mode bit mask
       * 
       * 0 .. No registration
       * 1 .. SMS mobile terminated only
       * 2 .. Voice only
       * 3 .. SMS mobile terminated + Voice as fallback
       * 4 .. SMS mobile originated
       * 5 .. SMS mobile terminated + SMS mobile originated as fallback
       */
      public function setRegistrationMode($registrationMode) {
        $this->registrationMode = $registrationMode;
      }
      /**
       * Returns the associative array for this ConfigCountry
       */
      public function toArray() {
        $a = array();
        if( $this->id ) {
          $a["id"] = $this->id;
        }
        if( $this->code ) {
          $a["code"] = $this->code;
        }
        if( $this->currency ) {
          $a["currency"] = $this->currency;
        }
        if( $this->dialPrefix ) {
          $a["dialPrefix"] = $this->dialPrefix;
        }
        if( $this->numberValidRegex ) {
          $a["numberValidRegex"] = $this->numberValidRegex;
        }
        if( $this->loginEnabled ) {
          $a["loginEnabled"] = $this->loginEnabled;
        }
        if( $this->smsEnabled ) {
          $a["smsEnabled"] = $this->smsEnabled;
        }
        if( $this->registrationFreeSms ) {
          $a["registrationFreeSms"] = $this->registrationFreeSms;
        }
        if( $this->smsRecipientAddress ) {
          $a["smsRecipientAddress"] = $this->smsRecipientAddress;
        }
        if( $this->smsRecipientAddressCdma ) {
          $a["smsRecipientAddressCdma"] = $this->smsRecipientAddressCdma;
        }
        if( $this->registrationMode ) {
          $a["registrationMode"] = $this->registrationMode;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this ConfigCountry
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this ConfigCountry from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['id']) ) {
          $this->id = $o["id"];
        }
        if( isset($o['code']) ) {
          $this->code = $o["code"];
        }
        if( isset($o['currency']) ) {
          $this->currency = $o["currency"];
        }
        if( isset($o['dialPrefix']) ) {
          $this->dialPrefix = $o["dialPrefix"];
        }
        if( isset($o['numberValidRegex']) ) {
          $this->numberValidRegex = $o["numberValidRegex"];
        }
        if( isset($o['loginEnabled']) ) {
          $this->loginEnabled = $o["loginEnabled"];
        }
        if( isset($o['smsEnabled']) ) {
          $this->smsEnabled = $o["smsEnabled"];
        }
        if( isset($o['registrationFreeSms']) ) {
          $this->registrationFreeSms = $o["registrationFreeSms"];
        }
        if( isset($o['smsRecipientAddress']) ) {
          $this->smsRecipientAddress = $o["smsRecipientAddress"];
        }
        if( isset($o['smsRecipientAddressCdma']) ) {
          $this->smsRecipientAddressCdma = $o["smsRecipientAddressCdma"];
        }
        if( isset($o['registrationMode']) ) {
          $this->registrationMode = $o["registrationMode"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class Group  {
    
    
      /**
       * The id of the group
       */
      private $groupId;
      /**
       * The name of the group
       */
      private $name;
      /**
       * The amount of users in the group
       */
      private $users;

      /**
       * Constructs a Group from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The id of the group
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The id of the group
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * The name of the group
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the group
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The amount of users in the group
       */
      public function getUsers() {
        return $this->users;
      }
      
      /**
       * The amount of users in the group
       */
      public function setUsers($users) {
        $this->users = $users;
      }
      /**
       * Returns the associative array for this Group
       */
      public function toArray() {
        $a = array();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->users ) {
          $a["users"] = $this->users;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this Group
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this Group from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['users']) ) {
          $this->users = $o["users"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopPaymentMethod  {
    
    
      /**
       * The payment method id
       */
      private $id;
      /**
       * The name of the payment method
       */
      private $name;
      /**
       * Does the payment method requires additional user input
       */
      private $interactive;

      /**
       * Constructs a ShopPaymentMethod from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The payment method id
       */
      public function getId() {
        return $this->id;
      }
      
      /**
       * The payment method id
       */
      public function setId($id) {
        $this->id = $id;
      }
      /**
       * The name of the payment method
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the payment method
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * Does the payment method requires additional user input
       */
      public function getInteractive() {
        return $this->interactive;
      }
      
      /**
       * Does the payment method requires additional user input
       */
      public function setInteractive($interactive) {
        $this->interactive = $interactive;
      }
      /**
       * Returns the associative array for this ShopPaymentMethod
       */
      public function toArray() {
        $a = array();
        if( $this->id ) {
          $a["id"] = $this->id;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->interactive ) {
          $a["interactive"] = $this->interactive;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this ShopPaymentMethod
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this ShopPaymentMethod from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['id']) ) {
          $this->id = $o["id"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['interactive']) ) {
          $this->interactive = $o["interactive"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\SmsConnector {

    /**
     * 
     */
    class SmsConnector  {
    
    
      /**
       * The sms connector unique id
       */
      private $smsConnectorId;
      /**
       * The package name of the sms connector
       */
      private $packageName;
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      private $subConnectorId;
      /**
       * The display name of the sms connector
       */
      private $name;
      /**
       * The indication color of the sms connector
       */
      private $color;
      /**
       * The maximum sms length of the sms connector
       */
      private $maxLength;
      /**
       * The maximum sms recipients per sms for this connector
       */
      private $maxRecipients;
      /**
       * A bit mask with possible sms encodings for this connector
     * 
     * bit 1 .. 7bit
     * bit 2 .. 8bit
     * bit 3 .. ucs2
       */
      private $encodings;
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      private $recipientRegex;
      /**
       * The flag that indicates if the connector is popular
       */
      private $popular;

      /**
       * Constructs a SmsConnector from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sms connector unique id
       */
      public function getSmsConnectorId() {
        return $this->smsConnectorId;
      }
      
      /**
       * The sms connector unique id
       */
      public function setSmsConnectorId($smsConnectorId) {
        $this->smsConnectorId = $smsConnectorId;
      }
      /**
       * The package name of the sms connector
       */
      public function getPackageName() {
        return $this->packageName;
      }
      
      /**
       * The package name of the sms connector
       */
      public function setPackageName($packageName) {
        $this->packageName = $packageName;
      }
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      public function getSubConnectorId() {
        return $this->subConnectorId;
      }
      
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      public function setSubConnectorId($subConnectorId) {
        $this->subConnectorId = $subConnectorId;
      }
      /**
       * The display name of the sms connector
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The display name of the sms connector
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The indication color of the sms connector
       */
      public function getColor() {
        return $this->color;
      }
      
      /**
       * The indication color of the sms connector
       */
      public function setColor($color) {
        $this->color = $color;
      }
      /**
       * The maximum sms length of the sms connector
       */
      public function getMaxLength() {
        return $this->maxLength;
      }
      
      /**
       * The maximum sms length of the sms connector
       */
      public function setMaxLength($maxLength) {
        $this->maxLength = $maxLength;
      }
      /**
       * The maximum sms recipients per sms for this connector
       */
      public function getMaxRecipients() {
        return $this->maxRecipients;
      }
      
      /**
       * The maximum sms recipients per sms for this connector
       */
      public function setMaxRecipients($maxRecipients) {
        $this->maxRecipients = $maxRecipients;
      }
      /**
       * A bit mask with possible sms encodings for this connector
       * 
       * bit 1 .. 7bit
       * bit 2 .. 8bit
       * bit 3 .. ucs2
       */
      public function getEncodings() {
        return $this->encodings;
      }
      
      /**
       * A bit mask with possible sms encodings for this connector
       * 
       * bit 1 .. 7bit
       * bit 2 .. 8bit
       * bit 3 .. ucs2
       */
      public function setEncodings($encodings) {
        $this->encodings = $encodings;
      }
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      public function getRecipientRegex() {
        return $this->recipientRegex;
      }
      
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      public function setRecipientRegex($recipientRegex) {
        $this->recipientRegex = $recipientRegex;
      }
      /**
       * The flag that indicates if the connector is popular
       */
      public function getPopular() {
        return $this->popular;
      }
      
      /**
       * The flag that indicates if the connector is popular
       */
      public function setPopular($popular) {
        $this->popular = $popular;
      }
      /**
       * Returns the associative array for this SmsConnector
       */
      public function toArray() {
        $a = array();
        if( $this->smsConnectorId ) {
          $a["smsConnectorId"] = $this->smsConnectorId;
        }
        if( $this->packageName ) {
          $a["packageName"] = $this->packageName;
        }
        if( $this->subConnectorId ) {
          $a["subConnectorId"] = $this->subConnectorId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->color ) {
          $a["color"] = $this->color;
        }
        if( $this->maxLength ) {
          $a["maxLength"] = $this->maxLength;
        }
        if( $this->maxRecipients ) {
          $a["maxRecipients"] = $this->maxRecipients;
        }
        if( $this->encodings ) {
          $a["encodings"] = $this->encodings;
        }
        if( $this->recipientRegex ) {
          $a["recipientRegex"] = $this->recipientRegex;
        }
        if( $this->popular ) {
          $a["popular"] = $this->popular;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this SmsConnector
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this SmsConnector from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['smsConnectorId']) ) {
          $this->smsConnectorId = $o["smsConnectorId"];
        }
        if( isset($o['packageName']) ) {
          $this->packageName = $o["packageName"];
        }
        if( isset($o['subConnectorId']) ) {
          $this->subConnectorId = $o["subConnectorId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['color']) ) {
          $this->color = $o["color"];
        }
        if( isset($o['maxLength']) ) {
          $this->maxLength = $o["maxLength"];
        }
        if( isset($o['maxRecipients']) ) {
          $this->maxRecipients = $o["maxRecipients"];
        }
        if( isset($o['encodings']) ) {
          $this->encodings = $o["encodings"];
        }
        if( isset($o['recipientRegex']) ) {
          $this->recipientRegex = $o["recipientRegex"];
        }
        if( isset($o['popular']) ) {
          $this->popular = $o["popular"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Sms {

    /**
     * 
     */
    class SmsSendAck  {
    
    
      /**
       * The msisdn of the recipient
       */
      private $recipient;
      /**
       * The (server) message id for the message if one was created.
       */
      private $messageId;

      /**
       * Constructs a SmsSendAck from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn of the recipient
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The msisdn of the recipient
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * The (server) message id for the message if one was created.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id for the message if one was created.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this SmsSendAck
       */
      public function toArray() {
        $a = array();
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this SmsSendAck
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this SmsSendAck from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCall  {
    
    
      /**
       * The call id of the call.
       */
      private $callId;
      /**
       * The address of the conversation.
       */
      private $address;
      /**
       * The state of the direction of the call.
       */
      private $incoming;
      /**
       * True if the call was already read otherwise the call is unread.
       */
      private $read;
      /**
       * The duration of the call in seconds
       */
      private $duration;
      /**
       * The origin of the call.
     * &lt;br/&gt;
     * 0 .. ringing&lt;br/&gt;
     * 1 .. active&lt;br/&gt;
     * 2 .. complete&lt;br/&gt;
     * 3 .. missed&lt;br/&gt;
       */
      private $status;
      /**
       * The date of the call.
       */
      private $dateCall;

      /**
       * Constructs a UserCall from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The call id of the call.
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The call id of the call.
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * The address of the conversation.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the conversation.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The state of the direction of the call.
       */
      public function getIncoming() {
        return $this->incoming;
      }
      
      /**
       * The state of the direction of the call.
       */
      public function setIncoming($incoming) {
        $this->incoming = $incoming;
      }
      /**
       * True if the call was already read otherwise the call is unread.
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * True if the call was already read otherwise the call is unread.
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * The duration of the call in seconds
       */
      public function getDuration() {
        return $this->duration;
      }
      
      /**
       * The duration of the call in seconds
       */
      public function setDuration($duration) {
        $this->duration = $duration;
      }
      /**
       * The origin of the call.
       * &lt;br/&gt;
       * 0 .. ringing&lt;br/&gt;
       * 1 .. active&lt;br/&gt;
       * 2 .. complete&lt;br/&gt;
       * 3 .. missed&lt;br/&gt;
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The origin of the call.
       * &lt;br/&gt;
       * 0 .. ringing&lt;br/&gt;
       * 1 .. active&lt;br/&gt;
       * 2 .. complete&lt;br/&gt;
       * 3 .. missed&lt;br/&gt;
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date of the call.
       */
      public function getDateCall() {
        return $this->dateCall;
      }
      
      /**
       * The date of the call.
       */
      public function setDateCall($dateCall) {
        $this->dateCall = $dateCall;
      }
      /**
       * Returns the associative array for this UserCall
       */
      public function toArray() {
        $a = array();
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->incoming ) {
          $a["incoming"] = $this->incoming;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->duration ) {
          $a["duration"] = $this->duration;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateCall ) {
          $a["dateCall"] = $this->dateCall;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserCall
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserCall from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['incoming']) ) {
          $this->incoming = $o["incoming"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['duration']) ) {
          $this->duration = $o["duration"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateCall']) ) {
          $this->dateCall = $o["dateCall"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactOverride  {
    
    
      /**
       * The msisdn of the contact.
       */
      private $msisdn;
      /**
       * The name of the contact or null if there is no override configured.
       */
      private $name;
      /**
       * The avatar index. Zero means no override.
       */
      private $avatar;

      /**
       * Constructs a UserContactOverride from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn of the contact.
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The msisdn of the contact.
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The name of the contact or null if there is no override configured.
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the contact or null if there is no override configured.
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The avatar index. Zero means no override.
       */
      public function getAvatar() {
        return $this->avatar;
      }
      
      /**
       * The avatar index. Zero means no override.
       */
      public function setAvatar($avatar) {
        $this->avatar = $avatar;
      }
      /**
       * Returns the associative array for this UserContactOverride
       */
      public function toArray() {
        $a = array();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->avatar ) {
          $a["avatar"] = $this->avatar;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserContactOverride
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserContactOverride from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['avatar']) ) {
          $this->avatar = $o["avatar"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageConversation  {
    
    
      /**
       * The address of the conversation.
       */
      private $address;
      /**
       * The snippet of the last message in the conversation.
       */
      private $snippet;
      /**
       * The number of unread messages in this conversation.
       */
      private $messagesUnread;
      /**
       * The number of unsent messages in this conversation.
       */
      private $messagesUnsent;
      /**
       * The number of messages in this conversation.
       */
      private $messages;
      /**
       * The highest message id.
       */
      private $maxMessageId;
      /**
       * The date of the last messages in this conversation.
       */
      private $dateLastMessage;

      /**
       * Constructs a UserMessageConversation from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the conversation.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the conversation.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The snippet of the last message in the conversation.
       */
      public function getSnippet() {
        return $this->snippet;
      }
      
      /**
       * The snippet of the last message in the conversation.
       */
      public function setSnippet($snippet) {
        $this->snippet = $snippet;
      }
      /**
       * The number of unread messages in this conversation.
       */
      public function getMessagesUnread() {
        return $this->messagesUnread;
      }
      
      /**
       * The number of unread messages in this conversation.
       */
      public function setMessagesUnread($messagesUnread) {
        $this->messagesUnread = $messagesUnread;
      }
      /**
       * The number of unsent messages in this conversation.
       */
      public function getMessagesUnsent() {
        return $this->messagesUnsent;
      }
      
      /**
       * The number of unsent messages in this conversation.
       */
      public function setMessagesUnsent($messagesUnsent) {
        $this->messagesUnsent = $messagesUnsent;
      }
      /**
       * The number of messages in this conversation.
       */
      public function getMessages() {
        return $this->messages;
      }
      
      /**
       * The number of messages in this conversation.
       */
      public function setMessages($messages) {
        $this->messages = $messages;
      }
      /**
       * The highest message id.
       */
      public function getMaxMessageId() {
        return $this->maxMessageId;
      }
      
      /**
       * The highest message id.
       */
      public function setMaxMessageId($maxMessageId) {
        $this->maxMessageId = $maxMessageId;
      }
      /**
       * The date of the last messages in this conversation.
       */
      public function getDateLastMessage() {
        return $this->dateLastMessage;
      }
      
      /**
       * The date of the last messages in this conversation.
       */
      public function setDateLastMessage($dateLastMessage) {
        $this->dateLastMessage = $dateLastMessage;
      }
      /**
       * Returns the associative array for this UserMessageConversation
       */
      public function toArray() {
        $a = array();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->snippet ) {
          $a["snippet"] = $this->snippet;
        }
        if( $this->messagesUnread ) {
          $a["messagesUnread"] = $this->messagesUnread;
        }
        if( $this->messagesUnsent ) {
          $a["messagesUnsent"] = $this->messagesUnsent;
        }
        if( $this->messages ) {
          $a["messages"] = $this->messages;
        }
        if( $this->maxMessageId ) {
          $a["maxMessageId"] = $this->maxMessageId;
        }
        if( $this->dateLastMessage ) {
          $a["dateLastMessage"] = $this->dateLastMessage;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserMessageConversation
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserMessageConversation from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['snippet']) ) {
          $this->snippet = $o["snippet"];
        }
        if( isset($o['messagesUnread']) ) {
          $this->messagesUnread = $o["messagesUnread"];
        }
        if( isset($o['messagesUnsent']) ) {
          $this->messagesUnsent = $o["messagesUnsent"];
        }
        if( isset($o['messages']) ) {
          $this->messages = $o["messages"];
        }
        if( isset($o['maxMessageId']) ) {
          $this->maxMessageId = $o["maxMessageId"];
        }
        if( isset($o['dateLastMessage']) ) {
          $this->dateLastMessage = $o["dateLastMessage"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageMessage  {
    
    
      /**
       * The message id of the message.
       */
      private $messageId;
      /**
       * The address of the message.
       */
      private $address;
      /**
       * The message text of the message.
       */
      private $message;
      /**
       * The state of the direction of the message.
       */
      private $incoming;
      /**
       * True if the message was already read otherwise the message is unread.
       */
      private $read;
      /**
       * True if the message is locked otherwise the message is unlocked.
       */
      private $locked;
      /**
       * The origin of the message.
     * &lt;br/&gt;&lt;br/&gt;
     * 0 .. sim&lt;br/&gt;
     * 1 .. mysms&lt;br/&gt;
     * 2 .. a2a (account 2 account)&lt;br/&gt;
     * or a sms connector id&lt;br/&gt;
       */
      private $origin;
      /**
       * The origin of the message.
     * &lt;br/&gt;&lt;br/&gt;
     * 0 .. none&lt;br/&gt;
     * 1 .. pending&lt;br/&gt;
     * 2 .. completed&lt;br/&gt;
     * 3 .. failed&lt;br/&gt;
     * 4 .. sending&lt;br/&gt;
     * 5 .. unsent&lt;br/&gt;
       */
      private $status;
      /**
       * The date of the message.
       */
      private $dateSent;
      /**
       * Optional date for the specific status.
     * &lt;br/&gt;&lt;br/&gt;
     * completed .. the date when the message was received by the recipient&lt;br/&gt;
     * sending .. the date when the message will be sent&lt;br/&gt;
       */
      private $dateStatus;

      /**
       * Constructs a UserMessageMessage from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message id of the message.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The message id of the message.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * The address of the message.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the message.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The message text of the message.
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message text of the message.
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The state of the direction of the message.
       */
      public function getIncoming() {
        return $this->incoming;
      }
      
      /**
       * The state of the direction of the message.
       */
      public function setIncoming($incoming) {
        $this->incoming = $incoming;
      }
      /**
       * True if the message was already read otherwise the message is unread.
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * True if the message was already read otherwise the message is unread.
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * True if the message is locked otherwise the message is unlocked.
       */
      public function getLocked() {
        return $this->locked;
      }
      
      /**
       * True if the message is locked otherwise the message is unlocked.
       */
      public function setLocked($locked) {
        $this->locked = $locked;
      }
      /**
       * The origin of the message.
       * &lt;br/&gt;&lt;br/&gt;
       * 0 .. sim&lt;br/&gt;
       * 1 .. mysms&lt;br/&gt;
       * 2 .. a2a (account 2 account)&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function getOrigin() {
        return $this->origin;
      }
      
      /**
       * The origin of the message.
       * &lt;br/&gt;&lt;br/&gt;
       * 0 .. sim&lt;br/&gt;
       * 1 .. mysms&lt;br/&gt;
       * 2 .. a2a (account 2 account)&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function setOrigin($origin) {
        $this->origin = $origin;
      }
      /**
       * The origin of the message.
       * &lt;br/&gt;&lt;br/&gt;
       * 0 .. none&lt;br/&gt;
       * 1 .. pending&lt;br/&gt;
       * 2 .. completed&lt;br/&gt;
       * 3 .. failed&lt;br/&gt;
       * 4 .. sending&lt;br/&gt;
       * 5 .. unsent&lt;br/&gt;
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The origin of the message.
       * &lt;br/&gt;&lt;br/&gt;
       * 0 .. none&lt;br/&gt;
       * 1 .. pending&lt;br/&gt;
       * 2 .. completed&lt;br/&gt;
       * 3 .. failed&lt;br/&gt;
       * 4 .. sending&lt;br/&gt;
       * 5 .. unsent&lt;br/&gt;
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date of the message.
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date of the message.
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * Optional date for the specific status.
       * &lt;br/&gt;&lt;br/&gt;
       * completed .. the date when the message was received by the recipient&lt;br/&gt;
       * sending .. the date when the message will be sent&lt;br/&gt;
       */
      public function getDateStatus() {
        return $this->dateStatus;
      }
      
      /**
       * Optional date for the specific status.
       * &lt;br/&gt;&lt;br/&gt;
       * completed .. the date when the message was received by the recipient&lt;br/&gt;
       * sending .. the date when the message will be sent&lt;br/&gt;
       */
      public function setDateStatus($dateStatus) {
        $this->dateStatus = $dateStatus;
      }
      /**
       * Returns the associative array for this UserMessageMessage
       */
      public function toArray() {
        $a = array();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->incoming ) {
          $a["incoming"] = $this->incoming;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->locked ) {
          $a["locked"] = $this->locked;
        }
        if( $this->origin ) {
          $a["origin"] = $this->origin;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        if( $this->dateStatus ) {
          $a["dateStatus"] = $this->dateStatus;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserMessageMessage
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserMessageMessage from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['incoming']) ) {
          $this->incoming = $o["incoming"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['locked']) ) {
          $this->locked = $o["locked"];
        }
        if( isset($o['origin']) ) {
          $this->origin = $o["origin"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
        if( isset($o['dateStatus']) ) {
          $this->dateStatus = $o["dateStatus"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnector  {
    
    
      /**
       * The sms connector id. For sim sms connector this is zero.
       */
      private $smsConnectorId;
      /**
       * The name of the connector (in client's language)
       */
      private $name;
      /**
       * The priority for national sms
       */
      private $priorityNational;
      /**
       * The priority for foreign sms
       */
      private $priorityForeign;

      /**
       * Constructs a UserSmsConnector from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sms connector id. For sim sms connector this is zero.
       */
      public function getSmsConnectorId() {
        return $this->smsConnectorId;
      }
      
      /**
       * The sms connector id. For sim sms connector this is zero.
       */
      public function setSmsConnectorId($smsConnectorId) {
        $this->smsConnectorId = $smsConnectorId;
      }
      /**
       * The name of the connector (in client's language)
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the connector (in client's language)
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The priority for national sms
       */
      public function getPriorityNational() {
        return $this->priorityNational;
      }
      
      /**
       * The priority for national sms
       */
      public function setPriorityNational($priorityNational) {
        $this->priorityNational = $priorityNational;
      }
      /**
       * The priority for foreign sms
       */
      public function getPriorityForeign() {
        return $this->priorityForeign;
      }
      
      /**
       * The priority for foreign sms
       */
      public function setPriorityForeign($priorityForeign) {
        $this->priorityForeign = $priorityForeign;
      }
      /**
       * Returns the associative array for this UserSmsConnector
       */
      public function toArray() {
        $a = array();
        if( $this->smsConnectorId ) {
          $a["smsConnectorId"] = $this->smsConnectorId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->priorityNational ) {
          $a["priorityNational"] = $this->priorityNational;
        }
        if( $this->priorityForeign ) {
          $a["priorityForeign"] = $this->priorityForeign;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserSmsConnector
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserSmsConnector from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['smsConnectorId']) ) {
          $this->smsConnectorId = $o["smsConnectorId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['priorityNational']) ) {
          $this->priorityNational = $o["priorityNational"];
        }
        if( isset($o['priorityForeign']) ) {
          $this->priorityForeign = $o["priorityForeign"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSyncAck  {
    
    
      /**
       * The sync operation for this message
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The (server) message id for the message.
       */
      private $messageId;
      /**
       * The device message id for the message.
       */
      private $deviceMessageId;

      /**
       * Constructs a UserMessageSyncAck from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The (server) message id for the message.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id for the message.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * The device message id for the message.
       */
      public function getDeviceMessageId() {
        return $this->deviceMessageId;
      }
      
      /**
       * The device message id for the message.
       */
      public function setDeviceMessageId($deviceMessageId) {
        $this->deviceMessageId = $deviceMessageId;
      }
      /**
       * Returns the associative array for this UserMessageSyncAck
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->deviceMessageId ) {
          $a["deviceMessageId"] = $this->deviceMessageId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserMessageSyncAck
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserMessageSyncAck from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['deviceMessageId']) ) {
          $this->deviceMessageId = $o["deviceMessageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * Message Synchronization Object
     * 
     * Used to synchronize a message from server to device and vice versa.
     */
    class UserMessageSync  {
    
    
      /**
       * The sync operation for this message
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The message id of the message
     * 
     * The message id will be zero for new messages from the device otherwise the message id must be greater than zero.
       */
      private $messageId;
      /**
       * The device message id of the message
     * 
     * The device message id will be zero for new messages from the server otherwise the device message id must be greater than zero.
       */
      private $deviceMessageId;
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      private $address;
      /**
       * The message body
       */
      private $message;
      /**
       * The message direction (incoming or outgoing) state
       */
      private $incoming;
      /**
       * The message read state
       */
      private $read;
      /**
       * The message locked state
     * 
     * If a message is locked, it will be not cleaned automatically.
       */
      private $locked;
      /**
       * The origin of the message
     * 
     * 0 .. sim
     * 1 .. mysms
     * 2 .. a2a
       */
      private $origin;
      /**
       * The status of the message
     * 
     * 0 .. none
     * 1 .. pending
     * 2 .. complete
     * 3 .. failed
       */
      private $status;
      /**
       * The date when the message was sent
       */
      private $dateSent;
      /**
       * Optional date for the specific status.
     * &lt;br/&gt;&lt;br/&gt;
     * completed .. the date when the message was received by the recipient&lt;br/&gt;
     * sending .. the date when the message will be sent&lt;br/&gt;
       */
      private $dateStatus;

      /**
       * Constructs a UserMessageSync from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The message id of the message
       * 
       * The message id will be zero for new messages from the device otherwise the message id must be greater than zero.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The message id of the message
       * 
       * The message id will be zero for new messages from the device otherwise the message id must be greater than zero.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * The device message id of the message
       * 
       * The device message id will be zero for new messages from the server otherwise the device message id must be greater than zero.
       */
      public function getDeviceMessageId() {
        return $this->deviceMessageId;
      }
      
      /**
       * The device message id of the message
       * 
       * The device message id will be zero for new messages from the server otherwise the device message id must be greater than zero.
       */
      public function setDeviceMessageId($deviceMessageId) {
        $this->deviceMessageId = $deviceMessageId;
      }
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The message body
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message body
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The message direction (incoming or outgoing) state
       */
      public function getIncoming() {
        return $this->incoming;
      }
      
      /**
       * The message direction (incoming or outgoing) state
       */
      public function setIncoming($incoming) {
        $this->incoming = $incoming;
      }
      /**
       * The message read state
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * The message read state
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * The message locked state
       * 
       * If a message is locked, it will be not cleaned automatically.
       */
      public function getLocked() {
        return $this->locked;
      }
      
      /**
       * The message locked state
       * 
       * If a message is locked, it will be not cleaned automatically.
       */
      public function setLocked($locked) {
        $this->locked = $locked;
      }
      /**
       * The origin of the message
       * 
       * 0 .. sim
       * 1 .. mysms
       * 2 .. a2a
       */
      public function getOrigin() {
        return $this->origin;
      }
      
      /**
       * The origin of the message
       * 
       * 0 .. sim
       * 1 .. mysms
       * 2 .. a2a
       */
      public function setOrigin($origin) {
        $this->origin = $origin;
      }
      /**
       * The status of the message
       * 
       * 0 .. none
       * 1 .. pending
       * 2 .. complete
       * 3 .. failed
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the message
       * 
       * 0 .. none
       * 1 .. pending
       * 2 .. complete
       * 3 .. failed
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * Optional date for the specific status.
       * &lt;br/&gt;&lt;br/&gt;
       * completed .. the date when the message was received by the recipient&lt;br/&gt;
       * sending .. the date when the message will be sent&lt;br/&gt;
       */
      public function getDateStatus() {
        return $this->dateStatus;
      }
      
      /**
       * Optional date for the specific status.
       * &lt;br/&gt;&lt;br/&gt;
       * completed .. the date when the message was received by the recipient&lt;br/&gt;
       * sending .. the date when the message will be sent&lt;br/&gt;
       */
      public function setDateStatus($dateStatus) {
        $this->dateStatus = $dateStatus;
      }
      /**
       * Returns the associative array for this UserMessageSync
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->deviceMessageId ) {
          $a["deviceMessageId"] = $this->deviceMessageId;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->incoming ) {
          $a["incoming"] = $this->incoming;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->locked ) {
          $a["locked"] = $this->locked;
        }
        if( $this->origin ) {
          $a["origin"] = $this->origin;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        if( $this->dateStatus ) {
          $a["dateStatus"] = $this->dateStatus;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserMessageSync
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserMessageSync from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['deviceMessageId']) ) {
          $this->deviceMessageId = $o["deviceMessageId"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['incoming']) ) {
          $this->incoming = $o["incoming"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['locked']) ) {
          $this->locked = $o["locked"];
        }
        if( isset($o['origin']) ) {
          $this->origin = $o["origin"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
        if( isset($o['dateStatus']) ) {
          $this->dateStatus = $o["dateStatus"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactSyncAck  {
    
    
      /**
       * The sync operation for this message
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The (server) contact id for the contact.
       */
      private $contactId;
      /**
       * The device contact id for the contact.
       */
      private $deviceContactId;

      /**
       * Constructs a UserContactSyncAck from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The (server) contact id for the contact.
       */
      public function getContactId() {
        return $this->contactId;
      }
      
      /**
       * The (server) contact id for the contact.
       */
      public function setContactId($contactId) {
        $this->contactId = $contactId;
      }
      /**
       * The device contact id for the contact.
       */
      public function getDeviceContactId() {
        return $this->deviceContactId;
      }
      
      /**
       * The device contact id for the contact.
       */
      public function setDeviceContactId($deviceContactId) {
        $this->deviceContactId = $deviceContactId;
      }
      /**
       * Returns the associative array for this UserContactSyncAck
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->contactId ) {
          $a["contactId"] = $this->contactId;
        }
        if( $this->deviceContactId ) {
          $a["deviceContactId"] = $this->deviceContactId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserContactSyncAck
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserContactSyncAck from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['contactId']) ) {
          $this->contactId = $o["contactId"];
        }
        if( isset($o['deviceContactId']) ) {
          $this->deviceContactId = $o["deviceContactId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * Message Synchronization Object
     * 
     * Used to synchronize a message from server to device and vice versa.
     */
    class UserContactSync  {
    
    
      /**
       * The sync operation for this message
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The contact id of the contact
     * 
     * The contact id will be zero for new contacts from the device otherwise the contact id must be greater than zero.
       */
      private $contactId;
      /**
       * The device contact id of the message
     * 
     * The device contact id will be zero for new contacts from the server otherwise the device contact id must be greater than zero.
       */
      private $deviceContactId;
      /**
       * The name of the contact. (64 chars allowed, more will be truncated)
       */
      private $name;
      /**
       * The msisdn's in international format (+4367612345678) - for short codes (6567).
       */
      private $msisdns;
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
     * 
     * The array size must be the same than msisdns or null.
       */
      private $msisdnsType;
      /**
       * The contact group names for this contact
       */
      private $contactGroups;
      /**
       * The mime type of the avatar
     * 
     * 0 .. jpeg
     * 1 .. png
       */
      private $avatarMimeType;
      /**
       * The avatar data of the contact base64 encoded.
     * 
     * The maximum size of an avatar is 10 KB.
       */
      private $avatarData;

      /**
       * Constructs a UserContactSync from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this message
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The contact id of the contact
       * 
       * The contact id will be zero for new contacts from the device otherwise the contact id must be greater than zero.
       */
      public function getContactId() {
        return $this->contactId;
      }
      
      /**
       * The contact id of the contact
       * 
       * The contact id will be zero for new contacts from the device otherwise the contact id must be greater than zero.
       */
      public function setContactId($contactId) {
        $this->contactId = $contactId;
      }
      /**
       * The device contact id of the message
       * 
       * The device contact id will be zero for new contacts from the server otherwise the device contact id must be greater than zero.
       */
      public function getDeviceContactId() {
        return $this->deviceContactId;
      }
      
      /**
       * The device contact id of the message
       * 
       * The device contact id will be zero for new contacts from the server otherwise the device contact id must be greater than zero.
       */
      public function setDeviceContactId($deviceContactId) {
        $this->deviceContactId = $deviceContactId;
      }
      /**
       * The name of the contact. (64 chars allowed, more will be truncated)
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the contact. (64 chars allowed, more will be truncated)
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The msisdn's in international format (+4367612345678) - for short codes (6567).
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdn's in international format (+4367612345678) - for short codes (6567).
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
       * 
       * The array size must be the same than msisdns or null.
       */
      public function getMsisdnsType() {
        return $this->msisdnsType;
      }
      
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
       * 
       * The array size must be the same than msisdns or null.
       */
      public function setMsisdnsType($msisdnsType) {
        $this->msisdnsType = $msisdnsType;
      }
      /**
       * The contact group names for this contact
       */
      public function getContactGroups() {
        return $this->contactGroups;
      }
      
      /**
       * The contact group names for this contact
       */
      public function setContactGroups($contactGroups) {
        $this->contactGroups = $contactGroups;
      }
      /**
       * The mime type of the avatar
       * 
       * 0 .. jpeg
       * 1 .. png
       */
      public function getAvatarMimeType() {
        return $this->avatarMimeType;
      }
      
      /**
       * The mime type of the avatar
       * 
       * 0 .. jpeg
       * 1 .. png
       */
      public function setAvatarMimeType($avatarMimeType) {
        $this->avatarMimeType = $avatarMimeType;
      }
      /**
       * The avatar data of the contact base64 encoded.
       * 
       * The maximum size of an avatar is 10 KB.
       */
      public function getAvatarData() {
        return $this->avatarData;
      }
      
      /**
       * The avatar data of the contact base64 encoded.
       * 
       * The maximum size of an avatar is 10 KB.
       */
      public function setAvatarData($avatarData) {
        $this->avatarData = $avatarData;
      }
      /**
       * Returns the associative array for this UserContactSync
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->contactId ) {
          $a["contactId"] = $this->contactId;
        }
        if( $this->deviceContactId ) {
          $a["deviceContactId"] = $this->deviceContactId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        if( $this->msisdnsType ) {
          $ab = array();
          foreach( $this->msisdnsType as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdnsType'] = $ab;
        }
        if( $this->contactGroups ) {
          $ab = array();
          foreach( $this->contactGroups as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['contactGroups'] = $ab;
        }
        if( $this->avatarMimeType ) {
          $a["avatarMimeType"] = $this->avatarMimeType;
        }
        if( $this->avatarData ) {
          $a["avatarData"] = $this->avatarData;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserContactSync
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserContactSync from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['contactId']) ) {
          $this->contactId = $o["contactId"];
        }
        if( isset($o['deviceContactId']) ) {
          $this->deviceContactId = $o["deviceContactId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
        $this->msisdnsType = array();
        if( isset($o['msisdnsType']) ) {
          foreach( $o['msisdnsType'] as $i => $x ) {
            $this->msisdnsType[$i] = $x;
          }
        }
        $this->contactGroups = array();
        if( isset($o['contactGroups']) ) {
          foreach( $o['contactGroups'] as $i => $x ) {
            $this->contactGroups[$i] = $x;
          }
        }
        if( isset($o['avatarMimeType']) ) {
          $this->avatarMimeType = $o["avatarMimeType"];
        }
        if( isset($o['avatarData']) ) {
          $this->avatarData = $o["avatarData"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContact  {
    
    
      /**
       * The contact id of the contact.
       */
      private $contactId;
      /**
       * The name of the message.
       */
      private $name;
      /**
       * The msisdn of the contact.
       */
      private $msisdns;
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
     * 
     * The array size must be the same than msisdns or null.
       */
      private $msisdnsType;
      /**
       * The contact group names.
       */
      private $contactGroups;
      /**
       * The relative url of the avatar or null if the contact has none.
     * 
     * Use http(s)://api.mysms.com as host.
       */
      private $avatarUrl;

      /**
       * Constructs a UserContact from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The contact id of the contact.
       */
      public function getContactId() {
        return $this->contactId;
      }
      
      /**
       * The contact id of the contact.
       */
      public function setContactId($contactId) {
        $this->contactId = $contactId;
      }
      /**
       * The name of the message.
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the message.
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The msisdn of the contact.
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdn of the contact.
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
       * 
       * The array size must be the same than msisdns or null.
       */
      public function getMsisdnsType() {
        return $this->msisdnsType;
      }
      
      /**
       * The type (mobile, work, home, ...)  for the msisdn at the same array position.
       * 
       * The array size must be the same than msisdns or null.
       */
      public function setMsisdnsType($msisdnsType) {
        $this->msisdnsType = $msisdnsType;
      }
      /**
       * The contact group names.
       */
      public function getContactGroups() {
        return $this->contactGroups;
      }
      
      /**
       * The contact group names.
       */
      public function setContactGroups($contactGroups) {
        $this->contactGroups = $contactGroups;
      }
      /**
       * The relative url of the avatar or null if the contact has none.
       * 
       * Use http(s)://api.mysms.com as host.
       */
      public function getAvatarUrl() {
        return $this->avatarUrl;
      }
      
      /**
       * The relative url of the avatar or null if the contact has none.
       * 
       * Use http(s)://api.mysms.com as host.
       */
      public function setAvatarUrl($avatarUrl) {
        $this->avatarUrl = $avatarUrl;
      }
      /**
       * Returns the associative array for this UserContact
       */
      public function toArray() {
        $a = array();
        if( $this->contactId ) {
          $a["contactId"] = $this->contactId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        if( $this->msisdnsType ) {
          $ab = array();
          foreach( $this->msisdnsType as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdnsType'] = $ab;
        }
        if( $this->contactGroups ) {
          $ab = array();
          foreach( $this->contactGroups as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['contactGroups'] = $ab;
        }
        if( $this->avatarUrl ) {
          $a["avatarUrl"] = $this->avatarUrl;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserContact
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserContact from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['contactId']) ) {
          $this->contactId = $o["contactId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
        $this->msisdnsType = array();
        if( isset($o['msisdnsType']) ) {
          foreach( $o['msisdnsType'] as $i => $x ) {
            $this->msisdnsType[$i] = $x;
          }
        }
        $this->contactGroups = array();
        if( isset($o['contactGroups']) ) {
          foreach( $o['contactGroups'] as $i => $x ) {
            $this->contactGroups[$i] = $x;
          }
        }
        if( isset($o['avatarUrl']) ) {
          $this->avatarUrl = $o["avatarUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallSyncAck  {
    
    
      /**
       * The sync operation for this call
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The (server) call id for the call.
       */
      private $callId;
      /**
       * The device call id for the call.
       */
      private $deviceCallId;

      /**
       * Constructs a UserCallSyncAck from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this call
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this call
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The (server) call id for the call.
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The (server) call id for the call.
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * The device call id for the call.
       */
      public function getDeviceCallId() {
        return $this->deviceCallId;
      }
      
      /**
       * The device call id for the call.
       */
      public function setDeviceCallId($deviceCallId) {
        $this->deviceCallId = $deviceCallId;
      }
      /**
       * Returns the associative array for this UserCallSyncAck
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        if( $this->deviceCallId ) {
          $a["deviceCallId"] = $this->deviceCallId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserCallSyncAck
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserCallSyncAck from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
        if( isset($o['deviceCallId']) ) {
          $this->deviceCallId = $o["deviceCallId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * Call Synchronization Object
     * 
     * Used to synchronize a call from server to device and vice versa.
     */
    class UserCallSync  {
    
    
      /**
       * The sync operation for this call
     * 
     * 0 .. update
     * 1 .. insert
     * 2 .. delete
       */
      private $operation;
      /**
       * The call id of the call
     * 
     * The call id will be zero for new calls from the device otherwise the call id must be greater than zero.
       */
      private $callId;
      /**
       * The device call id of the call
     * 
     * The device call id will be zero for new calls from the server otherwise the device call id must be greater than zero.
       */
      private $deviceCallId;
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
     * (20 chars allowed, more will be truncated)
       */
      private $address;
      /**
       * The call direction (incoming or outgoing) state
       */
      private $incoming;
      /**
       * The call read state
       */
      private $read;
      /**
       * The duration of the call in seconds
       */
      private $duration;
      /**
       * The status of the call
     * 
     * 0 .. ringing
     * 1 .. active
     * 2 .. complete
     * 3 .. missed
       */
      private $status;
      /**
       * The date when the call was initiated
       */
      private $dateCall;

      /**
       * Constructs a UserCallSync from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sync operation for this call
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function getOperation() {
        return $this->operation;
      }
      
      /**
       * The sync operation for this call
       * 
       * 0 .. update
       * 1 .. insert
       * 2 .. delete
       */
      public function setOperation($operation) {
        $this->operation = $operation;
      }
      /**
       * The call id of the call
       * 
       * The call id will be zero for new calls from the device otherwise the call id must be greater than zero.
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The call id of the call
       * 
       * The call id will be zero for new calls from the device otherwise the call id must be greater than zero.
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * The device call id of the call
       * 
       * The device call id will be zero for new calls from the server otherwise the device call id must be greater than zero.
       */
      public function getDeviceCallId() {
        return $this->deviceCallId;
      }
      
      /**
       * The device call id of the call
       * 
       * The device call id will be zero for new calls from the server otherwise the device call id must be greater than zero.
       */
      public function setDeviceCallId($deviceCallId) {
        $this->deviceCallId = $deviceCallId;
      }
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       * (20 chars allowed, more will be truncated)
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       * (20 chars allowed, more will be truncated)
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The call direction (incoming or outgoing) state
       */
      public function getIncoming() {
        return $this->incoming;
      }
      
      /**
       * The call direction (incoming or outgoing) state
       */
      public function setIncoming($incoming) {
        $this->incoming = $incoming;
      }
      /**
       * The call read state
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * The call read state
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * The duration of the call in seconds
       */
      public function getDuration() {
        return $this->duration;
      }
      
      /**
       * The duration of the call in seconds
       */
      public function setDuration($duration) {
        $this->duration = $duration;
      }
      /**
       * The status of the call
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the call
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date when the call was initiated
       */
      public function getDateCall() {
        return $this->dateCall;
      }
      
      /**
       * The date when the call was initiated
       */
      public function setDateCall($dateCall) {
        $this->dateCall = $dateCall;
      }
      /**
       * Returns the associative array for this UserCallSync
       */
      public function toArray() {
        $a = array();
        if( $this->operation ) {
          $a["operation"] = $this->operation;
        }
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        if( $this->deviceCallId ) {
          $a["deviceCallId"] = $this->deviceCallId;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->incoming ) {
          $a["incoming"] = $this->incoming;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->duration ) {
          $a["duration"] = $this->duration;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateCall ) {
          $a["dateCall"] = $this->dateCall;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this UserCallSync
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this UserCallSync from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['operation']) ) {
          $this->operation = $o["operation"];
        }
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
        if( isset($o['deviceCallId']) ) {
          $this->deviceCallId = $o["deviceCallId"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['incoming']) ) {
          $this->incoming = $o["incoming"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['duration']) ) {
          $this->duration = $o["duration"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateCall']) ) {
          $this->dateCall = $o["dateCall"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsSendAck  {
    
    
      /**
       * The msisdn of the recipient
       */
      private $recipient;
      /**
       * The (server) message id for the message if one was created.
       */
      private $messageId;

      /**
       * Constructs a RemoteSmsSendAck from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn of the recipient
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The msisdn of the recipient
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * The (server) message id for the message if one was created.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id for the message if one was created.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this RemoteSmsSendAck
       */
      public function toArray() {
        $a = array();
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this RemoteSmsSendAck
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this RemoteSmsSendAck from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigProduct  {
    
    
      /**
       * The product id
       */
      private $id;
      /**
       * The country id for this product
       */
      private $countryId;
      /**
       * The product type
     * 
     * sms0 .. domestic sms
     * sms1 .. foreign sms
     * credit .. sms credit
     * subscription .. sms subscription
       */
      private $type;
      /**
       * The name of the product
       */
      private $name;
      /**
       * The length of a period in months if it is a subscription product
       */
      private $subscriptionLength;
      /**
       * The price of the product
       */
      private $price;
      /**
       * Is the product available for purchase
       */
      private $available;
      /**
       * The code of the product if set
       */
      private $code;

      /**
       * Constructs a ConfigProduct from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The product id
       */
      public function getId() {
        return $this->id;
      }
      
      /**
       * The product id
       */
      public function setId($id) {
        $this->id = $id;
      }
      /**
       * The country id for this product
       */
      public function getCountryId() {
        return $this->countryId;
      }
      
      /**
       * The country id for this product
       */
      public function setCountryId($countryId) {
        $this->countryId = $countryId;
      }
      /**
       * The product type
       * 
       * sms0 .. domestic sms
       * sms1 .. foreign sms
       * credit .. sms credit
       * subscription .. sms subscription
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The product type
       * 
       * sms0 .. domestic sms
       * sms1 .. foreign sms
       * credit .. sms credit
       * subscription .. sms subscription
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The name of the product
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the product
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The length of a period in months if it is a subscription product
       */
      public function getSubscriptionLength() {
        return $this->subscriptionLength;
      }
      
      /**
       * The length of a period in months if it is a subscription product
       */
      public function setSubscriptionLength($subscriptionLength) {
        $this->subscriptionLength = $subscriptionLength;
      }
      /**
       * The price of the product
       */
      public function getPrice() {
        return $this->price;
      }
      
      /**
       * The price of the product
       */
      public function setPrice($price) {
        $this->price = $price;
      }
      /**
       * Is the product available for purchase
       */
      public function getAvailable() {
        return $this->available;
      }
      
      /**
       * Is the product available for purchase
       */
      public function setAvailable($available) {
        $this->available = $available;
      }
      /**
       * The code of the product if set
       */
      public function getCode() {
        return $this->code;
      }
      
      /**
       * The code of the product if set
       */
      public function setCode($code) {
        $this->code = $code;
      }
      /**
       * Returns the associative array for this ConfigProduct
       */
      public function toArray() {
        $a = array();
        if( $this->id ) {
          $a["id"] = $this->id;
        }
        if( $this->countryId ) {
          $a["countryId"] = $this->countryId;
        }
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->subscriptionLength ) {
          $a["subscriptionLength"] = $this->subscriptionLength;
        }
        if( $this->price ) {
          $a["price"] = $this->price;
        }
        if( $this->available ) {
          $a["available"] = $this->available;
        }
        if( $this->code ) {
          $a["code"] = $this->code;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this ConfigProduct
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this ConfigProduct from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['id']) ) {
          $this->id = $o["id"];
        }
        if( isset($o['countryId']) ) {
          $this->countryId = $o["countryId"];
        }
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['subscriptionLength']) ) {
          $this->subscriptionLength = $o["subscriptionLength"];
        }
        if( isset($o['price']) ) {
          $this->price = $o["price"];
        }
        if( isset($o['available']) ) {
          $this->available = $o["available"];
        }
        if( isset($o['code']) ) {
          $this->code = $o["code"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain {

    /**
     * 
     */
    class Request  {
    
    
      /**
       * 
       */
      private $apiKey;

      /**
       * Constructs a Request from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * 
       */
      public function getApiKey() {
        return $this->apiKey;
      }
      
      /**
       * 
       */
      public function setApiKey($apiKey) {
        $this->apiKey = $apiKey;
      }
      /**
       * Returns the associative array for this Request
       */
      public function toArray() {
        $a = array();
        if( $this->apiKey ) {
          $a["apiKey"] = $this->apiKey;
        }
        return $a;
      }
      
      /**
       * Returns the JSON string for this Request
       */
      public function toJson() {
        return json_encode($this->toArray());
      }

      /**
       * Initializes this Request from an associative array
       */
      public function initFromArray($o) {
        if( isset($o['apiKey']) ) {
          $this->apiKey = $o["apiKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentAllowMsisdnsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a AttachmentAllowMsisdnsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this AttachmentAllowMsisdnsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this AttachmentAllowMsisdnsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created attachment key
       */
      private $attachmentKey;

      /**
       * Constructs a AttachmentCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created attachment key
       */
      public function getAttachmentKey() {
        return $this->attachmentKey;
      }
      
      /**
       * The newly created attachment key
       */
      public function setAttachmentKey($attachmentKey) {
        $this->attachmentKey = $attachmentKey;
      }
      /**
       * Returns the associative array for this AttachmentCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->attachmentKey ) {
          $a["attachmentKey"] = $this->attachmentKey;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['attachmentKey']) ) {
          $this->attachmentKey = $o["attachmentKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigGetCountriesRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * 
       */
      private $code;
      /**
       * null
       */
      private $authToken;

      /**
       * Constructs a ConfigGetCountriesRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * 
       */
      public function getCode() {
        return $this->code;
      }
      
      /**
       * 
       */
      public function setCode($code) {
        $this->code = $code;
      }
      /**
       * null
       */
      public function getAuthToken() {
        return $this->authToken;
      }
      
      /**
       * null
       */
      public function setAuthToken($authToken) {
        $this->authToken = $authToken;
      }
      /**
       * Returns the associative array for this ConfigGetCountriesRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->code ) {
          $a["code"] = $this->code;
        }
        if( $this->authToken ) {
          $a["authToken"] = $this->authToken;
        }
        return $a;
      }
      

      /**
       * Initializes this ConfigGetCountriesRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['code']) ) {
          $this->code = $o["code"];
        }
        if( isset($o['authToken']) ) {
          $this->authToken = $o["authToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigGetCountriesResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * (no documentation provided)
       */
      private $countries;

      /**
       * Constructs a ConfigGetCountriesResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getCountries() {
        return $this->countries;
      }
      
      /**
       * (no documentation provided)
       */
      public function setCountries($countries) {
        $this->countries = $countries;
      }
      /**
       * Returns the associative array for this ConfigGetCountriesResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->countries ) {
          $ab = array();
          foreach( $this->countries as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['countries'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this ConfigGetCountriesResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->countries = array();
        if( isset($o['countries']) ) {
          foreach( $o['countries'] as $i => $x ) {
            $this->countries[$i] = new \Com\Mysms\Api\Domain\Config\ConfigCountry($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\CrmMessage {

    /**
     * 
     */
    class CrmMessageClickedResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a CrmMessageClickedResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this CrmMessageClickedResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this CrmMessageClickedResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\CrmMessage {

    /**
     * 
     */
    class CrmMessageViewedResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a CrmMessageViewedResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this CrmMessageViewedResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this CrmMessageViewedResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountConnectResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a ExternalAccountConnectResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this ExternalAccountConnectResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountConnectResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountCreateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The type of the account
     * &lt;p/&gt;
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth token of the external account
       */
      private $oauthToken;
      /**
       * The optional refresh token of the external account
       */
      private $refreshToken;
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      private $countryCode;

      /**
       * Constructs a ExternalAccountCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth token of the external account
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The oauth token of the external account
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * The optional refresh token of the external account
       */
      public function getRefreshToken() {
        return $this->refreshToken;
      }
      
      /**
       * The optional refresh token of the external account
       */
      public function setRefreshToken($refreshToken) {
        $this->refreshToken = $refreshToken;
      }
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      public function getCountryCode() {
        return $this->countryCode;
      }
      
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      public function setCountryCode($countryCode) {
        $this->countryCode = $countryCode;
      }
      /**
       * Returns the associative array for this ExternalAccountCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        if( $this->refreshToken ) {
          $a["refreshToken"] = $this->refreshToken;
        }
        if( $this->countryCode ) {
          $a["countryCode"] = $this->countryCode;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
        if( isset($o['refreshToken']) ) {
          $this->refreshToken = $o["refreshToken"];
        }
        if( isset($o['countryCode']) ) {
          $this->countryCode = $o["countryCode"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountDeleteResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a ExternalAccountDeleteResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this ExternalAccountDeleteResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountDeleteResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountDisconnectResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a ExternalAccountDisconnectResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this ExternalAccountDisconnectResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountDisconnectResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountGetTokenResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly refreshed access token.
       */
      private $accessToken;

      /**
       * Constructs a ExternalAccountGetTokenResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly refreshed access token.
       */
      public function getAccessToken() {
        return $this->accessToken;
      }
      
      /**
       * The newly refreshed access token.
       */
      public function setAccessToken($accessToken) {
        $this->accessToken = $accessToken;
      }
      /**
       * Returns the associative array for this ExternalAccountGetTokenResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->accessToken ) {
          $a["accessToken"] = $this->accessToken;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountGetTokenResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['accessToken']) ) {
          $this->accessToken = $o["accessToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountInitiateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The oauth authorize url where the user needs to enter his credentials
       */
      private $oauthAuthorizeUrl;

      /**
       * Constructs a ExternalAccountInitiateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The oauth authorize url where the user needs to enter his credentials
       */
      public function getOauthAuthorizeUrl() {
        return $this->oauthAuthorizeUrl;
      }
      
      /**
       * The oauth authorize url where the user needs to enter his credentials
       */
      public function setOauthAuthorizeUrl($oauthAuthorizeUrl) {
        $this->oauthAuthorizeUrl = $oauthAuthorizeUrl;
      }
      /**
       * Returns the associative array for this ExternalAccountInitiateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->oauthAuthorizeUrl ) {
          $a["oauthAuthorizeUrl"] = $this->oauthAuthorizeUrl;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountInitiateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['oauthAuthorizeUrl']) ) {
          $this->oauthAuthorizeUrl = $o["oauthAuthorizeUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountLoginResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The authentication token
       */
      private $authToken;
      /**
       * The info which can be configured per api key.
       */
      private $info;
      /**
       * The date when the user was last verified
       */
      private $dateVerified;
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      private $countryCode;
      /**
       * The international dial prefix {http://en.wikipedia.org/wiki/List_of_country_calling_codes} for the home country of this account
       */
      private $dialPrefix;
      /**
       * The iso currency code {http://en.wikipedia.org/wiki/ISO_currency_code}
       */
      private $currencyCode;
      /**
       * The email of the external account if available.
       */
      private $email;

      /**
       * Constructs a ExternalAccountLoginResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The authentication token
       */
      public function getAuthToken() {
        return $this->authToken;
      }
      
      /**
       * The authentication token
       */
      public function setAuthToken($authToken) {
        $this->authToken = $authToken;
      }
      /**
       * The info which can be configured per api key.
       */
      public function getInfo() {
        return $this->info;
      }
      
      /**
       * The info which can be configured per api key.
       */
      public function setInfo($info) {
        $this->info = $info;
      }
      /**
       * The date when the user was last verified
       */
      public function getDateVerified() {
        return $this->dateVerified;
      }
      
      /**
       * The date when the user was last verified
       */
      public function setDateVerified($dateVerified) {
        $this->dateVerified = $dateVerified;
      }
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      public function getCountryCode() {
        return $this->countryCode;
      }
      
      /**
       * The iso country code {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2}
       */
      public function setCountryCode($countryCode) {
        $this->countryCode = $countryCode;
      }
      /**
       * The international dial prefix {http://en.wikipedia.org/wiki/List_of_country_calling_codes} for the home country of this account
       */
      public function getDialPrefix() {
        return $this->dialPrefix;
      }
      
      /**
       * The international dial prefix {http://en.wikipedia.org/wiki/List_of_country_calling_codes} for the home country of this account
       */
      public function setDialPrefix($dialPrefix) {
        $this->dialPrefix = $dialPrefix;
      }
      /**
       * The iso currency code {http://en.wikipedia.org/wiki/ISO_currency_code}
       */
      public function getCurrencyCode() {
        return $this->currencyCode;
      }
      
      /**
       * The iso currency code {http://en.wikipedia.org/wiki/ISO_currency_code}
       */
      public function setCurrencyCode($currencyCode) {
        $this->currencyCode = $currencyCode;
      }
      /**
       * The email of the external account if available.
       */
      public function getEmail() {
        return $this->email;
      }
      
      /**
       * The email of the external account if available.
       */
      public function setEmail($email) {
        $this->email = $email;
      }
      /**
       * Returns the associative array for this ExternalAccountLoginResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->authToken ) {
          $a["authToken"] = $this->authToken;
        }
        if( $this->info ) {
          $a["info"] = $this->info;
        }
        if( $this->dateVerified ) {
          $a["dateVerified"] = $this->dateVerified;
        }
        if( $this->countryCode ) {
          $a["countryCode"] = $this->countryCode;
        }
        if( $this->dialPrefix ) {
          $a["dialPrefix"] = $this->dialPrefix;
        }
        if( $this->currencyCode ) {
          $a["currencyCode"] = $this->currencyCode;
        }
        if( $this->email ) {
          $a["email"] = $this->email;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountLoginResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['authToken']) ) {
          $this->authToken = $o["authToken"];
        }
        if( isset($o['info']) ) {
          $this->info = $o["info"];
        }
        if( isset($o['dateVerified']) ) {
          $this->dateVerified = $o["dateVerified"];
        }
        if( isset($o['countryCode']) ) {
          $this->countryCode = $o["countryCode"];
        }
        if( isset($o['dialPrefix']) ) {
          $this->dialPrefix = $o["dialPrefix"];
        }
        if( isset($o['currencyCode']) ) {
          $this->currencyCode = $o["currencyCode"];
        }
        if( isset($o['email']) ) {
          $this->email = $o["email"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountValidateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The validated oauth token, which can be used to login, connect or disconnect
       */
      private $oauthToken;

      /**
       * Constructs a ExternalAccountValidateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The validated oauth token, which can be used to login, connect or disconnect
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The validated oauth token, which can be used to login, connect or disconnect
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * Returns the associative array for this ExternalAccountValidateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountValidateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Feedback {

    /**
     * 
     */
    class FeedbackSendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a FeedbackSendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this FeedbackSendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this FeedbackSendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The group id of newly created group.
       */
      private $groupId;

      /**
       * Constructs a GroupCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of newly created group.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of newly created group.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * Returns the associative array for this GroupCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupGetGroupsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The groups of the authenticated user.
       */
      private $groups;

      /**
       * Constructs a GroupGetGroupsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The groups of the authenticated user.
       */
      public function getGroups() {
        return $this->groups;
      }
      
      /**
       * The groups of the authenticated user.
       */
      public function setGroups($groups) {
        $this->groups = $groups;
      }
      /**
       * Returns the associative array for this GroupGetGroupsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groups ) {
          $ab = array();
          foreach( $this->groups as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['groups'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupGetGroupsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->groups = array();
        if( isset($o['groups']) ) {
          foreach( $o['groups'] as $i => $x ) {
            $this->groups[$i] = new \Com\Mysms\Api\Domain\Group\Group($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupGetUsersResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The msisdns of the group user's in international format (436761234567).
       */
      private $msisdns;

      /**
       * Constructs a GroupGetUsersResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdns of the group user's in international format (436761234567).
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdns of the group user's in international format (436761234567).
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * Returns the associative array for this GroupGetUsersResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupGetUsersResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupInviteUsersResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a GroupInviteUsersResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this GroupInviteUsersResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this GroupInviteUsersResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupLeaveResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a GroupLeaveResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this GroupLeaveResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this GroupLeaveResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupRenameResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a GroupRenameResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this GroupRenameResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this GroupRenameResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Message {

    /**
     * 
     */
    class MessageSendRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * (no documentation provided)
       */
      private $msisdn;
      /**
       * (no documentation provided)
       */
      private $password;
      /**
       * The recipient in international format (+436761234567)
       */
      private $recipient;
      /**
       * The message to send
       */
      private $message;
      /**
       * The optional date when the message should be delivered.
     * If not given it will be delivered immediately.
       */
      private $dateSendOn;

      /**
       * Constructs a MessageSendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * (no documentation provided)
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * (no documentation provided)
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * The recipient in international format (+436761234567)
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The recipient in international format (+436761234567)
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * The message to send
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function getDateSendOn() {
        return $this->dateSendOn;
      }
      
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function setDateSendOn($dateSendOn) {
        $this->dateSendOn = $dateSendOn;
      }
      /**
       * Returns the associative array for this MessageSendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->dateSendOn ) {
          $a["dateSendOn"] = $this->dateSendOn;
        }
        return $a;
      }
      

      /**
       * Initializes this MessageSendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['dateSendOn']) ) {
          $this->dateSendOn = $o["dateSendOn"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCallRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The msisdn to verify
       */
      private $msisdn;

      /**
       * Constructs a MsisdnVerifyCallRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn to verify
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The msisdn to verify
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCallRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCallRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCheckKeyRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The key to check
       */
      private $key;

      /**
       * Constructs a MsisdnVerifyCheckKeyRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The key to check
       */
      public function getKey() {
        return $this->key;
      }
      
      /**
       * The key to check
       */
      public function setKey($key) {
        $this->key = $key;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCheckKeyRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->key ) {
          $a["key"] = $this->key;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCheckKeyRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['key']) ) {
          $this->key = $o["key"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCheckPinRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The msisdn to verify
       */
      private $msisdn;
      /**
       * The pin to check
       */
      private $pin;

      /**
       * Constructs a MsisdnVerifyCheckPinRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn to verify
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The msisdn to verify
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The pin to check
       */
      public function getPin() {
        return $this->pin;
      }
      
      /**
       * The pin to check
       */
      public function setPin($pin) {
        $this->pin = $pin;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCheckPinRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->pin ) {
          $a["pin"] = $this->pin;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCheckPinRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['pin']) ) {
          $this->pin = $o["pin"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCreateKeyRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The msisdn's sim provider (optional)
       */
      private $provider;

      /**
       * Constructs a MsisdnVerifyCreateKeyRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn's sim provider (optional)
       */
      public function getProvider() {
        return $this->provider;
      }
      
      /**
       * The msisdn's sim provider (optional)
       */
      public function setProvider($provider) {
        $this->provider = $provider;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCreateKeyRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->provider ) {
          $a["provider"] = $this->provider;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCreateKeyRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['provider']) ) {
          $this->provider = $o["provider"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The msisdn to verify
       */
      private $msisdn;
      /**
       * If set the verify pin is send as flash sms
       */
      private $flashSms;

      /**
       * Constructs a MsisdnVerifyRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn to verify
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The msisdn to verify
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * If set the verify pin is send as flash sms
       */
      public function getFlashSms() {
        return $this->flashSms;
      }
      
      /**
       * If set the verify pin is send as flash sms
       */
      public function setFlashSms($flashSms) {
        $this->flashSms = $flashSms;
      }
      /**
       * Returns the associative array for this MsisdnVerifyRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->flashSms ) {
          $a["flashSms"] = $this->flashSms;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['flashSms']) ) {
          $this->flashSms = $o["flashSms"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyStatusRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The msisdn to verify
       */
      private $msisdn;

      /**
       * Constructs a MsisdnVerifyStatusRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn to verify
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The msisdn to verify
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * Returns the associative array for this MsisdnVerifyStatusRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyStatusRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ProUser {

    /**
     * 
     */
    class ProUserAddRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The pro type that should be checked&lt;br/&gt;
     * &lt;br/&gt;
     * 1 .. Android Tablet&lt;br/&gt;
       */
      private $proType;
      /**
       * The external id the pro user belongs to
       */
      private $externalId;

      /**
       * Constructs a ProUserAddRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The pro type that should be checked&lt;br/&gt;
       * &lt;br/&gt;
       * 1 .. Android Tablet&lt;br/&gt;
       */
      public function getProType() {
        return $this->proType;
      }
      
      /**
       * The pro type that should be checked&lt;br/&gt;
       * &lt;br/&gt;
       * 1 .. Android Tablet&lt;br/&gt;
       */
      public function setProType($proType) {
        $this->proType = $proType;
      }
      /**
       * The external id the pro user belongs to
       */
      public function getExternalId() {
        return $this->externalId;
      }
      
      /**
       * The external id the pro user belongs to
       */
      public function setExternalId($externalId) {
        $this->externalId = $externalId;
      }
      /**
       * Returns the associative array for this ProUserAddRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->proType ) {
          $a["proType"] = $this->proType;
        }
        if( $this->externalId ) {
          $a["externalId"] = $this->externalId;
        }
        return $a;
      }
      

      /**
       * Initializes this ProUserAddRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['proType']) ) {
          $this->proType = $o["proType"];
        }
        if( isset($o['externalId']) ) {
          $this->externalId = $o["externalId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ProUser {

    /**
     * 
     */
    class ProUserCheckRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The pro type that should be checked&lt;br/&gt;
     * &lt;br/&gt;
     * 1 .. Android Tablet&lt;br/&gt;
       */
      private $proType;
      /**
       * The external ids that should be checked
       */
      private $externalIds;

      /**
       * Constructs a ProUserCheckRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The pro type that should be checked&lt;br/&gt;
       * &lt;br/&gt;
       * 1 .. Android Tablet&lt;br/&gt;
       */
      public function getProType() {
        return $this->proType;
      }
      
      /**
       * The pro type that should be checked&lt;br/&gt;
       * &lt;br/&gt;
       * 1 .. Android Tablet&lt;br/&gt;
       */
      public function setProType($proType) {
        $this->proType = $proType;
      }
      /**
       * The external ids that should be checked
       */
      public function getExternalIds() {
        return $this->externalIds;
      }
      
      /**
       * The external ids that should be checked
       */
      public function setExternalIds($externalIds) {
        $this->externalIds = $externalIds;
      }
      /**
       * Returns the associative array for this ProUserCheckRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->proType ) {
          $a["proType"] = $this->proType;
        }
        if( $this->externalIds ) {
          $ab = array();
          foreach( $this->externalIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['externalIds'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this ProUserCheckRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['proType']) ) {
          $this->proType = $o["proType"];
        }
        $this->externalIds = array();
        if( isset($o['externalIds']) ) {
          foreach( $o['externalIds'] as $i => $x ) {
            $this->externalIds[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationActivateMsisdnRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      private $msisdnVerifyPin;

      /**
       * Constructs a RegistrationActivateMsisdnRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function getMsisdnVerifyPin() {
        return $this->msisdnVerifyPin;
      }
      
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function setMsisdnVerifyPin($msisdnVerifyPin) {
        $this->msisdnVerifyPin = $msisdnVerifyPin;
      }
      /**
       * Returns the associative array for this RegistrationActivateMsisdnRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->msisdnVerifyPin ) {
          $a["msisdnVerifyPin"] = $this->msisdnVerifyPin;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationActivateMsisdnRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['msisdnVerifyPin']) ) {
          $this->msisdnVerifyPin = $o["msisdnVerifyPin"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationActivateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The registration key send to the they user or was sent by the user via sms.
       */
      private $registrationKey;

      /**
       * Constructs a RegistrationActivateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registration key send to the they user or was sent by the user via sms.
       */
      public function getRegistrationKey() {
        return $this->registrationKey;
      }
      
      /**
       * The registration key send to the they user or was sent by the user via sms.
       */
      public function setRegistrationKey($registrationKey) {
        $this->registrationKey = $registrationKey;
      }
      /**
       * Returns the associative array for this RegistrationActivateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->registrationKey ) {
          $a["registrationKey"] = $this->registrationKey;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationActivateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['registrationKey']) ) {
          $this->registrationKey = $o["registrationKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCheckMsisdnRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;

      /**
       * Constructs a RegistrationCheckMsisdnRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * Returns the associative array for this RegistrationCheckMsisdnRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationCheckMsisdnRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCreateKeyRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The registration's password
       */
      private $password;
      /**
       * The registration's sim provider (optional)
       */
      private $provider;

      /**
       * Constructs a RegistrationCreateKeyRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registration's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The registration's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * The registration's sim provider (optional)
       */
      public function getProvider() {
        return $this->provider;
      }
      
      /**
       * The registration's sim provider (optional)
       */
      public function setProvider($provider) {
        $this->provider = $provider;
      }
      /**
       * Returns the associative array for this RegistrationCreateKeyRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        if( $this->provider ) {
          $a["provider"] = $this->provider;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationCreateKeyRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
        if( isset($o['provider']) ) {
          $this->provider = $o["provider"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCreateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The registration's mobile number that needs to be verified
       */
      private $msisdn;
      /**
       * The registration's password
       */
      private $password;
      /**
       * True if the parameter should be checked without trigger a registration.
       */
      private $test;

      /**
       * Constructs a RegistrationCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registration's mobile number that needs to be verified
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The registration's mobile number that needs to be verified
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The registration's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The registration's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * True if the parameter should be checked without trigger a registration.
       */
      public function getTest() {
        return $this->test;
      }
      
      /**
       * True if the parameter should be checked without trigger a registration.
       */
      public function setTest($test) {
        $this->test = $test;
      }
      /**
       * Returns the associative array for this RegistrationCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        if( $this->test ) {
          $a["test"] = $this->test;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
        if( isset($o['test']) ) {
          $this->test = $o["test"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RegistrationCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RegistrationCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RegistrationCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallControlResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RemoteCallControlResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RemoteCallControlResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RemoteCallControlResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallFailedResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RemoteCallFailedResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RemoteCallFailedResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RemoteCallFailedResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallInitiateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The request id of the remote sms send request.
       */
      private $requestId;

      /**
       * Constructs a RemoteCallInitiateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The request id of the remote sms send request.
       */
      public function getRequestId() {
        return $this->requestId;
      }
      
      /**
       * The request id of the remote sms send request.
       */
      public function setRequestId($requestId) {
        $this->requestId = $requestId;
      }
      /**
       * Returns the associative array for this RemoteCallInitiateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->requestId ) {
          $a["requestId"] = $this->requestId;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteCallInitiateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['requestId']) ) {
          $this->requestId = $o["requestId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsCancelResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RemoteSmsCancelResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RemoteSmsCancelResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsCancelResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsFailedResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RemoteSmsFailedResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RemoteSmsFailedResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsFailedResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsSendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The request id of the remote sms send request.
       */
      private $requestId;
      /**
       * The date when the message was sent
       */
      private $dateSent;
      /**
       * The acknowledge of sent messages.
       */
      private $remoteSmsSendAcks;

      /**
       * Constructs a RemoteSmsSendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The request id of the remote sms send request.
       */
      public function getRequestId() {
        return $this->requestId;
      }
      
      /**
       * The request id of the remote sms send request.
       */
      public function setRequestId($requestId) {
        $this->requestId = $requestId;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * The acknowledge of sent messages.
       */
      public function getRemoteSmsSendAcks() {
        return $this->remoteSmsSendAcks;
      }
      
      /**
       * The acknowledge of sent messages.
       */
      public function setRemoteSmsSendAcks($remoteSmsSendAcks) {
        $this->remoteSmsSendAcks = $remoteSmsSendAcks;
      }
      /**
       * Returns the associative array for this RemoteSmsSendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->requestId ) {
          $a["requestId"] = $this->requestId;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        if( $this->remoteSmsSendAcks ) {
          $ab = array();
          foreach( $this->remoteSmsSendAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['remoteSmsSendAcks'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsSendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['requestId']) ) {
          $this->requestId = $o["requestId"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
        $this->remoteSmsSendAcks = array();
        if( isset($o['remoteSmsSendAcks']) ) {
          foreach( $o['remoteSmsSendAcks'] as $i => $x ) {
            $this->remoteSmsSendAcks[$i] = new \Com\Mysms\Api\Domain\RemoteSms\RemoteSmsSendAck($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsSentResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The (server) message id for the message.
       */
      private $messageId;

      /**
       * Constructs a RemoteSmsSentResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The (server) message id for the message.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id for the message.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this RemoteSmsSentResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsSentResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopCheckPaymentResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * This is true if the payment was successful, otherwise the payment needs
     * perhaps a redirect or some time too complete.
       */
      private $payed;
      /**
       * The redirect url where to user should go with a browser to complete the request.
     * After completion (ok or nok) the browser window will be closed. Use the check payment
     * request to get status.
       */
      private $redirectUrl;

      /**
       * Constructs a ShopCheckPaymentResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * This is true if the payment was successful, otherwise the payment needs
       * perhaps a redirect or some time too complete.
       */
      public function getPayed() {
        return $this->payed;
      }
      
      /**
       * This is true if the payment was successful, otherwise the payment needs
       * perhaps a redirect or some time too complete.
       */
      public function setPayed($payed) {
        $this->payed = $payed;
      }
      /**
       * The redirect url where to user should go with a browser to complete the request.
       * After completion (ok or nok) the browser window will be closed. Use the check payment
       * request to get status.
       */
      public function getRedirectUrl() {
        return $this->redirectUrl;
      }
      
      /**
       * The redirect url where to user should go with a browser to complete the request.
       * After completion (ok or nok) the browser window will be closed. Use the check payment
       * request to get status.
       */
      public function setRedirectUrl($redirectUrl) {
        $this->redirectUrl = $redirectUrl;
      }
      /**
       * Returns the associative array for this ShopCheckPaymentResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->payed ) {
          $a["payed"] = $this->payed;
        }
        if( $this->redirectUrl ) {
          $a["redirectUrl"] = $this->redirectUrl;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopCheckPaymentResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['payed']) ) {
          $this->payed = $o["payed"];
        }
        if( isset($o['redirectUrl']) ) {
          $this->redirectUrl = $o["redirectUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopGetPaymentMethodsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * (no documentation provided)
       */
      private $paymentMethods;

      /**
       * Constructs a ShopGetPaymentMethodsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getPaymentMethods() {
        return $this->paymentMethods;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPaymentMethods($paymentMethods) {
        $this->paymentMethods = $paymentMethods;
      }
      /**
       * Returns the associative array for this ShopGetPaymentMethodsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->paymentMethods ) {
          $ab = array();
          foreach( $this->paymentMethods as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['paymentMethods'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopGetPaymentMethodsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->paymentMethods = array();
        if( isset($o['paymentMethods']) ) {
          foreach( $o['paymentMethods'] as $i => $x ) {
            $this->paymentMethods[$i] = new \Com\Mysms\Api\Domain\Shop\ShopPaymentMethod($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopRedeemTokenResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * Gives the amount of free sms that ware added to the balance for this token.
       */
      private $smsFree;
      /**
       * Gives the amount of months the subscription is activated for this token.
       */
      private $subscriptionLength;

      /**
       * Constructs a ShopRedeemTokenResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Gives the amount of free sms that ware added to the balance for this token.
       */
      public function getSmsFree() {
        return $this->smsFree;
      }
      
      /**
       * Gives the amount of free sms that ware added to the balance for this token.
       */
      public function setSmsFree($smsFree) {
        $this->smsFree = $smsFree;
      }
      /**
       * Gives the amount of months the subscription is activated for this token.
       */
      public function getSubscriptionLength() {
        return $this->subscriptionLength;
      }
      
      /**
       * Gives the amount of months the subscription is activated for this token.
       */
      public function setSubscriptionLength($subscriptionLength) {
        $this->subscriptionLength = $subscriptionLength;
      }
      /**
       * Returns the associative array for this ShopRedeemTokenResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsFree ) {
          $a["smsFree"] = $this->smsFree;
        }
        if( $this->subscriptionLength ) {
          $a["subscriptionLength"] = $this->subscriptionLength;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopRedeemTokenResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsFree']) ) {
          $this->smsFree = $o["smsFree"];
        }
        if( isset($o['subscriptionLength']) ) {
          $this->subscriptionLength = $o["subscriptionLength"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Sms {

    /**
     * 
     */
    class SmsSendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The number of sent sms
       */
      private $sent;
      /**
       * The date when the message was sent
       */
      private $dateSent;
      /**
       * The acknowledge of sent messages.
       */
      private $smsSendAcks;

      /**
       * Constructs a SmsSendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The number of sent sms
       */
      public function getSent() {
        return $this->sent;
      }
      
      /**
       * The number of sent sms
       */
      public function setSent($sent) {
        $this->sent = $sent;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * The acknowledge of sent messages.
       */
      public function getSmsSendAcks() {
        return $this->smsSendAcks;
      }
      
      /**
       * The acknowledge of sent messages.
       */
      public function setSmsSendAcks($smsSendAcks) {
        $this->smsSendAcks = $smsSendAcks;
      }
      /**
       * Returns the associative array for this SmsSendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->sent ) {
          $a["sent"] = $this->sent;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        if( $this->smsSendAcks ) {
          $ab = array();
          foreach( $this->smsSendAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['smsSendAcks'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsSendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['sent']) ) {
          $this->sent = $o["sent"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
        $this->smsSendAcks = array();
        if( isset($o['smsSendAcks']) ) {
          foreach( $o['smsSendAcks'] as $i => $x ) {
            $this->smsSendAcks[$i] = new \Com\Mysms\Api\Domain\Sms\SmsSendAck($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Sms {

    /**
     * 
     */
    class SmsSendSponsoredResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a SmsSendSponsoredResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this SmsSendSponsoredResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this SmsSendSponsoredResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\SmsConnector {

    /**
     * 
     */
    class SmsConnectorCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created sms connector
       */
      private $smsConnector;

      /**
       * Constructs a SmsConnectorCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created sms connector
       */
      public function getSmsConnector() {
        return $this->smsConnector;
      }
      
      /**
       * The newly created sms connector
       */
      public function setSmsConnector($smsConnector) {
        $this->smsConnector = $smsConnector;
      }
      /**
       * Returns the associative array for this SmsConnectorCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsConnector ) {
          $a["smsConnector"] = $this->smsConnector->toArray();
        }
        return $a;
      }
      

      /**
       * Initializes this SmsConnectorCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsConnector']) ) {
          $this->smsConnector = new \Com\Mysms\Api\Domain\SmsConnector\SmsConnector($o["smsConnector"]);
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\SmsConnector {

    /**
     * 
     */
    class SmsConnectorGetConnectorsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of sms connectors.
       */
      private $connectors;

      /**
       * Constructs a SmsConnectorGetConnectorsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of sms connectors.
       */
      public function getConnectors() {
        return $this->connectors;
      }
      
      /**
       * The list of sms connectors.
       */
      public function setConnectors($connectors) {
        $this->connectors = $connectors;
      }
      /**
       * Returns the associative array for this SmsConnectorGetConnectorsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->connectors ) {
          $ab = array();
          foreach( $this->connectors as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['connectors'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsConnectorGetConnectorsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->connectors = array();
        if( isset($o['connectors']) ) {
          foreach( $o['connectors'] as $i => $x ) {
            $this->connectors[$i] = new \Com\Mysms\Api\Domain\SmsConnector\SmsConnector($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Typing {

    /**
     * 
     */
    class TypingFireEventResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a TypingFireEventResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this TypingFireEventResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this TypingFireEventResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserCreateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The user's password
       */
      private $password;
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      private $msisdnVerifyPin;

      /**
       * Constructs a UserCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The user's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The user's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function getMsisdnVerifyPin() {
        return $this->msisdnVerifyPin;
      }
      
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function setMsisdnVerifyPin($msisdnVerifyPin) {
        $this->msisdnVerifyPin = $msisdnVerifyPin;
      }
      /**
       * Returns the associative array for this UserCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        if( $this->msisdnVerifyPin ) {
          $a["msisdnVerifyPin"] = $this->msisdnVerifyPin;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
        if( isset($o['msisdnVerifyPin']) ) {
          $this->msisdnVerifyPin = $o["msisdnVerifyPin"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserDeleteResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserDeleteResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserDeleteResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserDeleteResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetBalanceResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The actual credits
       */
      private $credit;
      /**
       * The free sms count
       */
      private $freeSms;
      /**
       * The subscription sms count
       */
      private $subscriptionSms;

      /**
       * Constructs a UserGetBalanceResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The actual credits
       */
      public function getCredit() {
        return $this->credit;
      }
      
      /**
       * The actual credits
       */
      public function setCredit($credit) {
        $this->credit = $credit;
      }
      /**
       * The free sms count
       */
      public function getFreeSms() {
        return $this->freeSms;
      }
      
      /**
       * The free sms count
       */
      public function setFreeSms($freeSms) {
        $this->freeSms = $freeSms;
      }
      /**
       * The subscription sms count
       */
      public function getSubscriptionSms() {
        return $this->subscriptionSms;
      }
      
      /**
       * The subscription sms count
       */
      public function setSubscriptionSms($subscriptionSms) {
        $this->subscriptionSms = $subscriptionSms;
      }
      /**
       * Returns the associative array for this UserGetBalanceResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->credit ) {
          $a["credit"] = $this->credit;
        }
        if( $this->freeSms ) {
          $a["freeSms"] = $this->freeSms;
        }
        if( $this->subscriptionSms ) {
          $a["subscriptionSms"] = $this->subscriptionSms;
        }
        return $a;
      }
      

      /**
       * Initializes this UserGetBalanceResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['credit']) ) {
          $this->credit = $o["credit"];
        }
        if( isset($o['freeSms']) ) {
          $this->freeSms = $o["freeSms"];
        }
        if( isset($o['subscriptionSms']) ) {
          $this->subscriptionSms = $o["subscriptionSms"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetFeatureResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * Tells if remote sms is possible or not
       */
      private $remoteSmsEnabled;
      /**
       * Gives a regular expression that matches msisdn's to which sms can be send over mysms
       */
      private $smsEnabledRegex;
      /**
       * Tells if receive calls is possible or not
       */
      private $receiveCallEnabled;
      /**
       * Tells if remote call is possible or not
       */
      private $remoteCallEnabled;
      /**
       * Tells if a device is active or not
       */
      private $deviceActive;
      /**
       * Tells if the messages of a device is unreliable (no event for new messages)
       */
      private $deviceSyncUnreliable;
      /**
       * Gives the max mms size in bytes.
     * 
     * A value of zero means mms is disabled for attachments,
     * but still allowed for group messaging.
       */
      private $maxMmsSize;

      /**
       * Constructs a UserGetFeatureResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Tells if remote sms is possible or not
       */
      public function getRemoteSmsEnabled() {
        return $this->remoteSmsEnabled;
      }
      
      /**
       * Tells if remote sms is possible or not
       */
      public function setRemoteSmsEnabled($remoteSmsEnabled) {
        $this->remoteSmsEnabled = $remoteSmsEnabled;
      }
      /**
       * Gives a regular expression that matches msisdn's to which sms can be send over mysms
       */
      public function getSmsEnabledRegex() {
        return $this->smsEnabledRegex;
      }
      
      /**
       * Gives a regular expression that matches msisdn's to which sms can be send over mysms
       */
      public function setSmsEnabledRegex($smsEnabledRegex) {
        $this->smsEnabledRegex = $smsEnabledRegex;
      }
      /**
       * Tells if receive calls is possible or not
       */
      public function getReceiveCallEnabled() {
        return $this->receiveCallEnabled;
      }
      
      /**
       * Tells if receive calls is possible or not
       */
      public function setReceiveCallEnabled($receiveCallEnabled) {
        $this->receiveCallEnabled = $receiveCallEnabled;
      }
      /**
       * Tells if remote call is possible or not
       */
      public function getRemoteCallEnabled() {
        return $this->remoteCallEnabled;
      }
      
      /**
       * Tells if remote call is possible or not
       */
      public function setRemoteCallEnabled($remoteCallEnabled) {
        $this->remoteCallEnabled = $remoteCallEnabled;
      }
      /**
       * Tells if a device is active or not
       */
      public function getDeviceActive() {
        return $this->deviceActive;
      }
      
      /**
       * Tells if a device is active or not
       */
      public function setDeviceActive($deviceActive) {
        $this->deviceActive = $deviceActive;
      }
      /**
       * Tells if the messages of a device is unreliable (no event for new messages)
       */
      public function getDeviceSyncUnreliable() {
        return $this->deviceSyncUnreliable;
      }
      
      /**
       * Tells if the messages of a device is unreliable (no event for new messages)
       */
      public function setDeviceSyncUnreliable($deviceSyncUnreliable) {
        $this->deviceSyncUnreliable = $deviceSyncUnreliable;
      }
      /**
       * Gives the max mms size in bytes.
       * 
       * A value of zero means mms is disabled for attachments,
       * but still allowed for group messaging.
       */
      public function getMaxMmsSize() {
        return $this->maxMmsSize;
      }
      
      /**
       * Gives the max mms size in bytes.
       * 
       * A value of zero means mms is disabled for attachments,
       * but still allowed for group messaging.
       */
      public function setMaxMmsSize($maxMmsSize) {
        $this->maxMmsSize = $maxMmsSize;
      }
      /**
       * Returns the associative array for this UserGetFeatureResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->remoteSmsEnabled ) {
          $a["remoteSmsEnabled"] = $this->remoteSmsEnabled;
        }
        if( $this->smsEnabledRegex ) {
          $a["smsEnabledRegex"] = $this->smsEnabledRegex;
        }
        if( $this->receiveCallEnabled ) {
          $a["receiveCallEnabled"] = $this->receiveCallEnabled;
        }
        if( $this->remoteCallEnabled ) {
          $a["remoteCallEnabled"] = $this->remoteCallEnabled;
        }
        if( $this->deviceActive ) {
          $a["deviceActive"] = $this->deviceActive;
        }
        if( $this->deviceSyncUnreliable ) {
          $a["deviceSyncUnreliable"] = $this->deviceSyncUnreliable;
        }
        if( $this->maxMmsSize ) {
          $a["maxMmsSize"] = $this->maxMmsSize;
        }
        return $a;
      }
      

      /**
       * Initializes this UserGetFeatureResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['remoteSmsEnabled']) ) {
          $this->remoteSmsEnabled = $o["remoteSmsEnabled"];
        }
        if( isset($o['smsEnabledRegex']) ) {
          $this->smsEnabledRegex = $o["smsEnabledRegex"];
        }
        if( isset($o['receiveCallEnabled']) ) {
          $this->receiveCallEnabled = $o["receiveCallEnabled"];
        }
        if( isset($o['remoteCallEnabled']) ) {
          $this->remoteCallEnabled = $o["remoteCallEnabled"];
        }
        if( isset($o['deviceActive']) ) {
          $this->deviceActive = $o["deviceActive"];
        }
        if( isset($o['deviceSyncUnreliable']) ) {
          $this->deviceSyncUnreliable = $o["deviceSyncUnreliable"];
        }
        if( isset($o['maxMmsSize']) ) {
          $this->maxMmsSize = $o["maxMmsSize"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetSettingResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The actual sms routing.
     * 
     * 0: send all sms over sim
     * 1: send all sms over mysms
     * 2: send national sms over sim and international over mysms
       */
      private $smsRouting;
      /**
       * The actual signature
       */
      private $signature;
      /**
       * The account to account send enabled state
       */
      private $a2aSendEnabled;
      /**
       * The account to account receive enabled state
       */
      private $a2aReceiveEnabled;

      /**
       * Constructs a UserGetSettingResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The actual sms routing.
       * 
       * 0: send all sms over sim
       * 1: send all sms over mysms
       * 2: send national sms over sim and international over mysms
       */
      public function getSmsRouting() {
        return $this->smsRouting;
      }
      
      /**
       * The actual sms routing.
       * 
       * 0: send all sms over sim
       * 1: send all sms over mysms
       * 2: send national sms over sim and international over mysms
       */
      public function setSmsRouting($smsRouting) {
        $this->smsRouting = $smsRouting;
      }
      /**
       * The actual signature
       */
      public function getSignature() {
        return $this->signature;
      }
      
      /**
       * The actual signature
       */
      public function setSignature($signature) {
        $this->signature = $signature;
      }
      /**
       * The account to account send enabled state
       */
      public function getA2aSendEnabled() {
        return $this->a2aSendEnabled;
      }
      
      /**
       * The account to account send enabled state
       */
      public function setA2aSendEnabled($a2aSendEnabled) {
        $this->a2aSendEnabled = $a2aSendEnabled;
      }
      /**
       * The account to account receive enabled state
       */
      public function getA2aReceiveEnabled() {
        return $this->a2aReceiveEnabled;
      }
      
      /**
       * The account to account receive enabled state
       */
      public function setA2aReceiveEnabled($a2aReceiveEnabled) {
        $this->a2aReceiveEnabled = $a2aReceiveEnabled;
      }
      /**
       * Returns the associative array for this UserGetSettingResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsRouting ) {
          $a["smsRouting"] = $this->smsRouting;
        }
        if( $this->signature ) {
          $a["signature"] = $this->signature;
        }
        if( $this->a2aSendEnabled ) {
          $a["a2aSendEnabled"] = $this->a2aSendEnabled;
        }
        if( $this->a2aReceiveEnabled ) {
          $a["a2aReceiveEnabled"] = $this->a2aReceiveEnabled;
        }
        return $a;
      }
      

      /**
       * Initializes this UserGetSettingResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsRouting']) ) {
          $this->smsRouting = $o["smsRouting"];
        }
        if( isset($o['signature']) ) {
          $this->signature = $o["signature"];
        }
        if( isset($o['a2aSendEnabled']) ) {
          $this->a2aSendEnabled = $o["a2aSendEnabled"];
        }
        if( isset($o['a2aReceiveEnabled']) ) {
          $this->a2aReceiveEnabled = $o["a2aReceiveEnabled"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserLoginRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The user's password
       */
      private $password;
      /**
       * The optional key (max. 64 chars) for login check. If set and checkKey is true the key must match the last used key.
       */
      private $key;
      /**
       * If true the provided key will be checked otherwise the provided key will overwrite the old one after successful login.
       */
      private $checkKey;

      /**
       * Constructs a UserLoginRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The user's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The user's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * The optional key (max. 64 chars) for login check. If set and checkKey is true the key must match the last used key.
       */
      public function getKey() {
        return $this->key;
      }
      
      /**
       * The optional key (max. 64 chars) for login check. If set and checkKey is true the key must match the last used key.
       */
      public function setKey($key) {
        $this->key = $key;
      }
      /**
       * If true the provided key will be checked otherwise the provided key will overwrite the old one after successful login.
       */
      public function getCheckKey() {
        return $this->checkKey;
      }
      
      /**
       * If true the provided key will be checked otherwise the provided key will overwrite the old one after successful login.
       */
      public function setCheckKey($checkKey) {
        $this->checkKey = $checkKey;
      }
      /**
       * Returns the associative array for this UserLoginRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        if( $this->key ) {
          $a["key"] = $this->key;
        }
        if( $this->checkKey ) {
          $a["checkKey"] = $this->checkKey;
        }
        return $a;
      }
      

      /**
       * Initializes this UserLoginRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
        if( isset($o['key']) ) {
          $this->key = $o["key"];
        }
        if( isset($o['checkKey']) ) {
          $this->checkKey = $o["checkKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserResetPasswordRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * If set the new password is send as flash sms
       */
      private $flashSms;

      /**
       * Constructs a UserResetPasswordRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * If set the new password is send as flash sms
       */
      public function getFlashSms() {
        return $this->flashSms;
      }
      
      /**
       * If set the new password is send as flash sms
       */
      public function setFlashSms($flashSms) {
        $this->flashSms = $flashSms;
      }
      /**
       * Returns the associative array for this UserResetPasswordRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->flashSms ) {
          $a["flashSms"] = $this->flashSms;
        }
        return $a;
      }
      

      /**
       * Initializes this UserResetPasswordRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['flashSms']) ) {
          $this->flashSms = $o["flashSms"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserResetPasswordResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserResetPasswordResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserResetPasswordResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserResetPasswordResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserSetSettingResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSetSettingResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSetSettingResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSetSettingResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserSetSmsRoutingResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSetSmsRoutingResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSetSmsRoutingResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSetSmsRoutingResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallCountUnreadResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The amount of unread calls
       */
      private $unreadCount;

      /**
       * Constructs a UserCallCountUnreadResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The amount of unread calls
       */
      public function getUnreadCount() {
        return $this->unreadCount;
      }
      
      /**
       * The amount of unread calls
       */
      public function setUnreadCount($unreadCount) {
        $this->unreadCount = $unreadCount;
      }
      /**
       * Returns the associative array for this UserCallCountUnreadResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->unreadCount ) {
          $a["unreadCount"] = $this->unreadCount;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallCountUnreadResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['unreadCount']) ) {
          $this->unreadCount = $o["unreadCount"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallDeleteAllResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserCallDeleteAllResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallDeleteAllResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallDeleteAllResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallDeleteListResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserCallDeleteListResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallDeleteListResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallDeleteListResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallGetCallsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user calls
       */
      private $calls;

      /**
       * Constructs a UserCallGetCallsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user calls
       */
      public function getCalls() {
        return $this->calls;
      }
      
      /**
       * The list of user calls
       */
      public function setCalls($calls) {
        $this->calls = $calls;
      }
      /**
       * Returns the associative array for this UserCallGetCallsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->calls ) {
          $ab = array();
          foreach( $this->calls as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['calls'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallGetCallsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->calls = array();
        if( isset($o['calls']) ) {
          foreach( $o['calls'] as $i => $x ) {
            $this->calls[$i] = new \Com\Mysms\Api\Domain\UserCall\UserCall($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallInsertResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The call id of the call
       */
      private $callId;

      /**
       * Constructs a UserCallInsertResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The call id of the call
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The call id of the call
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * Returns the associative array for this UserCallInsertResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallInsertResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallSyncResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The calls that were modified on the server and needs to be synchronized to the device.
       */
      private $syncs;
      /**
       * The acknowledge of calls synchronized previously from the device.
       */
      private $syncAcks;

      /**
       * Constructs a UserCallSyncResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The calls that were modified on the server and needs to be synchronized to the device.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The calls that were modified on the server and needs to be synchronized to the device.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of calls synchronized previously from the device.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of calls synchronized previously from the device.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * Returns the associative array for this UserCallSyncResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallSyncResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserCall\UserCallSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserCall\UserCallSyncAck($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallUpdateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserCallUpdateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallUpdateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallUpdateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactGetA2aMsisdnsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user contacts msisdns that are available for a2a.
       */
      private $msisdns;

      /**
       * Constructs a UserContactGetA2aMsisdnsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user contacts msisdns that are available for a2a.
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The list of user contacts msisdns that are available for a2a.
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * Returns the associative array for this UserContactGetA2aMsisdnsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserContactGetA2aMsisdnsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactSyncResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The contacts that were modified on the server and needs to be synchronized to the device.
       */
      private $syncs;
      /**
       * The acknowledge of contacts synchronized previously from the device.
       */
      private $syncAcks;

      /**
       * Constructs a UserContactSyncResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The contacts that were modified on the server and needs to be synchronized to the device.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The contacts that were modified on the server and needs to be synchronized to the device.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of contacts synchronized previously from the device.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of contacts synchronized previously from the device.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * Returns the associative array for this UserContactSyncResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserContactSyncResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContactSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContactSyncAck($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceClientDeleteResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserDeviceClientDeleteResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserDeviceClientDeleteResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserDeviceClientDeleteResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceClientGetResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created client device id
       */
      private $deviceId;

      /**
       * Constructs a UserDeviceClientGetResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created client device id
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The newly created client device id
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Returns the associative array for this UserDeviceClientGetResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceClientGetResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceCreateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created device id
       */
      private $deviceId;

      /**
       * Constructs a UserDeviceCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created device id
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The newly created device id
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Returns the associative array for this UserDeviceCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceUpdateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserDeviceUpdateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserDeviceUpdateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserDeviceUpdateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteConversationListResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageDeleteConversationListResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageDeleteConversationListResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteConversationListResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteConversationResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageDeleteConversationResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageDeleteConversationResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteConversationResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteListResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageDeleteListResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageDeleteListResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteListResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageDeleteResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageDeleteResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageGetConversationsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user message conversations.
       */
      private $conversations;

      /**
       * Constructs a UserMessageGetConversationsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user message conversations.
       */
      public function getConversations() {
        return $this->conversations;
      }
      
      /**
       * The list of user message conversations.
       */
      public function setConversations($conversations) {
        $this->conversations = $conversations;
      }
      /**
       * Returns the associative array for this UserMessageGetConversationsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->conversations ) {
          $ab = array();
          foreach( $this->conversations as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['conversations'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageGetConversationsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->conversations = array();
        if( isset($o['conversations']) ) {
          foreach( $o['conversations'] as $i => $x ) {
            $this->conversations[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageConversation($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageGetMessagesResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user message conversations.
       */
      private $messages;

      /**
       * Constructs a UserMessageGetMessagesResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user message conversations.
       */
      public function getMessages() {
        return $this->messages;
      }
      
      /**
       * The list of user message conversations.
       */
      public function setMessages($messages) {
        $this->messages = $messages;
      }
      /**
       * Returns the associative array for this UserMessageGetMessagesResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messages ) {
          $ab = array();
          foreach( $this->messages as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['messages'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageGetMessagesResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->messages = array();
        if( isset($o['messages']) ) {
          foreach( $o['messages'] as $i => $x ) {
            $this->messages[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageMessage($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageInsertResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The message id of the message which was inserted.
       */
      private $messageId;

      /**
       * Constructs a UserMessageInsertResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message id of the message which was inserted.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The message id of the message which was inserted.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this UserMessageInsertResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageInsertResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageReadConversationResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageReadConversationResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageReadConversationResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageReadConversationResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSearchResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user message conversations.
       */
      private $messages;

      /**
       * Constructs a UserMessageSearchResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user message conversations.
       */
      public function getMessages() {
        return $this->messages;
      }
      
      /**
       * The list of user message conversations.
       */
      public function setMessages($messages) {
        $this->messages = $messages;
      }
      /**
       * Returns the associative array for this UserMessageSearchResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messages ) {
          $ab = array();
          foreach( $this->messages as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['messages'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSearchResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->messages = array();
        if( isset($o['messages']) ) {
          foreach( $o['messages'] as $i => $x ) {
            $this->messages[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageMessage($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSyncResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The messages that were modified on the server and needs to be synchronized to the device.
       */
      private $syncs;
      /**
       * The acknowledge of messages synchronized previously from the device.
       */
      private $syncAcks;

      /**
       * Constructs a UserMessageSyncResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The messages that were modified on the server and needs to be synchronized to the device.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The messages that were modified on the server and needs to be synchronized to the device.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of messages synchronized previously from the device.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of messages synchronized previously from the device.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * Returns the associative array for this UserMessageSyncResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSyncResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageSyncAck($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageUnlockListResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageUnlockListResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageUnlockListResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageUnlockListResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnectorExtended extends \Com\Mysms\Api\Domain\UserSmsConnector\UserSmsConnector  {
    
    
      /**
       * (no documentation provided)
       */
      private $smsConnector;

      /**
       * Constructs a UserSmsConnectorExtended from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getSmsConnector() {
        return $this->smsConnector;
      }
      
      /**
       * (no documentation provided)
       */
      public function setSmsConnector($smsConnector) {
        $this->smsConnector = $smsConnector;
      }
      /**
       * Returns the associative array for this UserSmsConnectorExtended
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsConnector ) {
          $a["smsConnector"] = $this->smsConnector->toArray();
        }
        return $a;
      }
      

      /**
       * Initializes this UserSmsConnectorExtended from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsConnector']) ) {
          $this->smsConnector = new \Com\Mysms\Api\Domain\SmsConnector\SmsConnector($o["smsConnector"]);
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnectorGetConnectorsExtendedResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user sms connectors.
       */
      private $connectors;

      /**
       * Constructs a UserSmsConnectorGetConnectorsExtendedResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user sms connectors.
       */
      public function getConnectors() {
        return $this->connectors;
      }
      
      /**
       * The list of user sms connectors.
       */
      public function setConnectors($connectors) {
        $this->connectors = $connectors;
      }
      /**
       * Returns the associative array for this UserSmsConnectorGetConnectorsExtendedResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->connectors ) {
          $ab = array();
          foreach( $this->connectors as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['connectors'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSmsConnectorGetConnectorsExtendedResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->connectors = array();
        if( isset($o['connectors']) ) {
          foreach( $o['connectors'] as $i => $x ) {
            $this->connectors[$i] = new \Com\Mysms\Api\Domain\UserSmsConnector\UserSmsConnectorExtended($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnectorSetConnectorsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSmsConnectorSetConnectorsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSmsConnectorSetConnectorsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSmsConnectorSetConnectorsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionActivateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSubscriptionActivateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionActivateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionActivateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionDeactivateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSubscriptionDeactivateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionDeactivateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionDeactivateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionGetResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The product id of the subscription or zero if their is no subscription
       */
      private $productId;
      /**
       * The period end date of the subscription
       */
      private $periodEnd;
      /**
       * The status of the subscription
     * 
     * 0 .. active (unpayed)
     * 1 .. active
     * 2 .. active but deactivated at period end
     * 3 .. inactive
       */
      private $status;

      /**
       * Constructs a UserSubscriptionGetResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The product id of the subscription or zero if their is no subscription
       */
      public function getProductId() {
        return $this->productId;
      }
      
      /**
       * The product id of the subscription or zero if their is no subscription
       */
      public function setProductId($productId) {
        $this->productId = $productId;
      }
      /**
       * The period end date of the subscription
       */
      public function getPeriodEnd() {
        return $this->periodEnd;
      }
      
      /**
       * The period end date of the subscription
       */
      public function setPeriodEnd($periodEnd) {
        $this->periodEnd = $periodEnd;
      }
      /**
       * The status of the subscription
       * 
       * 0 .. active (unpayed)
       * 1 .. active
       * 2 .. active but deactivated at period end
       * 3 .. inactive
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the subscription
       * 
       * 0 .. active (unpayed)
       * 1 .. active
       * 2 .. active but deactivated at period end
       * 3 .. inactive
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * Returns the associative array for this UserSubscriptionGetResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productId ) {
          $a["productId"] = $this->productId;
        }
        if( $this->periodEnd ) {
          $a["periodEnd"] = $this->periodEnd;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionGetResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productId']) ) {
          $this->productId = $o["productId"];
        }
        if( isset($o['periodEnd']) ) {
          $this->periodEnd = $o["periodEnd"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionLaunchResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSubscriptionLaunchResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionLaunchResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionLaunchResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionLogResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserSubscriptionLogResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionLogResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionLogResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageUpdateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageUpdateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageUpdateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageUpdateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The (server) message id of newly created outgoing message.
     * 
     * The message will be synchronized with the next message sync.
       */
      private $messageId;
      /**
       * The date when the message was sent
       */
      private $dateSent;

      /**
       * Constructs a UserMessageSendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The (server) message id of newly created outgoing message.
       * 
       * The message will be synchronized with the next message sync.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id of newly created outgoing message.
       * 
       * The message will be synchronized with the next message sync.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * Returns the associative array for this UserMessageSendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageLockListResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserMessageLockListResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageLockListResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageLockListResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactOverrideUpdateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserContactOverrideUpdateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserContactOverrideUpdateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserContactOverrideUpdateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactGetContactsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user contacts.
       */
      private $contacts;
      /**
       * (no documentation provided)
       */
      private $contactOverrides;

      /**
       * Constructs a UserContactGetContactsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user contacts.
       */
      public function getContacts() {
        return $this->contacts;
      }
      
      /**
       * The list of user contacts.
       */
      public function setContacts($contacts) {
        $this->contacts = $contacts;
      }
      /**
       * (no documentation provided)
       */
      public function getContactOverrides() {
        return $this->contactOverrides;
      }
      
      /**
       * (no documentation provided)
       */
      public function setContactOverrides($contactOverrides) {
        $this->contactOverrides = $contactOverrides;
      }
      /**
       * Returns the associative array for this UserContactGetContactsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->contacts ) {
          $ab = array();
          foreach( $this->contacts as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['contacts'] = $ab;
        }
        if( $this->contactOverrides ) {
          $ab = array();
          foreach( $this->contactOverrides as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['contactOverrides'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserContactGetContactsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->contacts = array();
        if( isset($o['contacts']) ) {
          foreach( $o['contacts'] as $i => $x ) {
            $this->contacts[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContact($x);
          }
        }
        $this->contactOverrides = array();
        if( isset($o['contactOverrides']) ) {
          foreach( $o['contactOverrides'] as $i => $x ) {
            $this->contactOverrides[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContactOverride($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallReadAllResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserCallReadAllResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallReadAllResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallReadAllResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserVerifyMsisdnResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserVerifyMsisdnResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserVerifyMsisdnResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserVerifyMsisdnResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserLoginResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The authentication token
       */
      private $authToken;
      /**
       * The info which can be configured per api key.
       */
      private $info;
      /**
       * The date when the user was last verified
       */
      private $dateVerified;
      /**
       * The iso country code http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
       */
      private $countryCode;
      /**
       * The international dial prefix http://en.wikipedia.org/wiki/List_of_country_calling_codes for the home country of this account
       */
      private $dialPrefix;
      /**
       * The iso currency code http://en.wikipedia.org/wiki/ISO_currency_code
       */
      private $currencyCode;

      /**
       * Constructs a UserLoginResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The authentication token
       */
      public function getAuthToken() {
        return $this->authToken;
      }
      
      /**
       * The authentication token
       */
      public function setAuthToken($authToken) {
        $this->authToken = $authToken;
      }
      /**
       * The info which can be configured per api key.
       */
      public function getInfo() {
        return $this->info;
      }
      
      /**
       * The info which can be configured per api key.
       */
      public function setInfo($info) {
        $this->info = $info;
      }
      /**
       * The date when the user was last verified
       */
      public function getDateVerified() {
        return $this->dateVerified;
      }
      
      /**
       * The date when the user was last verified
       */
      public function setDateVerified($dateVerified) {
        $this->dateVerified = $dateVerified;
      }
      /**
       * The iso country code http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
       */
      public function getCountryCode() {
        return $this->countryCode;
      }
      
      /**
       * The iso country code http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
       */
      public function setCountryCode($countryCode) {
        $this->countryCode = $countryCode;
      }
      /**
       * The international dial prefix http://en.wikipedia.org/wiki/List_of_country_calling_codes for the home country of this account
       */
      public function getDialPrefix() {
        return $this->dialPrefix;
      }
      
      /**
       * The international dial prefix http://en.wikipedia.org/wiki/List_of_country_calling_codes for the home country of this account
       */
      public function setDialPrefix($dialPrefix) {
        $this->dialPrefix = $dialPrefix;
      }
      /**
       * The iso currency code http://en.wikipedia.org/wiki/ISO_currency_code
       */
      public function getCurrencyCode() {
        return $this->currencyCode;
      }
      
      /**
       * The iso currency code http://en.wikipedia.org/wiki/ISO_currency_code
       */
      public function setCurrencyCode($currencyCode) {
        $this->currencyCode = $currencyCode;
      }
      /**
       * Returns the associative array for this UserLoginResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->authToken ) {
          $a["authToken"] = $this->authToken;
        }
        if( $this->info ) {
          $a["info"] = $this->info;
        }
        if( $this->dateVerified ) {
          $a["dateVerified"] = $this->dateVerified;
        }
        if( $this->countryCode ) {
          $a["countryCode"] = $this->countryCode;
        }
        if( $this->dialPrefix ) {
          $a["dialPrefix"] = $this->dialPrefix;
        }
        if( $this->currencyCode ) {
          $a["currencyCode"] = $this->currencyCode;
        }
        return $a;
      }
      

      /**
       * Initializes this UserLoginResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['authToken']) ) {
          $this->authToken = $o["authToken"];
        }
        if( isset($o['info']) ) {
          $this->info = $o["info"];
        }
        if( isset($o['dateVerified']) ) {
          $this->dateVerified = $o["dateVerified"];
        }
        if( isset($o['countryCode']) ) {
          $this->countryCode = $o["countryCode"];
        }
        if( isset($o['dialPrefix']) ) {
          $this->dialPrefix = $o["dialPrefix"];
        }
        if( isset($o['currencyCode']) ) {
          $this->currencyCode = $o["currencyCode"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetSmsRoutingResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The actual sms routing.
     * &lt;br/&gt;
     * 0 .. send sms over sim&lt;br/&gt;
     * 1 .. send sms over mysms&lt;br/&gt;
     * 2 .. send sms over a2a &lt;br/&gt;
     * or a sms connector id&lt;br/&gt;
       */
      private $smsRouting;
      /**
       * Returns true if the sms routing was previously saved for that msisdn
       */
      private $saved;
      /**
       * Returns true if the msisdn is available for an a2a message
       */
      private $a2aAvailable;

      /**
       * Constructs a UserGetSmsRoutingResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The actual sms routing.
       * &lt;br/&gt;
       * 0 .. send sms over sim&lt;br/&gt;
       * 1 .. send sms over mysms&lt;br/&gt;
       * 2 .. send sms over a2a &lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function getSmsRouting() {
        return $this->smsRouting;
      }
      
      /**
       * The actual sms routing.
       * &lt;br/&gt;
       * 0 .. send sms over sim&lt;br/&gt;
       * 1 .. send sms over mysms&lt;br/&gt;
       * 2 .. send sms over a2a &lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function setSmsRouting($smsRouting) {
        $this->smsRouting = $smsRouting;
      }
      /**
       * Returns true if the sms routing was previously saved for that msisdn
       */
      public function getSaved() {
        return $this->saved;
      }
      
      /**
       * Returns true if the sms routing was previously saved for that msisdn
       */
      public function setSaved($saved) {
        $this->saved = $saved;
      }
      /**
       * Returns true if the msisdn is available for an a2a message
       */
      public function getA2aAvailable() {
        return $this->a2aAvailable;
      }
      
      /**
       * Returns true if the msisdn is available for an a2a message
       */
      public function setA2aAvailable($a2aAvailable) {
        $this->a2aAvailable = $a2aAvailable;
      }
      /**
       * Returns the associative array for this UserGetSmsRoutingResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsRouting ) {
          $a["smsRouting"] = $this->smsRouting;
        }
        if( $this->saved ) {
          $a["saved"] = $this->saved;
        }
        if( $this->a2aAvailable ) {
          $a["a2aAvailable"] = $this->a2aAvailable;
        }
        return $a;
      }
      

      /**
       * Initializes this UserGetSmsRoutingResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsRouting']) ) {
          $this->smsRouting = $o["smsRouting"];
        }
        if( isset($o['saved']) ) {
          $this->saved = $o["saved"];
        }
        if( isset($o['a2aAvailable']) ) {
          $this->a2aAvailable = $o["a2aAvailable"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserChangePasswordResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a UserChangePasswordResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserChangePasswordResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserChangePasswordResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopStartPaymentResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * This is true if the payment was successful, otherwise the payment needs
     * perhaps a redirect or some time too complete.
       */
      private $payed;
      /**
       * The transaction id of the payment process.
     * This id is needed if you want to check the status of a transaction.
       */
      private $transactionId;
      /**
       * The redirect url where to user should go with a browser to complete the request.
     * After completion (ok or nok) the browser window will be closed. Use the check payment
     * request to get status.
       */
      private $redirectUrl;

      /**
       * Constructs a ShopStartPaymentResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * This is true if the payment was successful, otherwise the payment needs
       * perhaps a redirect or some time too complete.
       */
      public function getPayed() {
        return $this->payed;
      }
      
      /**
       * This is true if the payment was successful, otherwise the payment needs
       * perhaps a redirect or some time too complete.
       */
      public function setPayed($payed) {
        $this->payed = $payed;
      }
      /**
       * The transaction id of the payment process.
       * This id is needed if you want to check the status of a transaction.
       */
      public function getTransactionId() {
        return $this->transactionId;
      }
      
      /**
       * The transaction id of the payment process.
       * This id is needed if you want to check the status of a transaction.
       */
      public function setTransactionId($transactionId) {
        $this->transactionId = $transactionId;
      }
      /**
       * The redirect url where to user should go with a browser to complete the request.
       * After completion (ok or nok) the browser window will be closed. Use the check payment
       * request to get status.
       */
      public function getRedirectUrl() {
        return $this->redirectUrl;
      }
      
      /**
       * The redirect url where to user should go with a browser to complete the request.
       * After completion (ok or nok) the browser window will be closed. Use the check payment
       * request to get status.
       */
      public function setRedirectUrl($redirectUrl) {
        $this->redirectUrl = $redirectUrl;
      }
      /**
       * Returns the associative array for this ShopStartPaymentResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->payed ) {
          $a["payed"] = $this->payed;
        }
        if( $this->transactionId ) {
          $a["transactionId"] = $this->transactionId;
        }
        if( $this->redirectUrl ) {
          $a["redirectUrl"] = $this->redirectUrl;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopStartPaymentResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['payed']) ) {
          $this->payed = $o["payed"];
        }
        if( isset($o['transactionId']) ) {
          $this->transactionId = $o["transactionId"];
        }
        if( isset($o['redirectUrl']) ) {
          $this->redirectUrl = $o["redirectUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsResendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RemoteSmsResendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RemoteSmsResendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsResendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCreateKeyResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created registration key
       */
      private $registrationKey;

      /**
       * Constructs a RegistrationCreateKeyResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created registration key
       */
      public function getRegistrationKey() {
        return $this->registrationKey;
      }
      
      /**
       * The newly created registration key
       */
      public function setRegistrationKey($registrationKey) {
        $this->registrationKey = $registrationKey;
      }
      /**
       * Returns the associative array for this RegistrationCreateKeyResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->registrationKey ) {
          $a["registrationKey"] = $this->registrationKey;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationCreateKeyResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['registrationKey']) ) {
          $this->registrationKey = $o["registrationKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationCheckMsisdnResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a RegistrationCheckMsisdnResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this RegistrationCheckMsisdnResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this RegistrationCheckMsisdnResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationActivateResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The user's password
       */
      private $password;

      /**
       * Constructs a RegistrationActivateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The user's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The user's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * Returns the associative array for this RegistrationActivateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationActivateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Registration {

    /**
     * 
     */
    class RegistrationActivateMsisdnResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The user's password
       */
      private $password;

      /**
       * Constructs a RegistrationActivateMsisdnResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The user's password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * Returns the associative array for this RegistrationActivateMsisdnResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        return $a;
      }
      

      /**
       * Initializes this RegistrationActivateMsisdnResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ProUser {

    /**
     * 
     */
    class ProUserCheckResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * True if the user is a pro user for the requested type
       */
      private $proUser;

      /**
       * Constructs a ProUserCheckResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * True if the user is a pro user for the requested type
       */
      public function getProUser() {
        return $this->proUser;
      }
      
      /**
       * True if the user is a pro user for the requested type
       */
      public function setProUser($proUser) {
        $this->proUser = $proUser;
      }
      /**
       * Returns the associative array for this ProUserCheckResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->proUser ) {
          $a["proUser"] = $this->proUser;
        }
        return $a;
      }
      

      /**
       * Initializes this ProUserCheckResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['proUser']) ) {
          $this->proUser = $o["proUser"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ProUser {

    /**
     * 
     */
    class ProUserAddResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a ProUserAddResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this ProUserAddResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this ProUserAddResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyStatusResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * Get the status of the verify sms / call&lt;br/&gt;
     * &lt;br/&gt;
     * 0 .. pending &lt;br/&gt;
     * 1 .. delivered / completed &lt;br/&gt;
     * 2 .. undelivered / failed&lt;br/&gt;
     * 3 .. expired / no answer&lt;br/&gt;
     * 4 .. rejected / busy &lt;br/&gt;
     * 5 .. deleted &lt;br/&gt;
       */
      private $status;

      /**
       * Constructs a MsisdnVerifyStatusResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Get the status of the verify sms / call&lt;br/&gt;
       * &lt;br/&gt;
       * 0 .. pending &lt;br/&gt;
       * 1 .. delivered / completed &lt;br/&gt;
       * 2 .. undelivered / failed&lt;br/&gt;
       * 3 .. expired / no answer&lt;br/&gt;
       * 4 .. rejected / busy &lt;br/&gt;
       * 5 .. deleted &lt;br/&gt;
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * Get the status of the verify sms / call&lt;br/&gt;
       * &lt;br/&gt;
       * 0 .. pending &lt;br/&gt;
       * 1 .. delivered / completed &lt;br/&gt;
       * 2 .. undelivered / failed&lt;br/&gt;
       * 3 .. expired / no answer&lt;br/&gt;
       * 4 .. rejected / busy &lt;br/&gt;
       * 5 .. deleted &lt;br/&gt;
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * Returns the associative array for this MsisdnVerifyStatusResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyStatusResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * Get the sender address that was used for the verify sms
       */
      private $senderAddress;
      /**
       * True if the send verify sms was sent as a flash sms
       */
      private $flashSms;

      /**
       * Constructs a MsisdnVerifyResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Get the sender address that was used for the verify sms
       */
      public function getSenderAddress() {
        return $this->senderAddress;
      }
      
      /**
       * Get the sender address that was used for the verify sms
       */
      public function setSenderAddress($senderAddress) {
        $this->senderAddress = $senderAddress;
      }
      /**
       * True if the send verify sms was sent as a flash sms
       */
      public function getFlashSms() {
        return $this->flashSms;
      }
      
      /**
       * True if the send verify sms was sent as a flash sms
       */
      public function setFlashSms($flashSms) {
        $this->flashSms = $flashSms;
      }
      /**
       * Returns the associative array for this MsisdnVerifyResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->senderAddress ) {
          $a["senderAddress"] = $this->senderAddress;
        }
        if( $this->flashSms ) {
          $a["flashSms"] = $this->flashSms;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['senderAddress']) ) {
          $this->senderAddress = $o["senderAddress"];
        }
        if( isset($o['flashSms']) ) {
          $this->flashSms = $o["flashSms"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCreateKeyResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created key that must be send via SMS to the recipient number
       */
      private $key;

      /**
       * Constructs a MsisdnVerifyCreateKeyResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created key that must be send via SMS to the recipient number
       */
      public function getKey() {
        return $this->key;
      }
      
      /**
       * The newly created key that must be send via SMS to the recipient number
       */
      public function setKey($key) {
        $this->key = $key;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCreateKeyResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->key ) {
          $a["key"] = $this->key;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCreateKeyResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['key']) ) {
          $this->key = $o["key"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCheckPinResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a MsisdnVerifyCheckPinResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this MsisdnVerifyCheckPinResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCheckPinResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCheckKeyResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The mobile number that has send the verify key to our recipient number
       */
      private $msisdn;
      /**
       * The pin that can be used to create an user or change msisdn
       */
      private $pin;

      /**
       * Constructs a MsisdnVerifyCheckKeyResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The mobile number that has send the verify key to our recipient number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The mobile number that has send the verify key to our recipient number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The pin that can be used to create an user or change msisdn
       */
      public function getPin() {
        return $this->pin;
      }
      
      /**
       * The pin that can be used to create an user or change msisdn
       */
      public function setPin($pin) {
        $this->pin = $pin;
      }
      /**
       * Returns the associative array for this MsisdnVerifyCheckKeyResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->pin ) {
          $a["pin"] = $this->pin;
        }
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCheckKeyResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['pin']) ) {
          $this->pin = $o["pin"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Msisdn {

    /**
     * 
     */
    class MsisdnVerifyCallResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a MsisdnVerifyCallResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this MsisdnVerifyCallResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this MsisdnVerifyCallResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Message {

    /**
     * 
     */
    class MessageSendResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a MessageSendResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this MessageSendResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this MessageSendResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupSendMessageResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The (server) message id of newly created outgoing message.
     * 
     * The message will be synchronized with the next message sync.
       */
      private $messageId;
      /**
       * The date when the message was sent
       */
      private $dateSent;

      /**
       * Constructs a GroupSendMessageResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The (server) message id of newly created outgoing message.
       * 
       * The message will be synchronized with the next message sync.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The (server) message id of newly created outgoing message.
       * 
       * The message will be synchronized with the next message sync.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * Returns the associative array for this GroupSendMessageResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupSendMessageResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Feedback {

    /**
     * 
     */
    class FeedbackSendRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The feedback's category
       */
      private $category;
      /**
       * The feedback's message
       */
      private $message;

      /**
       * Constructs a FeedbackSendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The feedback's category
       */
      public function getCategory() {
        return $this->category;
      }
      
      /**
       * The feedback's category
       */
      public function setCategory($category) {
        $this->category = $category;
      }
      /**
       * The feedback's message
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The feedback's message
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * Returns the associative array for this FeedbackSendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->category ) {
          $a["category"] = $this->category;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        return $a;
      }
      

      /**
       * Initializes this FeedbackSendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['category']) ) {
          $this->category = $o["category"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountValidateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The type of the account
     * 
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth token which was returned after visiting the oauth authorization url
       */
      private $oauthToken;
      /**
       * The oauth verifier which was returned after visiting the oauth authorization url
       */
      private $oauthVerifier;

      /**
       * Constructs a ExternalAccountValidateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth token which was returned after visiting the oauth authorization url
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The oauth token which was returned after visiting the oauth authorization url
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * The oauth verifier which was returned after visiting the oauth authorization url
       */
      public function getOauthVerifier() {
        return $this->oauthVerifier;
      }
      
      /**
       * The oauth verifier which was returned after visiting the oauth authorization url
       */
      public function setOauthVerifier($oauthVerifier) {
        $this->oauthVerifier = $oauthVerifier;
      }
      /**
       * Returns the associative array for this ExternalAccountValidateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        if( $this->oauthVerifier ) {
          $a["oauthVerifier"] = $this->oauthVerifier;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountValidateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
        if( isset($o['oauthVerifier']) ) {
          $this->oauthVerifier = $o["oauthVerifier"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountLoginRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The type of the account
     * &lt;p/&gt;
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth token of the external account
       */
      private $oauthToken;
      /**
       * The optional language code for the info mail that is send if the account is not connected.
     * &lt;p/&gt;
     * If null no info mail is sent.
       */
      private $languageCode;

      /**
       * Constructs a ExternalAccountLoginRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth token of the external account
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The oauth token of the external account
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * The optional language code for the info mail that is send if the account is not connected.
       * &lt;p/&gt;
       * If null no info mail is sent.
       */
      public function getLanguageCode() {
        return $this->languageCode;
      }
      
      /**
       * The optional language code for the info mail that is send if the account is not connected.
       * &lt;p/&gt;
       * If null no info mail is sent.
       */
      public function setLanguageCode($languageCode) {
        $this->languageCode = $languageCode;
      }
      /**
       * Returns the associative array for this ExternalAccountLoginRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        if( $this->languageCode ) {
          $a["languageCode"] = $this->languageCode;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountLoginRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
        if( isset($o['languageCode']) ) {
          $this->languageCode = $o["languageCode"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountInitiateRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The type of the account
     * 
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth callback url for the ongoing oauth login
       */
      private $oauthCallbackUrl;

      /**
       * Constructs a ExternalAccountInitiateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth callback url for the ongoing oauth login
       */
      public function getOauthCallbackUrl() {
        return $this->oauthCallbackUrl;
      }
      
      /**
       * The oauth callback url for the ongoing oauth login
       */
      public function setOauthCallbackUrl($oauthCallbackUrl) {
        $this->oauthCallbackUrl = $oauthCallbackUrl;
      }
      /**
       * Returns the associative array for this ExternalAccountInitiateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthCallbackUrl ) {
          $a["oauthCallbackUrl"] = $this->oauthCallbackUrl;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountInitiateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthCallbackUrl']) ) {
          $this->oauthCallbackUrl = $o["oauthCallbackUrl"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountDisconnectRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The type of the account
     * 
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth token of the external account
       */
      private $oauthToken;

      /**
       * Constructs a ExternalAccountDisconnectRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth token of the external account
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The oauth token of the external account
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * Returns the associative array for this ExternalAccountDisconnectRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountDisconnectRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigGetProductsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * (no documentation provided)
       */
      private $products;

      /**
       * Constructs a ConfigGetProductsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getProducts() {
        return $this->products;
      }
      
      /**
       * (no documentation provided)
       */
      public function setProducts($products) {
        $this->products = $products;
      }
      /**
       * Returns the associative array for this ConfigGetProductsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->products ) {
          $ab = array();
          foreach( $this->products as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['products'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this ConfigGetProductsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->products = array();
        if( isset($o['products']) ) {
          foreach( $o['products'] as $i => $x ) {
            $this->products[$i] = new \Com\Mysms\Api\Domain\Config\ConfigProduct($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentUploadedPartResponse extends \Com\Mysms\Api\Domain\Response  {
    
    

      /**
       * Constructs a AttachmentUploadedPartResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this AttachmentUploadedPartResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this AttachmentUploadedPartResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentGetPartsResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The list of user message conversations.
       */
      private $parts;

      /**
       * Constructs a AttachmentGetPartsResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of user message conversations.
       */
      public function getParts() {
        return $this->parts;
      }
      
      /**
       * The list of user message conversations.
       */
      public function setParts($parts) {
        $this->parts = $parts;
      }
      /**
       * Returns the associative array for this AttachmentGetPartsResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->parts ) {
          $ab = array();
          foreach( $this->parts as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['parts'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentGetPartsResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->parts = array();
        if( isset($o['parts']) ) {
          foreach( $o['parts'] as $i => $x ) {
            $this->parts[$i] = new \Com\Mysms\Api\Domain\Attachment\AttachmentPart($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentAddPartResponse extends \Com\Mysms\Api\Domain\Response  {
    
    
      /**
       * The newly created part id of the attachment.
       */
      private $partId;
      /**
       * The download url of the attachment part.
       */
      private $url;
      /**
       * Gets the amazon s3 upload info
       */
      private $amazonS3Upload;
      /**
       * Gets the preview amazon s3 upload info
     * 
     * If their is no preview it will be null
       */
      private $previewAmazonS3Upload;

      /**
       * Constructs a AttachmentAddPartResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created part id of the attachment.
       */
      public function getPartId() {
        return $this->partId;
      }
      
      /**
       * The newly created part id of the attachment.
       */
      public function setPartId($partId) {
        $this->partId = $partId;
      }
      /**
       * The download url of the attachment part.
       */
      public function getUrl() {
        return $this->url;
      }
      
      /**
       * The download url of the attachment part.
       */
      public function setUrl($url) {
        $this->url = $url;
      }
      /**
       * Gets the amazon s3 upload info
       */
      public function getAmazonS3Upload() {
        return $this->amazonS3Upload;
      }
      
      /**
       * Gets the amazon s3 upload info
       */
      public function setAmazonS3Upload($amazonS3Upload) {
        $this->amazonS3Upload = $amazonS3Upload;
      }
      /**
       * Gets the preview amazon s3 upload info
       * 
       * If their is no preview it will be null
       */
      public function getPreviewAmazonS3Upload() {
        return $this->previewAmazonS3Upload;
      }
      
      /**
       * Gets the preview amazon s3 upload info
       * 
       * If their is no preview it will be null
       */
      public function setPreviewAmazonS3Upload($previewAmazonS3Upload) {
        $this->previewAmazonS3Upload = $previewAmazonS3Upload;
      }
      /**
       * Returns the associative array for this AttachmentAddPartResponse
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->partId ) {
          $a["partId"] = $this->partId;
        }
        if( $this->url ) {
          $a["url"] = $this->url;
        }
        if( $this->amazonS3Upload ) {
          $a["amazonS3Upload"] = $this->amazonS3Upload->toArray();
        }
        if( $this->previewAmazonS3Upload ) {
          $a["previewAmazonS3Upload"] = $this->previewAmazonS3Upload->toArray();
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentAddPartResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['partId']) ) {
          $this->partId = $o["partId"];
        }
        if( isset($o['url']) ) {
          $this->url = $o["url"];
        }
        if( isset($o['amazonS3Upload']) ) {
          $this->amazonS3Upload = new \Com\Mysms\Api\Domain\Attachment\AmazonS3Upload($o["amazonS3Upload"]);
        }
        if( isset($o['previewAmazonS3Upload']) ) {
          $this->previewAmazonS3Upload = new \Com\Mysms\Api\Domain\Attachment\AmazonS3Upload($o["previewAmazonS3Upload"]);
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain {

    /**
     * 
     */
    class AuthRequest extends \Com\Mysms\Api\Domain\Request  {
    
    
      /**
       * The authentication token returned by the user login request
       */
      private $authToken;

      /**
       * Constructs a AuthRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The authentication token returned by the user login request
       */
      public function getAuthToken() {
        return $this->authToken;
      }
      
      /**
       * The authentication token returned by the user login request
       */
      public function setAuthToken($authToken) {
        $this->authToken = $authToken;
      }
      /**
       * Returns the associative array for this AuthRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->authToken ) {
          $a["authToken"] = $this->authToken;
        }
        return $a;
      }
      

      /**
       * Initializes this AuthRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['authToken']) ) {
          $this->authToken = $o["authToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsSentRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The remote sms send request id.
       */
      private $requestId;
      /**
       * The registered device id for the device.
       */
      private $deviceId;
      /**
       * The device message id of the message
       */
      private $deviceMessageId;
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      private $address;
      /**
       * The message body
       */
      private $message;
      /**
       * The origin of the message
     * &lt;br/&gt;
     * 0 .. sim&lt;br/&gt;
     * 1 .. mysms&lt;br/&gt;
     * 2 .. a2a&lt;br/&gt;
     * or a sms connector id&lt;br/&gt;
       */
      private $origin;
      /**
       * The status of the message
     * &lt;br/&gt;
     * 0 .. none&lt;br/&gt;
     * 1 .. complete&lt;br/&gt;
     * 2 .. pending&lt;br/&gt;
     * 3 .. failed&lt;br/&gt;
       */
      private $status;
      /**
       * The date when the message was sent
       */
      private $dateSent;

      /**
       * Constructs a RemoteSmsSentRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The remote sms send request id.
       */
      public function getRequestId() {
        return $this->requestId;
      }
      
      /**
       * The remote sms send request id.
       */
      public function setRequestId($requestId) {
        $this->requestId = $requestId;
      }
      /**
       * The registered device id for the device.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * The device message id of the message
       */
      public function getDeviceMessageId() {
        return $this->deviceMessageId;
      }
      
      /**
       * The device message id of the message
       */
      public function setDeviceMessageId($deviceMessageId) {
        $this->deviceMessageId = $deviceMessageId;
      }
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The message body
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message body
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The origin of the message
       * &lt;br/&gt;
       * 0 .. sim&lt;br/&gt;
       * 1 .. mysms&lt;br/&gt;
       * 2 .. a2a&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function getOrigin() {
        return $this->origin;
      }
      
      /**
       * The origin of the message
       * &lt;br/&gt;
       * 0 .. sim&lt;br/&gt;
       * 1 .. mysms&lt;br/&gt;
       * 2 .. a2a&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function setOrigin($origin) {
        $this->origin = $origin;
      }
      /**
       * The status of the message
       * &lt;br/&gt;
       * 0 .. none&lt;br/&gt;
       * 1 .. complete&lt;br/&gt;
       * 2 .. pending&lt;br/&gt;
       * 3 .. failed&lt;br/&gt;
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the message
       * &lt;br/&gt;
       * 0 .. none&lt;br/&gt;
       * 1 .. complete&lt;br/&gt;
       * 2 .. pending&lt;br/&gt;
       * 3 .. failed&lt;br/&gt;
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date when the message was sent
       */
      public function getDateSent() {
        return $this->dateSent;
      }
      
      /**
       * The date when the message was sent
       */
      public function setDateSent($dateSent) {
        $this->dateSent = $dateSent;
      }
      /**
       * Returns the associative array for this RemoteSmsSentRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->requestId ) {
          $a["requestId"] = $this->requestId;
        }
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->deviceMessageId ) {
          $a["deviceMessageId"] = $this->deviceMessageId;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->origin ) {
          $a["origin"] = $this->origin;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateSent ) {
          $a["dateSent"] = $this->dateSent;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsSentRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['requestId']) ) {
          $this->requestId = $o["requestId"];
        }
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        if( isset($o['deviceMessageId']) ) {
          $this->deviceMessageId = $o["deviceMessageId"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['origin']) ) {
          $this->origin = $o["origin"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateSent']) ) {
          $this->dateSent = $o["dateSent"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopRedeemTokenRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The token to redeem.
       */
      private $token;

      /**
       * Constructs a ShopRedeemTokenRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The token to redeem.
       */
      public function getToken() {
        return $this->token;
      }
      
      /**
       * The token to redeem.
       */
      public function setToken($token) {
        $this->token = $token;
      }
      /**
       * Returns the associative array for this ShopRedeemTokenRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->token ) {
          $a["token"] = $this->token;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopRedeemTokenRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['token']) ) {
          $this->token = $o["token"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Sms {

    /**
     * 
     */
    class SmsSendRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The recipients in international format (436761234567)
       */
      private $recipients;
      /**
       * The message to send
       */
      private $message;
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      private $encoding;
      /**
       * True if a confirmation of delivery (cod) is requested.
     * 
     * If a cod is requested the messages must be created on the server and are synchronized to the client device otherwise
     * the messages will not be created on the server side (old functionality).
       */
      private $cod;
      /**
       * The registered device id for the device if their is one.
       */
      private $deviceId;
      /**
       * True if the parameter should be checked without sending the sms.
       */
      private $test;

      /**
       * Constructs a SmsSendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The recipients in international format (436761234567)
       */
      public function getRecipients() {
        return $this->recipients;
      }
      
      /**
       * The recipients in international format (436761234567)
       */
      public function setRecipients($recipients) {
        $this->recipients = $recipients;
      }
      /**
       * The message to send
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      public function getEncoding() {
        return $this->encoding;
      }
      
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      public function setEncoding($encoding) {
        $this->encoding = $encoding;
      }
      /**
       * True if a confirmation of delivery (cod) is requested.
       * 
       * If a cod is requested the messages must be created on the server and are synchronized to the client device otherwise
       * the messages will not be created on the server side (old functionality).
       */
      public function getCod() {
        return $this->cod;
      }
      
      /**
       * True if a confirmation of delivery (cod) is requested.
       * 
       * If a cod is requested the messages must be created on the server and are synchronized to the client device otherwise
       * the messages will not be created on the server side (old functionality).
       */
      public function setCod($cod) {
        $this->cod = $cod;
      }
      /**
       * The registered device id for the device if their is one.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device if their is one.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * True if the parameter should be checked without sending the sms.
       */
      public function getTest() {
        return $this->test;
      }
      
      /**
       * True if the parameter should be checked without sending the sms.
       */
      public function setTest($test) {
        $this->test = $test;
      }
      /**
       * Returns the associative array for this SmsSendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->recipients ) {
          $ab = array();
          foreach( $this->recipients as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['recipients'] = $ab;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->encoding ) {
          $a["encoding"] = $this->encoding;
        }
        if( $this->cod ) {
          $a["cod"] = $this->cod;
        }
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->test ) {
          $a["test"] = $this->test;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsSendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->recipients = array();
        if( isset($o['recipients']) ) {
          foreach( $o['recipients'] as $i => $x ) {
            $this->recipients[$i] = $x;
          }
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['encoding']) ) {
          $this->encoding = $o["encoding"];
        }
        if( isset($o['cod']) ) {
          $this->cod = $o["cod"];
        }
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        if( isset($o['test']) ) {
          $this->test = $o["test"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\SmsConnector {

    /**
     * 
     */
    class SmsConnectorGetConnectorsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The operation system for which we should get the list of connectors.
     * 
     * 0 .. android
       */
      private $os;

      /**
       * Constructs a SmsConnectorGetConnectorsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The operation system for which we should get the list of connectors.
       * 
       * 0 .. android
       */
      public function getOs() {
        return $this->os;
      }
      
      /**
       * The operation system for which we should get the list of connectors.
       * 
       * 0 .. android
       */
      public function setOs($os) {
        $this->os = $os;
      }
      /**
       * Returns the associative array for this SmsConnectorGetConnectorsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->os ) {
          $a["os"] = $this->os;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsConnectorGetConnectorsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['os']) ) {
          $this->os = $o["os"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserDeleteRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserDeleteRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserDeleteRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserDeleteRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetFeatureRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserGetFeatureRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserGetFeatureRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserGetFeatureRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserSetSmsRoutingRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The mobile number of the recipient
       */
      private $msisdn;
      /**
       * The sms routing.
     * &lt;br/&gt;
     * 0 .. send sms over sim &lt;br/&gt;
     * 1 .. send sms over mysms&lt;br/&gt;
     * or a sms connector id&lt;br/&gt;
       */
      private $smsRouting;

      /**
       * Constructs a UserSetSmsRoutingRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The mobile number of the recipient
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The mobile number of the recipient
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The sms routing.
       * &lt;br/&gt;
       * 0 .. send sms over sim &lt;br/&gt;
       * 1 .. send sms over mysms&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function getSmsRouting() {
        return $this->smsRouting;
      }
      
      /**
       * The sms routing.
       * &lt;br/&gt;
       * 0 .. send sms over sim &lt;br/&gt;
       * 1 .. send sms over mysms&lt;br/&gt;
       * or a sms connector id&lt;br/&gt;
       */
      public function setSmsRouting($smsRouting) {
        $this->smsRouting = $smsRouting;
      }
      /**
       * Returns the associative array for this UserSetSmsRoutingRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->smsRouting ) {
          $a["smsRouting"] = $this->smsRouting;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSetSmsRoutingRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['smsRouting']) ) {
          $this->smsRouting = $o["smsRouting"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallCountUnreadRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserCallCountUnreadRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallCountUnreadRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallCountUnreadRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallDeleteListRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The call ids of the calls which should be deleted.
       */
      private $callIds;

      /**
       * Constructs a UserCallDeleteListRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The call ids of the calls which should be deleted.
       */
      public function getCallIds() {
        return $this->callIds;
      }
      
      /**
       * The call ids of the calls which should be deleted.
       */
      public function setCallIds($callIds) {
        $this->callIds = $callIds;
      }
      /**
       * Returns the associative array for this UserCallDeleteListRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->callIds ) {
          $ab = array();
          foreach( $this->callIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['callIds'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallDeleteListRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->callIds = array();
        if( isset($o['callIds']) ) {
          foreach( $o['callIds'] as $i => $x ) {
            $this->callIds[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallInsertRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
     * (20 chars allowed, more will be truncated)
       */
      private $address;
      /**
       * The call direction (incoming or outgoing) state
       */
      private $incoming;
      /**
       * The call read state
       */
      private $read;
      /**
       * The duration of the call in seconds
       */
      private $duration;
      /**
       * The status of the call
     * 
     * 0 .. ringing
     * 1 .. active
     * 2 .. complete
     * 3 .. missed
       */
      private $status;
      /**
       * The date when the call was initiated
       */
      private $dateCall;

      /**
       * Constructs a UserCallInsertRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       * (20 chars allowed, more will be truncated)
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the call in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       * (20 chars allowed, more will be truncated)
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The call direction (incoming or outgoing) state
       */
      public function getIncoming() {
        return $this->incoming;
      }
      
      /**
       * The call direction (incoming or outgoing) state
       */
      public function setIncoming($incoming) {
        $this->incoming = $incoming;
      }
      /**
       * The call read state
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * The call read state
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * The duration of the call in seconds
       */
      public function getDuration() {
        return $this->duration;
      }
      
      /**
       * The duration of the call in seconds
       */
      public function setDuration($duration) {
        $this->duration = $duration;
      }
      /**
       * The status of the call
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the call
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * The date when the call was initiated
       */
      public function getDateCall() {
        return $this->dateCall;
      }
      
      /**
       * The date when the call was initiated
       */
      public function setDateCall($dateCall) {
        $this->dateCall = $dateCall;
      }
      /**
       * Returns the associative array for this UserCallInsertRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->incoming ) {
          $a["incoming"] = $this->incoming;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->duration ) {
          $a["duration"] = $this->duration;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        if( $this->dateCall ) {
          $a["dateCall"] = $this->dateCall;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallInsertRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['incoming']) ) {
          $this->incoming = $o["incoming"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['duration']) ) {
          $this->duration = $o["duration"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
        if( isset($o['dateCall']) ) {
          $this->dateCall = $o["dateCall"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactGetA2aMsisdnsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserContactGetA2aMsisdnsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserContactGetA2aMsisdnsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserContactGetA2aMsisdnsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactSyncRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The registered device id for the device.
       */
      private $deviceId;
      /**
       * The contacts that was modified on the device and needs to be synced to the server.
       */
      private $syncs;
      /**
       * The acknowledge of contacts synchronized previously from the server.
       */
      private $syncAcks;
      /**
       * The maximum amount of contacts that will be returned from server
       */
      private $syncLimit;
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      private $syncInitial;

      /**
       * Constructs a UserContactSyncRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registered device id for the device.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * The contacts that was modified on the device and needs to be synced to the server.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The contacts that was modified on the device and needs to be synced to the server.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of contacts synchronized previously from the server.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of contacts synchronized previously from the server.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * The maximum amount of contacts that will be returned from server
       */
      public function getSyncLimit() {
        return $this->syncLimit;
      }
      
      /**
       * The maximum amount of contacts that will be returned from server
       */
      public function setSyncLimit($syncLimit) {
        $this->syncLimit = $syncLimit;
      }
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function getSyncInitial() {
        return $this->syncInitial;
      }
      
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function setSyncInitial($syncInitial) {
        $this->syncInitial = $syncInitial;
      }
      /**
       * Returns the associative array for this UserContactSyncRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        if( $this->syncLimit ) {
          $a["syncLimit"] = $this->syncLimit;
        }
        if( $this->syncInitial ) {
          $a["syncInitial"] = $this->syncInitial;
        }
        return $a;
      }
      

      /**
       * Initializes this UserContactSyncRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContactSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserContact\UserContactSyncAck($x);
          }
        }
        if( isset($o['syncLimit']) ) {
          $this->syncLimit = $o["syncLimit"];
        }
        if( isset($o['syncInitial']) ) {
          $this->syncInitial = $o["syncInitial"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceClientGetRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The os of the client device
     * 
     * 0 .. android (cd2m)
     * 1 .. ios
     * 2 .. symbian
     * 6 .. android (gcm)
     * 7 .. windows (metro)
       */
      private $os;
      /**
       * The push registration id depends on the os.
     * &lt;br/&gt;
     * android: c2dm registration id&lt;br/&gt;
     * ios: push notification device id&lt;br/&gt;
       */
      private $pushRegistrationId;
      /**
       * Sets the push config which depends on the os and is usually a in json format.
     * 
     * iOS/iOS2:
     * {
     * sound : {
     * name : {
     * user : &quot;&quot;, // name of sound file
     * group : &quot;&quot;, // name of sound file
     * },
     * onlyOnFirstMessage : true/false
     * }
     * }
     * 
     * others: push config is ignored
       */
      private $pushConfig;

      /**
       * Constructs a UserDeviceClientGetRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The os of the client device
       * 
       * 0 .. android (cd2m)
       * 1 .. ios
       * 2 .. symbian
       * 6 .. android (gcm)
       * 7 .. windows (metro)
       */
      public function getOs() {
        return $this->os;
      }
      
      /**
       * The os of the client device
       * 
       * 0 .. android (cd2m)
       * 1 .. ios
       * 2 .. symbian
       * 6 .. android (gcm)
       * 7 .. windows (metro)
       */
      public function setOs($os) {
        $this->os = $os;
      }
      /**
       * The push registration id depends on the os.
       * &lt;br/&gt;
       * android: c2dm registration id&lt;br/&gt;
       * ios: push notification device id&lt;br/&gt;
       */
      public function getPushRegistrationId() {
        return $this->pushRegistrationId;
      }
      
      /**
       * The push registration id depends on the os.
       * &lt;br/&gt;
       * android: c2dm registration id&lt;br/&gt;
       * ios: push notification device id&lt;br/&gt;
       */
      public function setPushRegistrationId($pushRegistrationId) {
        $this->pushRegistrationId = $pushRegistrationId;
      }
      /**
       * Sets the push config which depends on the os and is usually a in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function getPushConfig() {
        return $this->pushConfig;
      }
      
      /**
       * Sets the push config which depends on the os and is usually a in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function setPushConfig($pushConfig) {
        $this->pushConfig = $pushConfig;
      }
      /**
       * Returns the associative array for this UserDeviceClientGetRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->os ) {
          $a["os"] = $this->os;
        }
        if( $this->pushRegistrationId ) {
          $a["pushRegistrationId"] = $this->pushRegistrationId;
        }
        if( $this->pushConfig ) {
          $a["pushConfig"] = $this->pushConfig;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceClientGetRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['os']) ) {
          $this->os = $o["os"];
        }
        if( isset($o['pushRegistrationId']) ) {
          $this->pushRegistrationId = $o["pushRegistrationId"];
        }
        if( isset($o['pushConfig']) ) {
          $this->pushConfig = $o["pushConfig"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteConversationListRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The addresses of the conversations which should be deleted.
       */
      private $addresses;

      /**
       * Constructs a UserMessageDeleteConversationListRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The addresses of the conversations which should be deleted.
       */
      public function getAddresses() {
        return $this->addresses;
      }
      
      /**
       * The addresses of the conversations which should be deleted.
       */
      public function setAddresses($addresses) {
        $this->addresses = $addresses;
      }
      /**
       * Returns the associative array for this UserMessageDeleteConversationListRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->addresses ) {
          $ab = array();
          foreach( $this->addresses as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['addresses'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteConversationListRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->addresses = array();
        if( isset($o['addresses']) ) {
          foreach( $o['addresses'] as $i => $x ) {
            $this->addresses[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteListRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The message ids of the messages which should be deleted.
       */
      private $messageIds;

      /**
       * Constructs a UserMessageDeleteListRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message ids of the messages which should be deleted.
       */
      public function getMessageIds() {
        return $this->messageIds;
      }
      
      /**
       * The message ids of the messages which should be deleted.
       */
      public function setMessageIds($messageIds) {
        $this->messageIds = $messageIds;
      }
      /**
       * Returns the associative array for this UserMessageDeleteListRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageIds ) {
          $ab = array();
          foreach( $this->messageIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['messageIds'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteListRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->messageIds = array();
        if( isset($o['messageIds']) ) {
          foreach( $o['messageIds'] as $i => $x ) {
            $this->messageIds[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageGetConversationsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserMessageGetConversationsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserMessageGetConversationsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserMessageGetConversationsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageInsertRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      private $address;
      /**
       * The message text of the message.
       */
      private $message;

      /**
       * Constructs a UserMessageInsertRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the message in international format (+4367612345678), for short codes (6567)  or plain text for alphanumeric sender addresses.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The message text of the message.
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message text of the message.
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * Returns the associative array for this UserMessageInsertRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageInsertRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageReadConversationRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address of the conversation which should be marked as read.
       */
      private $address;

      /**
       * Constructs a UserMessageReadConversationRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the conversation which should be marked as read.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the conversation which should be marked as read.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * Returns the associative array for this UserMessageReadConversationRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageReadConversationRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSyncRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The registered device id for the device.
       */
      private $deviceId;
      /**
       * The messages that was modified on the device and needs to be synced to the server.
       */
      private $syncs;
      /**
       * The acknowledge of messages synchronized previously from the server.
       */
      private $syncAcks;
      /**
       * The maximum amount of messages that will be returned from server
       */
      private $syncLimit;
      /**
       * True if the sync is unreliable (no event for new messages). If not set the value will not change.
       */
      private $syncUnreliable;
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      private $syncInitial;

      /**
       * Constructs a UserMessageSyncRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registered device id for the device.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * The messages that was modified on the device and needs to be synced to the server.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The messages that was modified on the device and needs to be synced to the server.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of messages synchronized previously from the server.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of messages synchronized previously from the server.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * The maximum amount of messages that will be returned from server
       */
      public function getSyncLimit() {
        return $this->syncLimit;
      }
      
      /**
       * The maximum amount of messages that will be returned from server
       */
      public function setSyncLimit($syncLimit) {
        $this->syncLimit = $syncLimit;
      }
      /**
       * True if the sync is unreliable (no event for new messages). If not set the value will not change.
       */
      public function getSyncUnreliable() {
        return $this->syncUnreliable;
      }
      
      /**
       * True if the sync is unreliable (no event for new messages). If not set the value will not change.
       */
      public function setSyncUnreliable($syncUnreliable) {
        $this->syncUnreliable = $syncUnreliable;
      }
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function getSyncInitial() {
        return $this->syncInitial;
      }
      
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function setSyncInitial($syncInitial) {
        $this->syncInitial = $syncInitial;
      }
      /**
       * Returns the associative array for this UserMessageSyncRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        if( $this->syncLimit ) {
          $a["syncLimit"] = $this->syncLimit;
        }
        if( $this->syncUnreliable ) {
          $a["syncUnreliable"] = $this->syncUnreliable;
        }
        if( $this->syncInitial ) {
          $a["syncInitial"] = $this->syncInitial;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSyncRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserMessage\UserMessageSyncAck($x);
          }
        }
        if( isset($o['syncLimit']) ) {
          $this->syncLimit = $o["syncLimit"];
        }
        if( isset($o['syncUnreliable']) ) {
          $this->syncUnreliable = $o["syncUnreliable"];
        }
        if( isset($o['syncInitial']) ) {
          $this->syncInitial = $o["syncInitial"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnectorGetConnectorsExtendedRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserSmsConnectorGetConnectorsExtendedRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSmsConnectorGetConnectorsExtendedRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSmsConnectorGetConnectorsExtendedRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionActivateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The product id of the subscription
       */
      private $productId;
      /**
       * The payment method id used for the payment
       */
      private $paymentMethodId;
      /**
       * The payment info's needed to activate the subscription
       */
      private $paymentInfo;

      /**
       * Constructs a UserSubscriptionActivateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The product id of the subscription
       */
      public function getProductId() {
        return $this->productId;
      }
      
      /**
       * The product id of the subscription
       */
      public function setProductId($productId) {
        $this->productId = $productId;
      }
      /**
       * The payment method id used for the payment
       */
      public function getPaymentMethodId() {
        return $this->paymentMethodId;
      }
      
      /**
       * The payment method id used for the payment
       */
      public function setPaymentMethodId($paymentMethodId) {
        $this->paymentMethodId = $paymentMethodId;
      }
      /**
       * The payment info's needed to activate the subscription
       */
      public function getPaymentInfo() {
        return $this->paymentInfo;
      }
      
      /**
       * The payment info's needed to activate the subscription
       */
      public function setPaymentInfo($paymentInfo) {
        $this->paymentInfo = $paymentInfo;
      }
      /**
       * Returns the associative array for this UserSubscriptionActivateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productId ) {
          $a["productId"] = $this->productId;
        }
        if( $this->paymentMethodId ) {
          $a["paymentMethodId"] = $this->paymentMethodId;
        }
        if( $this->paymentInfo ) {
          $a["paymentInfo"] = $this->paymentInfo;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionActivateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productId']) ) {
          $this->productId = $o["productId"];
        }
        if( isset($o['paymentMethodId']) ) {
          $this->paymentMethodId = $o["paymentMethodId"];
        }
        if( isset($o['paymentInfo']) ) {
          $this->paymentInfo = $o["paymentInfo"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionGetRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserSubscriptionGetRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionGetRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionGetRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionLogRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The product id of the subscription
       */
      private $productId;
      /**
       * The payment method id of the subscription
       */
      private $paymentMethodId;
      /**
       * The event id to log
     * 
     * 0 .. back clicked
     * 1 .. later clicked
     * 2 .. try + later clicked
     * 3 .. try clicked
       */
      private $eventId;
      /**
       * The source from where the subscription was called
       */
      private $source;

      /**
       * Constructs a UserSubscriptionLogRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The product id of the subscription
       */
      public function getProductId() {
        return $this->productId;
      }
      
      /**
       * The product id of the subscription
       */
      public function setProductId($productId) {
        $this->productId = $productId;
      }
      /**
       * The payment method id of the subscription
       */
      public function getPaymentMethodId() {
        return $this->paymentMethodId;
      }
      
      /**
       * The payment method id of the subscription
       */
      public function setPaymentMethodId($paymentMethodId) {
        $this->paymentMethodId = $paymentMethodId;
      }
      /**
       * The event id to log
       * 
       * 0 .. back clicked
       * 1 .. later clicked
       * 2 .. try + later clicked
       * 3 .. try clicked
       */
      public function getEventId() {
        return $this->eventId;
      }
      
      /**
       * The event id to log
       * 
       * 0 .. back clicked
       * 1 .. later clicked
       * 2 .. try + later clicked
       * 3 .. try clicked
       */
      public function setEventId($eventId) {
        $this->eventId = $eventId;
      }
      /**
       * The source from where the subscription was called
       */
      public function getSource() {
        return $this->source;
      }
      
      /**
       * The source from where the subscription was called
       */
      public function setSource($source) {
        $this->source = $source;
      }
      /**
       * Returns the associative array for this UserSubscriptionLogRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productId ) {
          $a["productId"] = $this->productId;
        }
        if( $this->paymentMethodId ) {
          $a["paymentMethodId"] = $this->paymentMethodId;
        }
        if( $this->eventId ) {
          $a["eventId"] = $this->eventId;
        }
        if( $this->source ) {
          $a["source"] = $this->source;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionLogRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productId']) ) {
          $this->productId = $o["productId"];
        }
        if( isset($o['paymentMethodId']) ) {
          $this->paymentMethodId = $o["paymentMethodId"];
        }
        if( isset($o['eventId']) ) {
          $this->eventId = $o["eventId"];
        }
        if( isset($o['source']) ) {
          $this->source = $o["source"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionLaunchRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The feature id which needs a subscription
     * &lt;p/&gt;
     * 0 .. remote call
     * 1 .. mirror
     * 3 .. integration (evernote, google drive, dropbox, ...)
     * 4 .. history
     * 5 .. schedule
       */
      private $featureId;

      /**
       * Constructs a UserSubscriptionLaunchRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The feature id which needs a subscription
       * &lt;p/&gt;
       * 0 .. remote call
       * 1 .. mirror
       * 3 .. integration (evernote, google drive, dropbox, ...)
       * 4 .. history
       * 5 .. schedule
       */
      public function getFeatureId() {
        return $this->featureId;
      }
      
      /**
       * The feature id which needs a subscription
       * &lt;p/&gt;
       * 0 .. remote call
       * 1 .. mirror
       * 3 .. integration (evernote, google drive, dropbox, ...)
       * 4 .. history
       * 5 .. schedule
       */
      public function setFeatureId($featureId) {
        $this->featureId = $featureId;
      }
      /**
       * Returns the associative array for this UserSubscriptionLaunchRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->featureId ) {
          $a["featureId"] = $this->featureId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionLaunchRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['featureId']) ) {
          $this->featureId = $o["featureId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSubscription {

    /**
     * 
     */
    class UserSubscriptionDeactivateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserSubscriptionDeactivateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserSubscriptionDeactivateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserSubscriptionDeactivateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserSmsConnector {

    /**
     * 
     */
    class UserSmsConnectorSetConnectorsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The list of sms connectors the user has installed on his device with the order he has choosen.
       */
      private $connectors;

      /**
       * Constructs a UserSmsConnectorSetConnectorsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The list of sms connectors the user has installed on his device with the order he has choosen.
       */
      public function getConnectors() {
        return $this->connectors;
      }
      
      /**
       * The list of sms connectors the user has installed on his device with the order he has choosen.
       */
      public function setConnectors($connectors) {
        $this->connectors = $connectors;
      }
      /**
       * Returns the associative array for this UserSmsConnectorSetConnectorsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->connectors ) {
          $ab = array();
          foreach( $this->connectors as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['connectors'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSmsConnectorSetConnectorsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->connectors = array();
        if( isset($o['connectors']) ) {
          foreach( $o['connectors'] as $i => $x ) {
            $this->connectors[$i] = new \Com\Mysms\Api\Domain\UserSmsConnector\UserSmsConnector($x);
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageUpdateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The message id of the message which should be updated.
       */
      private $messageId;
      /**
       * True if the message was already read otherwise the message is marked unread.
       */
      private $read;
      /**
       * True if the message should be marked as locked read otherwise the message is marked unlocked.
       */
      private $locked;

      /**
       * Constructs a UserMessageUpdateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message id of the message which should be updated.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The message id of the message which should be updated.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * True if the message was already read otherwise the message is marked unread.
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * True if the message was already read otherwise the message is marked unread.
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * True if the message should be marked as locked read otherwise the message is marked unlocked.
       */
      public function getLocked() {
        return $this->locked;
      }
      
      /**
       * True if the message should be marked as locked read otherwise the message is marked unlocked.
       */
      public function setLocked($locked) {
        $this->locked = $locked;
      }
      /**
       * Returns the associative array for this UserMessageUpdateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->locked ) {
          $a["locked"] = $this->locked;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageUpdateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['locked']) ) {
          $this->locked = $o["locked"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageUnlockListRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The message ids of the messages which should be locked.
       */
      private $messageIds;

      /**
       * Constructs a UserMessageUnlockListRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message ids of the messages which should be locked.
       */
      public function getMessageIds() {
        return $this->messageIds;
      }
      
      /**
       * The message ids of the messages which should be locked.
       */
      public function setMessageIds($messageIds) {
        $this->messageIds = $messageIds;
      }
      /**
       * Returns the associative array for this UserMessageUnlockListRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageIds ) {
          $ab = array();
          foreach( $this->messageIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['messageIds'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageUnlockListRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->messageIds = array();
        if( isset($o['messageIds']) ) {
          foreach( $o['messageIds'] as $i => $x ) {
            $this->messageIds[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSendRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The msisdn of the recipient.
       */
      private $recipient;
      /**
       * The message to send
       */
      private $message;
      /**
       * The optional date when the message should be delivered.
     * If not given it will be delivered immediately.
       */
      private $dateSendOn;
      /**
       * This isn't used anymore.
       */
      private $instantOnly;
      /**
       * The registered device id for the device if their is one.
       */
      private $deviceId;

      /**
       * Constructs a UserMessageSendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The msisdn of the recipient.
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The msisdn of the recipient.
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * The message to send
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function getDateSendOn() {
        return $this->dateSendOn;
      }
      
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function setDateSendOn($dateSendOn) {
        $this->dateSendOn = $dateSendOn;
      }
      /**
       * This isn't used anymore.
       */
      public function getInstantOnly() {
        return $this->instantOnly;
      }
      
      /**
       * This isn't used anymore.
       */
      public function setInstantOnly($instantOnly) {
        $this->instantOnly = $instantOnly;
      }
      /**
       * The registered device id for the device if their is one.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device if their is one.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Returns the associative array for this UserMessageSendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->dateSendOn ) {
          $a["dateSendOn"] = $this->dateSendOn;
        }
        if( $this->instantOnly ) {
          $a["instantOnly"] = $this->instantOnly;
        }
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['dateSendOn']) ) {
          $this->dateSendOn = $o["dateSendOn"];
        }
        if( isset($o['instantOnly']) ) {
          $this->instantOnly = $o["instantOnly"];
        }
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageSearchRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The query string.
     * 
     * i.e: Hello -tom
       */
      private $query;
      /**
       * The optional address of the conversation.
       */
      private $address;
      /**
       * If true only locked messages will be searched.
       */
      private $locked;
      /**
       * The limit of the search.
       */
      private $limit;

      /**
       * Constructs a UserMessageSearchRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The query string.
       * 
       * i.e: Hello -tom
       */
      public function getQuery() {
        return $this->query;
      }
      
      /**
       * The query string.
       * 
       * i.e: Hello -tom
       */
      public function setQuery($query) {
        $this->query = $query;
      }
      /**
       * The optional address of the conversation.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The optional address of the conversation.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * If true only locked messages will be searched.
       */
      public function getLocked() {
        return $this->locked;
      }
      
      /**
       * If true only locked messages will be searched.
       */
      public function setLocked($locked) {
        $this->locked = $locked;
      }
      /**
       * The limit of the search.
       */
      public function getLimit() {
        return $this->limit;
      }
      
      /**
       * The limit of the search.
       */
      public function setLimit($limit) {
        $this->limit = $limit;
      }
      /**
       * Returns the associative array for this UserMessageSearchRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->query ) {
          $a["query"] = $this->query;
        }
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->locked ) {
          $a["locked"] = $this->locked;
        }
        if( $this->limit ) {
          $a["limit"] = $this->limit;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageSearchRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['query']) ) {
          $this->query = $o["query"];
        }
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['locked']) ) {
          $this->locked = $o["locked"];
        }
        if( isset($o['limit']) ) {
          $this->limit = $o["limit"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageLockListRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The message ids of the messages which should be locked.
       */
      private $messageIds;

      /**
       * Constructs a UserMessageLockListRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message ids of the messages which should be locked.
       */
      public function getMessageIds() {
        return $this->messageIds;
      }
      
      /**
       * The message ids of the messages which should be locked.
       */
      public function setMessageIds($messageIds) {
        $this->messageIds = $messageIds;
      }
      /**
       * Returns the associative array for this UserMessageLockListRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageIds ) {
          $ab = array();
          foreach( $this->messageIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['messageIds'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageLockListRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->messageIds = array();
        if( isset($o['messageIds']) ) {
          foreach( $o['messageIds'] as $i => $x ) {
            $this->messageIds[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageGetMessagesRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address of the conversation.
       */
      private $address;
      /**
       * The offset of the user message list.
       */
      private $offset;
      /**
       * The limit of the user message list.
       */
      private $limit;

      /**
       * Constructs a UserMessageGetMessagesRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the conversation.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the conversation.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * The offset of the user message list.
       */
      public function getOffset() {
        return $this->offset;
      }
      
      /**
       * The offset of the user message list.
       */
      public function setOffset($offset) {
        $this->offset = $offset;
      }
      /**
       * The limit of the user message list.
       */
      public function getLimit() {
        return $this->limit;
      }
      
      /**
       * The limit of the user message list.
       */
      public function setLimit($limit) {
        $this->limit = $limit;
      }
      /**
       * Returns the associative array for this UserMessageGetMessagesRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        if( $this->offset ) {
          $a["offset"] = $this->offset;
        }
        if( $this->limit ) {
          $a["limit"] = $this->limit;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageGetMessagesRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
        if( isset($o['offset']) ) {
          $this->offset = $o["offset"];
        }
        if( isset($o['limit']) ) {
          $this->limit = $o["limit"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The message id of the message which should be deleted.
       */
      private $messageId;

      /**
       * Constructs a UserMessageDeleteRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The message id of the message which should be deleted.
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The message id of the message which should be deleted.
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this UserMessageDeleteRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserMessage {

    /**
     * 
     */
    class UserMessageDeleteConversationRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address of the conversation which should be deleted.
       */
      private $address;

      /**
       * Constructs a UserMessageDeleteConversationRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address of the conversation which should be deleted.
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address of the conversation which should be deleted.
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * Returns the associative array for this UserMessageDeleteConversationRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        return $a;
      }
      

      /**
       * Initializes this UserMessageDeleteConversationRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceUpdateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The device id
       */
      private $deviceId;
      /**
       * Can the device receive calls.
       */
      private $canReceiveCall;
      /**
       * Can the device initiate calls.
       */
      private $canInitiateCall;
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      private $pushRegistrationId;
      /**
       * Sets the push config which depends on the os and is usually in json format.
     * 
     * iOS/iOS2:
     * {
     * sound : {
     * name : {
     * user : &quot;&quot;, // name of sound file
     * group : &quot;&quot;, // name of sound file
     * },
     * onlyOnFirstMessage : true/false
     * }
     * }
     * 
     * others: push config is ignored
       */
      private $pushConfig;
      /**
       * Sets the max mms size in bytes that is allowed to send
     * 
     * This is an optional parameter
       */
      private $maxMmsSize;

      /**
       * Constructs a UserDeviceUpdateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The device id
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The device id
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Can the device receive calls.
       */
      public function getCanReceiveCall() {
        return $this->canReceiveCall;
      }
      
      /**
       * Can the device receive calls.
       */
      public function setCanReceiveCall($canReceiveCall) {
        $this->canReceiveCall = $canReceiveCall;
      }
      /**
       * Can the device initiate calls.
       */
      public function getCanInitiateCall() {
        return $this->canInitiateCall;
      }
      
      /**
       * Can the device initiate calls.
       */
      public function setCanInitiateCall($canInitiateCall) {
        $this->canInitiateCall = $canInitiateCall;
      }
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      public function getPushRegistrationId() {
        return $this->pushRegistrationId;
      }
      
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      public function setPushRegistrationId($pushRegistrationId) {
        $this->pushRegistrationId = $pushRegistrationId;
      }
      /**
       * Sets the push config which depends on the os and is usually in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function getPushConfig() {
        return $this->pushConfig;
      }
      
      /**
       * Sets the push config which depends on the os and is usually in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function setPushConfig($pushConfig) {
        $this->pushConfig = $pushConfig;
      }
      /**
       * Sets the max mms size in bytes that is allowed to send
       * 
       * This is an optional parameter
       */
      public function getMaxMmsSize() {
        return $this->maxMmsSize;
      }
      
      /**
       * Sets the max mms size in bytes that is allowed to send
       * 
       * This is an optional parameter
       */
      public function setMaxMmsSize($maxMmsSize) {
        $this->maxMmsSize = $maxMmsSize;
      }
      /**
       * Returns the associative array for this UserDeviceUpdateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->canReceiveCall ) {
          $a["canReceiveCall"] = $this->canReceiveCall;
        }
        if( $this->canInitiateCall ) {
          $a["canInitiateCall"] = $this->canInitiateCall;
        }
        if( $this->pushRegistrationId ) {
          $a["pushRegistrationId"] = $this->pushRegistrationId;
        }
        if( $this->pushConfig ) {
          $a["pushConfig"] = $this->pushConfig;
        }
        if( $this->maxMmsSize ) {
          $a["maxMmsSize"] = $this->maxMmsSize;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceUpdateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        if( isset($o['canReceiveCall']) ) {
          $this->canReceiveCall = $o["canReceiveCall"];
        }
        if( isset($o['canInitiateCall']) ) {
          $this->canInitiateCall = $o["canInitiateCall"];
        }
        if( isset($o['pushRegistrationId']) ) {
          $this->pushRegistrationId = $o["pushRegistrationId"];
        }
        if( isset($o['pushConfig']) ) {
          $this->pushConfig = $o["pushConfig"];
        }
        if( isset($o['maxMmsSize']) ) {
          $this->maxMmsSize = $o["maxMmsSize"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceCreateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The device operation system.
     * 
     * 0  .. android (c2dm)
     * 1  .. ios
     * 5  .. windows phone
     * 6  .. android (gcm)
     * 7  .. windows (metro)
     * 13 .. chrome (gcm)
       */
      private $os;
      /**
       * Can the device send sms over sim.
       */
      private $canSendSms;
      /**
       * Can the device receive calls.
       */
      private $canReceiveCall;
      /**
       * Can the device initiate calls.
       */
      private $canInitiateCall;
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      private $pushRegistrationId;
      /**
       * If set and device limit is reached most inactive device will be removed before creation.
       */
      private $force;
      /**
       * Sets the amount of messages that are synchronized initially.
       */
      private $messageHistoryLimit;
      /**
       * Sets the push config which depends on the os and is usually a in json format.
     * 
     * iOS/iOS2:
     * {
     * sound : {
     * name : {
     * user : &quot;&quot;, // name of sound file
     * group : &quot;&quot;, // name of sound file
     * },
     * onlyOnFirstMessage : true/false
     * }
     * }
     * 
     * others: push config is ignored
       */
      private $pushConfig;
      /**
       * Sets the max mms size in bytes that is allowed to send
     * 
     * This is an optional parameter
       */
      private $maxMmsSize;

      /**
       * Constructs a UserDeviceCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The device operation system.
       * 
       * 0  .. android (c2dm)
       * 1  .. ios
       * 5  .. windows phone
       * 6  .. android (gcm)
       * 7  .. windows (metro)
       * 13 .. chrome (gcm)
       */
      public function getOs() {
        return $this->os;
      }
      
      /**
       * The device operation system.
       * 
       * 0  .. android (c2dm)
       * 1  .. ios
       * 5  .. windows phone
       * 6  .. android (gcm)
       * 7  .. windows (metro)
       * 13 .. chrome (gcm)
       */
      public function setOs($os) {
        $this->os = $os;
      }
      /**
       * Can the device send sms over sim.
       */
      public function getCanSendSms() {
        return $this->canSendSms;
      }
      
      /**
       * Can the device send sms over sim.
       */
      public function setCanSendSms($canSendSms) {
        $this->canSendSms = $canSendSms;
      }
      /**
       * Can the device receive calls.
       */
      public function getCanReceiveCall() {
        return $this->canReceiveCall;
      }
      
      /**
       * Can the device receive calls.
       */
      public function setCanReceiveCall($canReceiveCall) {
        $this->canReceiveCall = $canReceiveCall;
      }
      /**
       * Can the device initiate calls.
       */
      public function getCanInitiateCall() {
        return $this->canInitiateCall;
      }
      
      /**
       * Can the device initiate calls.
       */
      public function setCanInitiateCall($canInitiateCall) {
        $this->canInitiateCall = $canInitiateCall;
      }
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      public function getPushRegistrationId() {
        return $this->pushRegistrationId;
      }
      
      /**
       * The push registration id from the device operating system (i.e. android -&gt; c2dm).
       */
      public function setPushRegistrationId($pushRegistrationId) {
        $this->pushRegistrationId = $pushRegistrationId;
      }
      /**
       * If set and device limit is reached most inactive device will be removed before creation.
       */
      public function getForce() {
        return $this->force;
      }
      
      /**
       * If set and device limit is reached most inactive device will be removed before creation.
       */
      public function setForce($force) {
        $this->force = $force;
      }
      /**
       * Sets the amount of messages that are synchronized initially.
       */
      public function getMessageHistoryLimit() {
        return $this->messageHistoryLimit;
      }
      
      /**
       * Sets the amount of messages that are synchronized initially.
       */
      public function setMessageHistoryLimit($messageHistoryLimit) {
        $this->messageHistoryLimit = $messageHistoryLimit;
      }
      /**
       * Sets the push config which depends on the os and is usually a in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function getPushConfig() {
        return $this->pushConfig;
      }
      
      /**
       * Sets the push config which depends on the os and is usually a in json format.
       * 
       * iOS/iOS2:
       * {
       * sound : {
       * name : {
       * user : &quot;&quot;, // name of sound file
       * group : &quot;&quot;, // name of sound file
       * },
       * onlyOnFirstMessage : true/false
       * }
       * }
       * 
       * others: push config is ignored
       */
      public function setPushConfig($pushConfig) {
        $this->pushConfig = $pushConfig;
      }
      /**
       * Sets the max mms size in bytes that is allowed to send
       * 
       * This is an optional parameter
       */
      public function getMaxMmsSize() {
        return $this->maxMmsSize;
      }
      
      /**
       * Sets the max mms size in bytes that is allowed to send
       * 
       * This is an optional parameter
       */
      public function setMaxMmsSize($maxMmsSize) {
        $this->maxMmsSize = $maxMmsSize;
      }
      /**
       * Returns the associative array for this UserDeviceCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->os ) {
          $a["os"] = $this->os;
        }
        if( $this->canSendSms ) {
          $a["canSendSms"] = $this->canSendSms;
        }
        if( $this->canReceiveCall ) {
          $a["canReceiveCall"] = $this->canReceiveCall;
        }
        if( $this->canInitiateCall ) {
          $a["canInitiateCall"] = $this->canInitiateCall;
        }
        if( $this->pushRegistrationId ) {
          $a["pushRegistrationId"] = $this->pushRegistrationId;
        }
        if( $this->force ) {
          $a["force"] = $this->force;
        }
        if( $this->messageHistoryLimit ) {
          $a["messageHistoryLimit"] = $this->messageHistoryLimit;
        }
        if( $this->pushConfig ) {
          $a["pushConfig"] = $this->pushConfig;
        }
        if( $this->maxMmsSize ) {
          $a["maxMmsSize"] = $this->maxMmsSize;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['os']) ) {
          $this->os = $o["os"];
        }
        if( isset($o['canSendSms']) ) {
          $this->canSendSms = $o["canSendSms"];
        }
        if( isset($o['canReceiveCall']) ) {
          $this->canReceiveCall = $o["canReceiveCall"];
        }
        if( isset($o['canInitiateCall']) ) {
          $this->canInitiateCall = $o["canInitiateCall"];
        }
        if( isset($o['pushRegistrationId']) ) {
          $this->pushRegistrationId = $o["pushRegistrationId"];
        }
        if( isset($o['force']) ) {
          $this->force = $o["force"];
        }
        if( isset($o['messageHistoryLimit']) ) {
          $this->messageHistoryLimit = $o["messageHistoryLimit"];
        }
        if( isset($o['pushConfig']) ) {
          $this->pushConfig = $o["pushConfig"];
        }
        if( isset($o['maxMmsSize']) ) {
          $this->maxMmsSize = $o["maxMmsSize"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserDevice {

    /**
     * 
     */
    class UserDeviceClientDeleteRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The client device id to delete
       */
      private $deviceId;

      /**
       * Constructs a UserDeviceClientDeleteRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The client device id to delete
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The client device id to delete
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Returns the associative array for this UserDeviceClientDeleteRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        return $a;
      }
      

      /**
       * Initializes this UserDeviceClientDeleteRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactOverrideUpdateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * (no documentation provided)
       */
      private $contactOverride;

      /**
       * Constructs a UserContactOverrideUpdateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getContactOverride() {
        return $this->contactOverride;
      }
      
      /**
       * (no documentation provided)
       */
      public function setContactOverride($contactOverride) {
        $this->contactOverride = $contactOverride;
      }
      /**
       * Returns the associative array for this UserContactOverrideUpdateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->contactOverride ) {
          $a["contactOverride"] = $this->contactOverride->toArray();
        }
        return $a;
      }
      

      /**
       * Initializes this UserContactOverrideUpdateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['contactOverride']) ) {
          $this->contactOverride = new \Com\Mysms\Api\Domain\UserContact\UserContactOverride($o["contactOverride"]);
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserContact {

    /**
     * 
     */
    class UserContactGetContactsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserContactGetContactsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserContactGetContactsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserContactGetContactsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallUpdateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The call id of the call which should be updated.
       */
      private $callId;
      /**
       * True if the call was already read otherwise the call is marked unread. (optional)
       */
      private $read;
      /**
       * The duration of the call in seconds (optional)
       */
      private $duration;
      /**
       * The status of the call (optional)
     * 
     * 0 .. ringing
     * 1 .. active
     * 2 .. complete
     * 3 .. missed
       */
      private $status;

      /**
       * Constructs a UserCallUpdateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The call id of the call which should be updated.
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The call id of the call which should be updated.
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * True if the call was already read otherwise the call is marked unread. (optional)
       */
      public function getRead() {
        return $this->read;
      }
      
      /**
       * True if the call was already read otherwise the call is marked unread. (optional)
       */
      public function setRead($read) {
        $this->read = $read;
      }
      /**
       * The duration of the call in seconds (optional)
       */
      public function getDuration() {
        return $this->duration;
      }
      
      /**
       * The duration of the call in seconds (optional)
       */
      public function setDuration($duration) {
        $this->duration = $duration;
      }
      /**
       * The status of the call (optional)
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function getStatus() {
        return $this->status;
      }
      
      /**
       * The status of the call (optional)
       * 
       * 0 .. ringing
       * 1 .. active
       * 2 .. complete
       * 3 .. missed
       */
      public function setStatus($status) {
        $this->status = $status;
      }
      /**
       * Returns the associative array for this UserCallUpdateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        if( $this->read ) {
          $a["read"] = $this->read;
        }
        if( $this->duration ) {
          $a["duration"] = $this->duration;
        }
        if( $this->status ) {
          $a["status"] = $this->status;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallUpdateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
        if( isset($o['read']) ) {
          $this->read = $o["read"];
        }
        if( isset($o['duration']) ) {
          $this->duration = $o["duration"];
        }
        if( isset($o['status']) ) {
          $this->status = $o["status"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallSyncRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The registered device id for the device.
       */
      private $deviceId;
      /**
       * The calls that was modified on the device and needs to be synced to the server.
       */
      private $syncs;
      /**
       * The acknowledge of calls synchronized previously from the server.
       */
      private $syncAcks;
      /**
       * The maximum amount of calls that will be returned from server
       */
      private $syncLimit;
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      private $syncInitial;

      /**
       * Constructs a UserCallSyncRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The registered device id for the device.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * The calls that was modified on the device and needs to be synced to the server.
       */
      public function getSyncs() {
        return $this->syncs;
      }
      
      /**
       * The calls that was modified on the device and needs to be synced to the server.
       */
      public function setSyncs($syncs) {
        $this->syncs = $syncs;
      }
      /**
       * The acknowledge of calls synchronized previously from the server.
       */
      public function getSyncAcks() {
        return $this->syncAcks;
      }
      
      /**
       * The acknowledge of calls synchronized previously from the server.
       */
      public function setSyncAcks($syncAcks) {
        $this->syncAcks = $syncAcks;
      }
      /**
       * The maximum amount of calls that will be returned from server
       */
      public function getSyncLimit() {
        return $this->syncLimit;
      }
      
      /**
       * The maximum amount of calls that will be returned from server
       */
      public function setSyncLimit($syncLimit) {
        $this->syncLimit = $syncLimit;
      }
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function getSyncInitial() {
        return $this->syncInitial;
      }
      
      /**
       * True if the sync is the first sync. If not set the value will not change.
       */
      public function setSyncInitial($syncInitial) {
        $this->syncInitial = $syncInitial;
      }
      /**
       * Returns the associative array for this UserCallSyncRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        if( $this->syncs ) {
          $ab = array();
          foreach( $this->syncs as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncs'] = $ab;
        }
        if( $this->syncAcks ) {
          $ab = array();
          foreach( $this->syncAcks as $i => $x ) {
            $ab[$i] = $x->toArray();
          }
          $a['syncAcks'] = $ab;
        }
        if( $this->syncLimit ) {
          $a["syncLimit"] = $this->syncLimit;
        }
        if( $this->syncInitial ) {
          $a["syncInitial"] = $this->syncInitial;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallSyncRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
        $this->syncs = array();
        if( isset($o['syncs']) ) {
          foreach( $o['syncs'] as $i => $x ) {
            $this->syncs[$i] = new \Com\Mysms\Api\Domain\UserCall\UserCallSync($x);
          }
        }
        $this->syncAcks = array();
        if( isset($o['syncAcks']) ) {
          foreach( $o['syncAcks'] as $i => $x ) {
            $this->syncAcks[$i] = new \Com\Mysms\Api\Domain\UserCall\UserCallSyncAck($x);
          }
        }
        if( isset($o['syncLimit']) ) {
          $this->syncLimit = $o["syncLimit"];
        }
        if( isset($o['syncInitial']) ) {
          $this->syncInitial = $o["syncInitial"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallReadAllRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserCallReadAllRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallReadAllRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallReadAllRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallGetCallsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The offset of the user call list.
       */
      private $offset;
      /**
       * The limit of the user call list.
       */
      private $limit;

      /**
       * Constructs a UserCallGetCallsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The offset of the user call list.
       */
      public function getOffset() {
        return $this->offset;
      }
      
      /**
       * The offset of the user call list.
       */
      public function setOffset($offset) {
        $this->offset = $offset;
      }
      /**
       * The limit of the user call list.
       */
      public function getLimit() {
        return $this->limit;
      }
      
      /**
       * The limit of the user call list.
       */
      public function setLimit($limit) {
        $this->limit = $limit;
      }
      /**
       * Returns the associative array for this UserCallGetCallsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->offset ) {
          $a["offset"] = $this->offset;
        }
        if( $this->limit ) {
          $a["limit"] = $this->limit;
        }
        return $a;
      }
      

      /**
       * Initializes this UserCallGetCallsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['offset']) ) {
          $this->offset = $o["offset"];
        }
        if( isset($o['limit']) ) {
          $this->limit = $o["limit"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\UserCall {

    /**
     * 
     */
    class UserCallDeleteAllRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserCallDeleteAllRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserCallDeleteAllRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserCallDeleteAllRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserVerifyMsisdnRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The user's verified mobile number
       */
      private $msisdn;
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      private $msisdnVerifyPin;

      /**
       * Constructs a UserVerifyMsisdnRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The user's verified mobile number
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The user's verified mobile number
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function getMsisdnVerifyPin() {
        return $this->msisdnVerifyPin;
      }
      
      /**
       * The msisdn verify pin send to the user (see msisdn/verify)
       */
      public function setMsisdnVerifyPin($msisdnVerifyPin) {
        $this->msisdnVerifyPin = $msisdnVerifyPin;
      }
      /**
       * Returns the associative array for this UserVerifyMsisdnRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->msisdnVerifyPin ) {
          $a["msisdnVerifyPin"] = $this->msisdnVerifyPin;
        }
        return $a;
      }
      

      /**
       * Initializes this UserVerifyMsisdnRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['msisdnVerifyPin']) ) {
          $this->msisdnVerifyPin = $o["msisdnVerifyPin"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserSetSettingRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The sms routing.
     * 
     * 0: send all sms over sim
     * 1: send all sms over mysms
     * 2: send national sms over sim and international over mysms
       */
      private $smsRouting;
      /**
       * The user's signature
       */
      private $signature;
      /**
       * The account to account send enabled state
       */
      private $a2aSendEnabled;
      /**
       * The account to account receive enabled state
       */
      private $a2aReceiveEnabled;

      /**
       * Constructs a UserSetSettingRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The sms routing.
       * 
       * 0: send all sms over sim
       * 1: send all sms over mysms
       * 2: send national sms over sim and international over mysms
       */
      public function getSmsRouting() {
        return $this->smsRouting;
      }
      
      /**
       * The sms routing.
       * 
       * 0: send all sms over sim
       * 1: send all sms over mysms
       * 2: send national sms over sim and international over mysms
       */
      public function setSmsRouting($smsRouting) {
        $this->smsRouting = $smsRouting;
      }
      /**
       * The user's signature
       */
      public function getSignature() {
        return $this->signature;
      }
      
      /**
       * The user's signature
       */
      public function setSignature($signature) {
        $this->signature = $signature;
      }
      /**
       * The account to account send enabled state
       */
      public function getA2aSendEnabled() {
        return $this->a2aSendEnabled;
      }
      
      /**
       * The account to account send enabled state
       */
      public function setA2aSendEnabled($a2aSendEnabled) {
        $this->a2aSendEnabled = $a2aSendEnabled;
      }
      /**
       * The account to account receive enabled state
       */
      public function getA2aReceiveEnabled() {
        return $this->a2aReceiveEnabled;
      }
      
      /**
       * The account to account receive enabled state
       */
      public function setA2aReceiveEnabled($a2aReceiveEnabled) {
        $this->a2aReceiveEnabled = $a2aReceiveEnabled;
      }
      /**
       * Returns the associative array for this UserSetSettingRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->smsRouting ) {
          $a["smsRouting"] = $this->smsRouting;
        }
        if( $this->signature ) {
          $a["signature"] = $this->signature;
        }
        if( $this->a2aSendEnabled ) {
          $a["a2aSendEnabled"] = $this->a2aSendEnabled;
        }
        if( $this->a2aReceiveEnabled ) {
          $a["a2aReceiveEnabled"] = $this->a2aReceiveEnabled;
        }
        return $a;
      }
      

      /**
       * Initializes this UserSetSettingRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['smsRouting']) ) {
          $this->smsRouting = $o["smsRouting"];
        }
        if( isset($o['signature']) ) {
          $this->signature = $o["signature"];
        }
        if( isset($o['a2aSendEnabled']) ) {
          $this->a2aSendEnabled = $o["a2aSendEnabled"];
        }
        if( isset($o['a2aReceiveEnabled']) ) {
          $this->a2aReceiveEnabled = $o["a2aReceiveEnabled"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetSmsRoutingRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The mobile number of the recipient
       */
      private $msisdn;
      /**
       * Prefer the saved entry over a2a routing
       */
      private $preferSaved;

      /**
       * Constructs a UserGetSmsRoutingRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The mobile number of the recipient
       */
      public function getMsisdn() {
        return $this->msisdn;
      }
      
      /**
       * The mobile number of the recipient
       */
      public function setMsisdn($msisdn) {
        $this->msisdn = $msisdn;
      }
      /**
       * Prefer the saved entry over a2a routing
       */
      public function getPreferSaved() {
        return $this->preferSaved;
      }
      
      /**
       * Prefer the saved entry over a2a routing
       */
      public function setPreferSaved($preferSaved) {
        $this->preferSaved = $preferSaved;
      }
      /**
       * Returns the associative array for this UserGetSmsRoutingRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->msisdn ) {
          $a["msisdn"] = $this->msisdn;
        }
        if( $this->preferSaved ) {
          $a["preferSaved"] = $this->preferSaved;
        }
        return $a;
      }
      

      /**
       * Initializes this UserGetSmsRoutingRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['msisdn']) ) {
          $this->msisdn = $o["msisdn"];
        }
        if( isset($o['preferSaved']) ) {
          $this->preferSaved = $o["preferSaved"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetSettingRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserGetSettingRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserGetSettingRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserGetSettingRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserGetBalanceRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a UserGetBalanceRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this UserGetBalanceRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this UserGetBalanceRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\User {

    /**
     * 
     */
    class UserChangePasswordRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The new password
       */
      private $password;

      /**
       * Constructs a UserChangePasswordRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The new password
       */
      public function getPassword() {
        return $this->password;
      }
      
      /**
       * The new password
       */
      public function setPassword($password) {
        $this->password = $password;
      }
      /**
       * Returns the associative array for this UserChangePasswordRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->password ) {
          $a["password"] = $this->password;
        }
        return $a;
      }
      

      /**
       * Initializes this UserChangePasswordRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['password']) ) {
          $this->password = $o["password"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Typing {

    /**
     * 
     */
    class TypingFireEventRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The recipient in international format (+436761234567)
       */
      private $recipient;

      /**
       * Constructs a TypingFireEventRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The recipient in international format (+436761234567)
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The recipient in international format (+436761234567)
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * Returns the associative array for this TypingFireEventRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        return $a;
      }
      

      /**
       * Initializes this TypingFireEventRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\SmsConnector {

    /**
     * 
     */
    class SmsConnectorCreateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The operation system for which this connector is for.
     * 
     * 0 .. android
       */
      private $os;
      /**
       * The package name of the sms connector
       */
      private $packageName;
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      private $subConnectorId;
      /**
       * The display name of the sms connector
       */
      private $name;
      /**
       * The maximum sms length of the sms connector
       */
      private $maxLength;
      /**
       * The maximum sms recipients per sms for this connector
       */
      private $maxRecipients;
      /**
       * A bit mask with possible sms encodings for this connector
     * 
     * bit 1 .. 7bit
     * bit 2 .. 8bit
     * bit 3 .. ucs2
       */
      private $encodings;
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      private $recipientRegex;

      /**
       * Constructs a SmsConnectorCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The operation system for which this connector is for.
       * 
       * 0 .. android
       */
      public function getOs() {
        return $this->os;
      }
      
      /**
       * The operation system for which this connector is for.
       * 
       * 0 .. android
       */
      public function setOs($os) {
        $this->os = $os;
      }
      /**
       * The package name of the sms connector
       */
      public function getPackageName() {
        return $this->packageName;
      }
      
      /**
       * The package name of the sms connector
       */
      public function setPackageName($packageName) {
        $this->packageName = $packageName;
      }
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      public function getSubConnectorId() {
        return $this->subConnectorId;
      }
      
      /**
       * The sub connector id of the sms connector or null if this is no sub connector.
       */
      public function setSubConnectorId($subConnectorId) {
        $this->subConnectorId = $subConnectorId;
      }
      /**
       * The display name of the sms connector
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The display name of the sms connector
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The maximum sms length of the sms connector
       */
      public function getMaxLength() {
        return $this->maxLength;
      }
      
      /**
       * The maximum sms length of the sms connector
       */
      public function setMaxLength($maxLength) {
        $this->maxLength = $maxLength;
      }
      /**
       * The maximum sms recipients per sms for this connector
       */
      public function getMaxRecipients() {
        return $this->maxRecipients;
      }
      
      /**
       * The maximum sms recipients per sms for this connector
       */
      public function setMaxRecipients($maxRecipients) {
        $this->maxRecipients = $maxRecipients;
      }
      /**
       * A bit mask with possible sms encodings for this connector
       * 
       * bit 1 .. 7bit
       * bit 2 .. 8bit
       * bit 3 .. ucs2
       */
      public function getEncodings() {
        return $this->encodings;
      }
      
      /**
       * A bit mask with possible sms encodings for this connector
       * 
       * bit 1 .. 7bit
       * bit 2 .. 8bit
       * bit 3 .. ucs2
       */
      public function setEncodings($encodings) {
        $this->encodings = $encodings;
      }
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      public function getRecipientRegex() {
        return $this->recipientRegex;
      }
      
      /**
       * The allowed recipient regex (i.e. for austria only: &quot;43(650|676|660|664|669)&quot;) or null if their is no restriction.
       */
      public function setRecipientRegex($recipientRegex) {
        $this->recipientRegex = $recipientRegex;
      }
      /**
       * Returns the associative array for this SmsConnectorCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->os ) {
          $a["os"] = $this->os;
        }
        if( $this->packageName ) {
          $a["packageName"] = $this->packageName;
        }
        if( $this->subConnectorId ) {
          $a["subConnectorId"] = $this->subConnectorId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->maxLength ) {
          $a["maxLength"] = $this->maxLength;
        }
        if( $this->maxRecipients ) {
          $a["maxRecipients"] = $this->maxRecipients;
        }
        if( $this->encodings ) {
          $a["encodings"] = $this->encodings;
        }
        if( $this->recipientRegex ) {
          $a["recipientRegex"] = $this->recipientRegex;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsConnectorCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['os']) ) {
          $this->os = $o["os"];
        }
        if( isset($o['packageName']) ) {
          $this->packageName = $o["packageName"];
        }
        if( isset($o['subConnectorId']) ) {
          $this->subConnectorId = $o["subConnectorId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        if( isset($o['maxLength']) ) {
          $this->maxLength = $o["maxLength"];
        }
        if( isset($o['maxRecipients']) ) {
          $this->maxRecipients = $o["maxRecipients"];
        }
        if( isset($o['encodings']) ) {
          $this->encodings = $o["encodings"];
        }
        if( isset($o['recipientRegex']) ) {
          $this->recipientRegex = $o["recipientRegex"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Sms {

    /**
     * 
     */
    class SmsSendSponsoredRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The recipient in international format (436761234567)
       */
      private $recipient;
      /**
       * The message to send.
     * 
     * The message must contain a reference to mysms.com
       */
      private $message;

      /**
       * Constructs a SmsSendSponsoredRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The recipient in international format (436761234567)
       */
      public function getRecipient() {
        return $this->recipient;
      }
      
      /**
       * The recipient in international format (436761234567)
       */
      public function setRecipient($recipient) {
        $this->recipient = $recipient;
      }
      /**
       * The message to send.
       * 
       * The message must contain a reference to mysms.com
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send.
       * 
       * The message must contain a reference to mysms.com
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * Returns the associative array for this SmsSendSponsoredRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->recipient ) {
          $a["recipient"] = $this->recipient;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        return $a;
      }
      

      /**
       * Initializes this SmsSendSponsoredRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['recipient']) ) {
          $this->recipient = $o["recipient"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopStartPaymentRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * (no documentation provided)
       */
      private $productId;
      /**
       * (no documentation provided)
       */
      private $paymentMethodId;

      /**
       * Constructs a ShopStartPaymentRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * (no documentation provided)
       */
      public function getProductId() {
        return $this->productId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setProductId($productId) {
        $this->productId = $productId;
      }
      /**
       * (no documentation provided)
       */
      public function getPaymentMethodId() {
        return $this->paymentMethodId;
      }
      
      /**
       * (no documentation provided)
       */
      public function setPaymentMethodId($paymentMethodId) {
        $this->paymentMethodId = $paymentMethodId;
      }
      /**
       * Returns the associative array for this ShopStartPaymentRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productId ) {
          $a["productId"] = $this->productId;
        }
        if( $this->paymentMethodId ) {
          $a["paymentMethodId"] = $this->paymentMethodId;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopStartPaymentRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productId']) ) {
          $this->productId = $o["productId"];
        }
        if( isset($o['paymentMethodId']) ) {
          $this->paymentMethodId = $o["paymentMethodId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopGetPaymentMethodsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The product id to query the payment methods for
       */
      private $productId;

      /**
       * Constructs a ShopGetPaymentMethodsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The product id to query the payment methods for
       */
      public function getProductId() {
        return $this->productId;
      }
      
      /**
       * The product id to query the payment methods for
       */
      public function setProductId($productId) {
        $this->productId = $productId;
      }
      /**
       * Returns the associative array for this ShopGetPaymentMethodsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productId ) {
          $a["productId"] = $this->productId;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopGetPaymentMethodsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productId']) ) {
          $this->productId = $o["productId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Shop {

    /**
     * 
     */
    class ShopCheckPaymentRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The transaction id return by the start payment call.
       */
      private $transactionId;

      /**
       * Constructs a ShopCheckPaymentRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The transaction id return by the start payment call.
       */
      public function getTransactionId() {
        return $this->transactionId;
      }
      
      /**
       * The transaction id return by the start payment call.
       */
      public function setTransactionId($transactionId) {
        $this->transactionId = $transactionId;
      }
      /**
       * Returns the associative array for this ShopCheckPaymentRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->transactionId ) {
          $a["transactionId"] = $this->transactionId;
        }
        return $a;
      }
      

      /**
       * Initializes this ShopCheckPaymentRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['transactionId']) ) {
          $this->transactionId = $o["transactionId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsSendRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The recipients in international format (+436761234567)
       */
      private $recipients;
      /**
       * The message to send
       */
      private $message;
      /**
       * The optional date when the message should be delivered.
     * If not given it will be delivered immediately.
       */
      private $dateSendOn;
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      private $encoding;
      /**
       * The sms connector id to be used (optional). Leave zero for normal operator sms.
       */
      private $smsConnectorId;
      /**
       * True if the messages should be stored on the server as outgoing messages. In case of failed delivery the will be marked as unsent.
       */
      private $store;

      /**
       * Constructs a RemoteSmsSendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The recipients in international format (+436761234567)
       */
      public function getRecipients() {
        return $this->recipients;
      }
      
      /**
       * The recipients in international format (+436761234567)
       */
      public function setRecipients($recipients) {
        $this->recipients = $recipients;
      }
      /**
       * The message to send
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function getDateSendOn() {
        return $this->dateSendOn;
      }
      
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function setDateSendOn($dateSendOn) {
        $this->dateSendOn = $dateSendOn;
      }
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      public function getEncoding() {
        return $this->encoding;
      }
      
      /**
       * The encoding for the message (0 =&gt; 7-bit, 1 =&gt; 8-bit, 2 =&gt; UCS2)
       */
      public function setEncoding($encoding) {
        $this->encoding = $encoding;
      }
      /**
       * The sms connector id to be used (optional). Leave zero for normal operator sms.
       */
      public function getSmsConnectorId() {
        return $this->smsConnectorId;
      }
      
      /**
       * The sms connector id to be used (optional). Leave zero for normal operator sms.
       */
      public function setSmsConnectorId($smsConnectorId) {
        $this->smsConnectorId = $smsConnectorId;
      }
      /**
       * True if the messages should be stored on the server as outgoing messages. In case of failed delivery the will be marked as unsent.
       */
      public function getStore() {
        return $this->store;
      }
      
      /**
       * True if the messages should be stored on the server as outgoing messages. In case of failed delivery the will be marked as unsent.
       */
      public function setStore($store) {
        $this->store = $store;
      }
      /**
       * Returns the associative array for this RemoteSmsSendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->recipients ) {
          $ab = array();
          foreach( $this->recipients as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['recipients'] = $ab;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->dateSendOn ) {
          $a["dateSendOn"] = $this->dateSendOn;
        }
        if( $this->encoding ) {
          $a["encoding"] = $this->encoding;
        }
        if( $this->smsConnectorId ) {
          $a["smsConnectorId"] = $this->smsConnectorId;
        }
        if( $this->store ) {
          $a["store"] = $this->store;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsSendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        $this->recipients = array();
        if( isset($o['recipients']) ) {
          foreach( $o['recipients'] as $i => $x ) {
            $this->recipients[$i] = $x;
          }
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['dateSendOn']) ) {
          $this->dateSendOn = $o["dateSendOn"];
        }
        if( isset($o['encoding']) ) {
          $this->encoding = $o["encoding"];
        }
        if( isset($o['smsConnectorId']) ) {
          $this->smsConnectorId = $o["smsConnectorId"];
        }
        if( isset($o['store']) ) {
          $this->store = $o["store"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupCreateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The name of the group.
       */
      private $name;
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
     * 
     * There must be at least one msisdn.
       */
      private $msisdns;

      /**
       * Constructs a GroupCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The name of the group.
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The name of the group.
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
       * 
       * There must be at least one msisdn.
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
       * 
       * There must be at least one msisdn.
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * Returns the associative array for this GroupCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupGetUsersRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The group id of the group.
       */
      private $groupId;

      /**
       * Constructs a GroupGetUsersRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of the group.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of the group.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * Returns the associative array for this GroupGetUsersRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupGetUsersRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupLeaveRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The group id of the group.
       */
      private $groupId;
      /**
       * The group ids of the groups to leave.
       */
      private $groupIds;
      /**
       * If true a info message about to leave is send to the user leaving otherwise it will only be send to the users that are still in the group.
       */
      private $quiet;

      /**
       * Constructs a GroupLeaveRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of the group.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of the group.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * The group ids of the groups to leave.
       */
      public function getGroupIds() {
        return $this->groupIds;
      }
      
      /**
       * The group ids of the groups to leave.
       */
      public function setGroupIds($groupIds) {
        $this->groupIds = $groupIds;
      }
      /**
       * If true a info message about to leave is send to the user leaving otherwise it will only be send to the users that are still in the group.
       */
      public function getQuiet() {
        return $this->quiet;
      }
      
      /**
       * If true a info message about to leave is send to the user leaving otherwise it will only be send to the users that are still in the group.
       */
      public function setQuiet($quiet) {
        $this->quiet = $quiet;
      }
      /**
       * Returns the associative array for this GroupLeaveRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        if( $this->groupIds ) {
          $ab = array();
          foreach( $this->groupIds as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['groupIds'] = $ab;
        }
        if( $this->quiet ) {
          $a["quiet"] = $this->quiet;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupLeaveRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
        $this->groupIds = array();
        if( isset($o['groupIds']) ) {
          foreach( $o['groupIds'] as $i => $x ) {
            $this->groupIds[$i] = $x;
          }
        }
        if( isset($o['quiet']) ) {
          $this->quiet = $o["quiet"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupSendMessageRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The group id of the group in this message should be send.
       */
      private $groupId;
      /**
       * The message to send
       */
      private $message;
      /**
       * The optional date when the message should be delivered.
     * If not given it will be delivered immediately.
       */
      private $dateSendOn;
      /**
       * The registered device id for the device if their is one.
       */
      private $deviceId;

      /**
       * Constructs a GroupSendMessageRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of the group in this message should be send.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of the group in this message should be send.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * The message to send
       */
      public function getMessage() {
        return $this->message;
      }
      
      /**
       * The message to send
       */
      public function setMessage($message) {
        $this->message = $message;
      }
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function getDateSendOn() {
        return $this->dateSendOn;
      }
      
      /**
       * The optional date when the message should be delivered.
       * If not given it will be delivered immediately.
       */
      public function setDateSendOn($dateSendOn) {
        $this->dateSendOn = $dateSendOn;
      }
      /**
       * The registered device id for the device if their is one.
       */
      public function getDeviceId() {
        return $this->deviceId;
      }
      
      /**
       * The registered device id for the device if their is one.
       */
      public function setDeviceId($deviceId) {
        $this->deviceId = $deviceId;
      }
      /**
       * Returns the associative array for this GroupSendMessageRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        if( $this->message ) {
          $a["message"] = $this->message;
        }
        if( $this->dateSendOn ) {
          $a["dateSendOn"] = $this->dateSendOn;
        }
        if( $this->deviceId ) {
          $a["deviceId"] = $this->deviceId;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupSendMessageRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
        if( isset($o['message']) ) {
          $this->message = $o["message"];
        }
        if( isset($o['dateSendOn']) ) {
          $this->dateSendOn = $o["dateSendOn"];
        }
        if( isset($o['deviceId']) ) {
          $this->deviceId = $o["deviceId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupRenameRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The group id of the group.
       */
      private $groupId;
      /**
       * The new name of the group.
       */
      private $name;

      /**
       * Constructs a GroupRenameRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of the group.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of the group.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * The new name of the group.
       */
      public function getName() {
        return $this->name;
      }
      
      /**
       * The new name of the group.
       */
      public function setName($name) {
        $this->name = $name;
      }
      /**
       * Returns the associative array for this GroupRenameRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        if( $this->name ) {
          $a["name"] = $this->name;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupRenameRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
        if( isset($o['name']) ) {
          $this->name = $o["name"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupInviteUsersRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The group id of the group.
       */
      private $groupId;
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
     * 
     * There must be at least one msisdn.
       */
      private $msisdns;

      /**
       * Constructs a GroupInviteUsersRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The group id of the group.
       */
      public function getGroupId() {
        return $this->groupId;
      }
      
      /**
       * The group id of the group.
       */
      public function setGroupId($groupId) {
        $this->groupId = $groupId;
      }
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
       * 
       * There must be at least one msisdn.
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdns of the user's that should be invited to the group in international format (436761234567).
       * 
       * There must be at least one msisdn.
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * Returns the associative array for this GroupInviteUsersRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->groupId ) {
          $a["groupId"] = $this->groupId;
        }
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this GroupInviteUsersRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['groupId']) ) {
          $this->groupId = $o["groupId"];
        }
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Group {

    /**
     * 
     */
    class GroupGetGroupsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a GroupGetGroupsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this GroupGetGroupsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this GroupGetGroupsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\CrmMessage {

    /**
     * 
     */
    class CrmMessageClickedRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      private $crmMessageId;
      /**
       * The button which has been clicked.
     * 
     * 1 .. close&lt;br&gt;
     * 2 .. view later&lt;br&gt;
     * 3 .. market review&lt;br&gt;
     * 4 .. invite friends&lt;br&gt;
     * 5 .. app update&lt;br&gt;
       */
      private $button;

      /**
       * Constructs a CrmMessageClickedRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      public function getCrmMessageId() {
        return $this->crmMessageId;
      }
      
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      public function setCrmMessageId($crmMessageId) {
        $this->crmMessageId = $crmMessageId;
      }
      /**
       * The button which has been clicked.
       * 
       * 1 .. close&lt;br&gt;
       * 2 .. view later&lt;br&gt;
       * 3 .. market review&lt;br&gt;
       * 4 .. invite friends&lt;br&gt;
       * 5 .. app update&lt;br&gt;
       */
      public function getButton() {
        return $this->button;
      }
      
      /**
       * The button which has been clicked.
       * 
       * 1 .. close&lt;br&gt;
       * 2 .. view later&lt;br&gt;
       * 3 .. market review&lt;br&gt;
       * 4 .. invite friends&lt;br&gt;
       * 5 .. app update&lt;br&gt;
       */
      public function setButton($button) {
        $this->button = $button;
      }
      /**
       * Returns the associative array for this CrmMessageClickedRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->crmMessageId ) {
          $a["crmMessageId"] = $this->crmMessageId;
        }
        if( $this->button ) {
          $a["button"] = $this->button;
        }
        return $a;
      }
      

      /**
       * Initializes this CrmMessageClickedRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['crmMessageId']) ) {
          $this->crmMessageId = $o["crmMessageId"];
        }
        if( isset($o['button']) ) {
          $this->button = $o["button"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallFailedRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The remote call initiate request id.
       */
      private $requestId;
      /**
       * The error message
       */
      private $errorMessage;

      /**
       * Constructs a RemoteCallFailedRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The remote call initiate request id.
       */
      public function getRequestId() {
        return $this->requestId;
      }
      
      /**
       * The remote call initiate request id.
       */
      public function setRequestId($requestId) {
        $this->requestId = $requestId;
      }
      /**
       * The error message
       */
      public function getErrorMessage() {
        return $this->errorMessage;
      }
      
      /**
       * The error message
       */
      public function setErrorMessage($errorMessage) {
        $this->errorMessage = $errorMessage;
      }
      /**
       * Returns the associative array for this RemoteCallFailedRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->requestId ) {
          $a["requestId"] = $this->requestId;
        }
        if( $this->errorMessage ) {
          $a["errorMessage"] = $this->errorMessage;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteCallFailedRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['requestId']) ) {
          $this->requestId = $o["requestId"];
        }
        if( isset($o['errorMessage']) ) {
          $this->errorMessage = $o["errorMessage"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallInitiateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The address in international format (+436761234567)
       */
      private $address;

      /**
       * Constructs a RemoteCallInitiateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The address in international format (+436761234567)
       */
      public function getAddress() {
        return $this->address;
      }
      
      /**
       * The address in international format (+436761234567)
       */
      public function setAddress($address) {
        $this->address = $address;
      }
      /**
       * Returns the associative array for this RemoteCallInitiateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->address ) {
          $a["address"] = $this->address;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteCallInitiateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['address']) ) {
          $this->address = $o["address"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsCancelRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The messageId to cancel or zero to cancel all unsent messages
       */
      private $messageId;

      /**
       * Constructs a RemoteSmsCancelRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The messageId to cancel or zero to cancel all unsent messages
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The messageId to cancel or zero to cancel all unsent messages
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this RemoteSmsCancelRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsCancelRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsResendRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The messageId to resend or zero to resend all unsent messages
       */
      private $messageId;

      /**
       * Constructs a RemoteSmsResendRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The messageId to resend or zero to resend all unsent messages
       */
      public function getMessageId() {
        return $this->messageId;
      }
      
      /**
       * The messageId to resend or zero to resend all unsent messages
       */
      public function setMessageId($messageId) {
        $this->messageId = $messageId;
      }
      /**
       * Returns the associative array for this RemoteSmsResendRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->messageId ) {
          $a["messageId"] = $this->messageId;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsResendRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['messageId']) ) {
          $this->messageId = $o["messageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteSms {

    /**
     * 
     */
    class RemoteSmsFailedRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The remote sms send request id.
       */
      private $requestId;
      /**
       * The sms connector id that was used. Zero for normal operator sms.
       */
      private $smsConnectorId;
      /**
       * The error message
       */
      private $errorMessage;

      /**
       * Constructs a RemoteSmsFailedRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The remote sms send request id.
       */
      public function getRequestId() {
        return $this->requestId;
      }
      
      /**
       * The remote sms send request id.
       */
      public function setRequestId($requestId) {
        $this->requestId = $requestId;
      }
      /**
       * The sms connector id that was used. Zero for normal operator sms.
       */
      public function getSmsConnectorId() {
        return $this->smsConnectorId;
      }
      
      /**
       * The sms connector id that was used. Zero for normal operator sms.
       */
      public function setSmsConnectorId($smsConnectorId) {
        $this->smsConnectorId = $smsConnectorId;
      }
      /**
       * The error message
       */
      public function getErrorMessage() {
        return $this->errorMessage;
      }
      
      /**
       * The error message
       */
      public function setErrorMessage($errorMessage) {
        $this->errorMessage = $errorMessage;
      }
      /**
       * Returns the associative array for this RemoteSmsFailedRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->requestId ) {
          $a["requestId"] = $this->requestId;
        }
        if( $this->smsConnectorId ) {
          $a["smsConnectorId"] = $this->smsConnectorId;
        }
        if( $this->errorMessage ) {
          $a["errorMessage"] = $this->errorMessage;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteSmsFailedRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['requestId']) ) {
          $this->requestId = $o["requestId"];
        }
        if( isset($o['smsConnectorId']) ) {
          $this->smsConnectorId = $o["smsConnectorId"];
        }
        if( isset($o['errorMessage']) ) {
          $this->errorMessage = $o["errorMessage"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\RemoteCall {

    /**
     * 
     */
    class RemoteCallControlRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The calldId that should be controlled.&lt;br/&gt;
     * &lt;br/&gt;
     * If the call with this id isn't active no action will be applied.
       */
      private $callId;
      /**
       * The action that should be applied on active call.&lt;br/&gt;
     * &lt;br/&gt;
     * 0 .. hangup&lt;br/&gt;
     * 1 .. accept&lt;br/&gt;
     * 2 .. silence phone&lt;br/&gt;
     * 3 .. speaker on (only in call)&lt;br/&gt;
     * 4 .. speaker off (only in call)&lt;br/&gt;
       */
      private $action;

      /**
       * Constructs a RemoteCallControlRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The calldId that should be controlled.&lt;br/&gt;
       * &lt;br/&gt;
       * If the call with this id isn't active no action will be applied.
       */
      public function getCallId() {
        return $this->callId;
      }
      
      /**
       * The calldId that should be controlled.&lt;br/&gt;
       * &lt;br/&gt;
       * If the call with this id isn't active no action will be applied.
       */
      public function setCallId($callId) {
        $this->callId = $callId;
      }
      /**
       * The action that should be applied on active call.&lt;br/&gt;
       * &lt;br/&gt;
       * 0 .. hangup&lt;br/&gt;
       * 1 .. accept&lt;br/&gt;
       * 2 .. silence phone&lt;br/&gt;
       * 3 .. speaker on (only in call)&lt;br/&gt;
       * 4 .. speaker off (only in call)&lt;br/&gt;
       */
      public function getAction() {
        return $this->action;
      }
      
      /**
       * The action that should be applied on active call.&lt;br/&gt;
       * &lt;br/&gt;
       * 0 .. hangup&lt;br/&gt;
       * 1 .. accept&lt;br/&gt;
       * 2 .. silence phone&lt;br/&gt;
       * 3 .. speaker on (only in call)&lt;br/&gt;
       * 4 .. speaker off (only in call)&lt;br/&gt;
       */
      public function setAction($action) {
        $this->action = $action;
      }
      /**
       * Returns the associative array for this RemoteCallControlRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->callId ) {
          $a["callId"] = $this->callId;
        }
        if( $this->action ) {
          $a["action"] = $this->action;
        }
        return $a;
      }
      

      /**
       * Initializes this RemoteCallControlRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['callId']) ) {
          $this->callId = $o["callId"];
        }
        if( isset($o['action']) ) {
          $this->action = $o["action"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountCreateResponse extends \Com\Mysms\Api\Domain\ExternalAccount\ExternalAccountLoginResponse  {
    
    

      /**
       * Constructs a ExternalAccountCreateResponse from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this ExternalAccountCreateResponse
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountCreateResponse from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountGetTokenRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The type of the account
     * 
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;

      /**
       * Constructs a ExternalAccountGetTokenRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * Returns the associative array for this ExternalAccountGetTokenRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountGetTokenRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountDeleteRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The type of the account
     * 
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;

      /**
       * Constructs a ExternalAccountDeleteRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * 
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * Returns the associative array for this ExternalAccountDeleteRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountDeleteRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\ExternalAccount {

    /**
     * 
     */
    class ExternalAccountConnectRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The type of the account
     * &lt;p/&gt;
     * 0 .. google
     * 2 .. b &amp; you
     * 3 .. at &amp; t
       */
      private $type;
      /**
       * The oauth token of the external account
       */
      private $oauthToken;
      /**
       * The optional refresh token of the external account
       */
      private $refreshToken;

      /**
       * Constructs a ExternalAccountConnectRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function getType() {
        return $this->type;
      }
      
      /**
       * The type of the account
       * &lt;p/&gt;
       * 0 .. google
       * 2 .. b &amp; you
       * 3 .. at &amp; t
       */
      public function setType($type) {
        $this->type = $type;
      }
      /**
       * The oauth token of the external account
       */
      public function getOauthToken() {
        return $this->oauthToken;
      }
      
      /**
       * The oauth token of the external account
       */
      public function setOauthToken($oauthToken) {
        $this->oauthToken = $oauthToken;
      }
      /**
       * The optional refresh token of the external account
       */
      public function getRefreshToken() {
        return $this->refreshToken;
      }
      
      /**
       * The optional refresh token of the external account
       */
      public function setRefreshToken($refreshToken) {
        $this->refreshToken = $refreshToken;
      }
      /**
       * Returns the associative array for this ExternalAccountConnectRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->type ) {
          $a["type"] = $this->type;
        }
        if( $this->oauthToken ) {
          $a["oauthToken"] = $this->oauthToken;
        }
        if( $this->refreshToken ) {
          $a["refreshToken"] = $this->refreshToken;
        }
        return $a;
      }
      

      /**
       * Initializes this ExternalAccountConnectRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['type']) ) {
          $this->type = $o["type"];
        }
        if( isset($o['oauthToken']) ) {
          $this->oauthToken = $o["oauthToken"];
        }
        if( isset($o['refreshToken']) ) {
          $this->refreshToken = $o["refreshToken"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\CrmMessage {

    /**
     * 
     */
    class CrmMessageViewedRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      private $crmMessageId;

      /**
       * Constructs a CrmMessageViewedRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      public function getCrmMessageId() {
        return $this->crmMessageId;
      }
      
      /**
       * The crm message id of the crm message which should be marked as viewed.
       */
      public function setCrmMessageId($crmMessageId) {
        $this->crmMessageId = $crmMessageId;
      }
      /**
       * Returns the associative array for this CrmMessageViewedRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->crmMessageId ) {
          $a["crmMessageId"] = $this->crmMessageId;
        }
        return $a;
      }
      

      /**
       * Initializes this CrmMessageViewedRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['crmMessageId']) ) {
          $this->crmMessageId = $o["crmMessageId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Config {

    /**
     * 
     */
    class ConfigGetProductsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * 
       */
      private $productType;
      /**
       * If set the list will contain the products of all countries otherwise
     * the list will only include the products of the authenticated user.
       */
      private $full;

      /**
       * Constructs a ConfigGetProductsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * 
       */
      public function getProductType() {
        return $this->productType;
      }
      
      /**
       * 
       */
      public function setProductType($productType) {
        $this->productType = $productType;
      }
      /**
       * If set the list will contain the products of all countries otherwise
       * the list will only include the products of the authenticated user.
       */
      public function getFull() {
        return $this->full;
      }
      
      /**
       * If set the list will contain the products of all countries otherwise
       * the list will only include the products of the authenticated user.
       */
      public function setFull($full) {
        $this->full = $full;
      }
      /**
       * Returns the associative array for this ConfigGetProductsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->productType ) {
          $a["productType"] = $this->productType;
        }
        if( $this->full ) {
          $a["full"] = $this->full;
        }
        return $a;
      }
      

      /**
       * Initializes this ConfigGetProductsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['productType']) ) {
          $this->productType = $o["productType"];
        }
        if( isset($o['full']) ) {
          $this->full = $o["full"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentUploadedPartRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The newly created attachment key
       */
      private $attachmentKey;
      /**
       * The part id of the attachment
       */
      private $partId;

      /**
       * Constructs a AttachmentUploadedPartRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created attachment key
       */
      public function getAttachmentKey() {
        return $this->attachmentKey;
      }
      
      /**
       * The newly created attachment key
       */
      public function setAttachmentKey($attachmentKey) {
        $this->attachmentKey = $attachmentKey;
      }
      /**
       * The part id of the attachment
       */
      public function getPartId() {
        return $this->partId;
      }
      
      /**
       * The part id of the attachment
       */
      public function setPartId($partId) {
        $this->partId = $partId;
      }
      /**
       * Returns the associative array for this AttachmentUploadedPartRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->attachmentKey ) {
          $a["attachmentKey"] = $this->attachmentKey;
        }
        if( $this->partId ) {
          $a["partId"] = $this->partId;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentUploadedPartRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['attachmentKey']) ) {
          $this->attachmentKey = $o["attachmentKey"];
        }
        if( isset($o['partId']) ) {
          $this->partId = $o["partId"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentGetPartsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The attachment key of the attachment which should be retrieved.
     * 
     * The attachment key is the last path element of the attachment url
       */
      private $attachmentKey;

      /**
       * Constructs a AttachmentGetPartsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The attachment key of the attachment which should be retrieved.
       * 
       * The attachment key is the last path element of the attachment url
       */
      public function getAttachmentKey() {
        return $this->attachmentKey;
      }
      
      /**
       * The attachment key of the attachment which should be retrieved.
       * 
       * The attachment key is the last path element of the attachment url
       */
      public function setAttachmentKey($attachmentKey) {
        $this->attachmentKey = $attachmentKey;
      }
      /**
       * Returns the associative array for this AttachmentGetPartsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->attachmentKey ) {
          $a["attachmentKey"] = $this->attachmentKey;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentGetPartsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['attachmentKey']) ) {
          $this->attachmentKey = $o["attachmentKey"];
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentCreateRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    

      /**
       * Constructs a AttachmentCreateRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * Returns the associative array for this AttachmentCreateRequest
       */
      public function toArray() {
        $a = parent::toArray();
        return $a;
      }
      

      /**
       * Initializes this AttachmentCreateRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentAllowMsisdnsRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The attachment key of the attachment
       */
      private $attachmentKey;
      /**
       * The msisdns in international format (436761234567)
       */
      private $msisdns;

      /**
       * Constructs a AttachmentAllowMsisdnsRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The attachment key of the attachment
       */
      public function getAttachmentKey() {
        return $this->attachmentKey;
      }
      
      /**
       * The attachment key of the attachment
       */
      public function setAttachmentKey($attachmentKey) {
        $this->attachmentKey = $attachmentKey;
      }
      /**
       * The msisdns in international format (436761234567)
       */
      public function getMsisdns() {
        return $this->msisdns;
      }
      
      /**
       * The msisdns in international format (436761234567)
       */
      public function setMsisdns($msisdns) {
        $this->msisdns = $msisdns;
      }
      /**
       * Returns the associative array for this AttachmentAllowMsisdnsRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->attachmentKey ) {
          $a["attachmentKey"] = $this->attachmentKey;
        }
        if( $this->msisdns ) {
          $ab = array();
          foreach( $this->msisdns as $i => $x ) {
            $ab[$i] = $x;
          }
          $a['msisdns'] = $ab;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentAllowMsisdnsRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['attachmentKey']) ) {
          $this->attachmentKey = $o["attachmentKey"];
        }
        $this->msisdns = array();
        if( isset($o['msisdns']) ) {
          foreach( $o['msisdns'] as $i => $x ) {
            $this->msisdns[$i] = $x;
          }
        }
      }
    
    }
    
  }


  namespace Com\Mysms\Api\Domain\Attachment {

    /**
     * 
     */
    class AttachmentAddPartRequest extends \Com\Mysms\Api\Domain\AuthRequest  {
    
    
      /**
       * The newly created attachment key
       */
      private $attachmentKey;
      /**
       * The type id of the attachment
     * 
     * &lt;table&gt;
     * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;image gif&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;video mp4&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;audio mp4&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;location&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;contact&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
     * &lt;/table&gt;
       */
      private $typeId;
      /**
       * The file name of the attachment part
       */
      private $fileName;
      /**
       * The file size of the attachment part
     * 
     * The maximal file size is 20Mb.
       */
      private $fileSize;
      /**
       * True if a preview is available to upload
       */
      private $preview;
      /**
       * Sets the properties which depends on the type in json format.
     * 
     * location:
     * {
     * lat: 41.40338,
     * lng: 2.5646
     * }
     * 
     * contact:
     * {
     * name: &quot;Ben&quot;,
     * surName: &quot;Becker&quot;,
     * 
     * }
     * 
     * others: properties are ignored
       */
      private $properties;

      /**
       * Constructs a AttachmentAddPartRequest from a (parsed) JSON hash
       */
      public function __construct($o = null) {
        if( $o ) {
          $this->initFromArray($o);
        }
      }
      
      /**
       * The newly created attachment key
       */
      public function getAttachmentKey() {
        return $this->attachmentKey;
      }
      
      /**
       * The newly created attachment key
       */
      public function setAttachmentKey($attachmentKey) {
        $this->attachmentKey = $attachmentKey;
      }
      /**
       * The type id of the attachment
       * 
       * &lt;table&gt;
       * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;image gif&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;video mp4&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;audio mp4&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;location&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;contact&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;/table&gt;
       */
      public function getTypeId() {
        return $this->typeId;
      }
      
      /**
       * The type id of the attachment
       * 
       * &lt;table&gt;
       * &lt;tr&gt;&lt;th&gt;type id&lt;/th&gt;&lt;th&gt;description&lt;/th&gt;&lt;th&gt;preview&lt;/th&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;any file&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;image jpeg&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;image png&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;image gif&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;video mp4&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;audio mp4&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;location&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;contact&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;/tr&gt;
       * &lt;/table&gt;
       */
      public function setTypeId($typeId) {
        $this->typeId = $typeId;
      }
      /**
       * The file name of the attachment part
       */
      public function getFileName() {
        return $this->fileName;
      }
      
      /**
       * The file name of the attachment part
       */
      public function setFileName($fileName) {
        $this->fileName = $fileName;
      }
      /**
       * The file size of the attachment part
       * 
       * The maximal file size is 20Mb.
       */
      public function getFileSize() {
        return $this->fileSize;
      }
      
      /**
       * The file size of the attachment part
       * 
       * The maximal file size is 20Mb.
       */
      public function setFileSize($fileSize) {
        $this->fileSize = $fileSize;
      }
      /**
       * True if a preview is available to upload
       */
      public function getPreview() {
        return $this->preview;
      }
      
      /**
       * True if a preview is available to upload
       */
      public function setPreview($preview) {
        $this->preview = $preview;
      }
      /**
       * Sets the properties which depends on the type in json format.
       * 
       * location:
       * {
       * lat: 41.40338,
       * lng: 2.5646
       * }
       * 
       * contact:
       * {
       * name: &quot;Ben&quot;,
       * surName: &quot;Becker&quot;,
       * 
       * }
       * 
       * others: properties are ignored
       */
      public function getProperties() {
        return $this->properties;
      }
      
      /**
       * Sets the properties which depends on the type in json format.
       * 
       * location:
       * {
       * lat: 41.40338,
       * lng: 2.5646
       * }
       * 
       * contact:
       * {
       * name: &quot;Ben&quot;,
       * surName: &quot;Becker&quot;,
       * 
       * }
       * 
       * others: properties are ignored
       */
      public function setProperties($properties) {
        $this->properties = $properties;
      }
      /**
       * Returns the associative array for this AttachmentAddPartRequest
       */
      public function toArray() {
        $a = parent::toArray();
        if( $this->attachmentKey ) {
          $a["attachmentKey"] = $this->attachmentKey;
        }
        if( $this->typeId ) {
          $a["typeId"] = $this->typeId;
        }
        if( $this->fileName ) {
          $a["fileName"] = $this->fileName;
        }
        if( $this->fileSize ) {
          $a["fileSize"] = $this->fileSize;
        }
        if( $this->preview ) {
          $a["preview"] = $this->preview;
        }
        if( $this->properties ) {
          $a["properties"] = $this->properties;
        }
        return $a;
      }
      

      /**
       * Initializes this AttachmentAddPartRequest from an associative array
       */
      public function initFromArray($o) {
        parent::initFromArray($o);
        if( isset($o['attachmentKey']) ) {
          $this->attachmentKey = $o["attachmentKey"];
        }
        if( isset($o['typeId']) ) {
          $this->typeId = $o["typeId"];
        }
        if( isset($o['fileName']) ) {
          $this->fileName = $o["fileName"];
        }
        if( isset($o['fileSize']) ) {
          $this->fileSize = $o["fileSize"];
        }
        if( isset($o['preview']) ) {
          $this->preview = $o["preview"];
        }
        if( isset($o['properties']) ) {
          $this->properties = $o["properties"];
        }
      }
    
    }
    
  }

  
?>