tracking_fields = []; $this->settings = new MeetingSettings(); } /** * {@inheritdoc} */ public function itemClass($propertyName) { if ('tracking_fields' === $propertyName) { return TrackingField::class; } throw new Exception("no such array property $propertyName"); } /** * Creates a meeting on the server and returns the resulting MeetingInfoGet. * * @throws Exception describing the error (message and code) * * @return MeetingInfoGet meeting */ public function create() { return MeetingInfoGet::fromJson(Client::getInstance()->send('POST', 'users/me/meetings', [], $this)); } /** * Creates a Meeting instance from a topic. * * @param string $topic * @param int $type * * @return static */ public static function fromTopicAndType($topic, $type = self::TYPE_SCHEDULED) { $instance = new static(); $instance->topic = $topic; $instance->type = $type; return $instance; } }