First prototype
diff --git a/inc/Gtfs/Calendar.php b/inc/Gtfs/Calendar.php
new file mode 100644
index 0000000..2536d81
--- /dev/null
+++ b/inc/Gtfs/Calendar.php
@@ -0,0 +1,350 @@
+<?php
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: proto/gtfs.proto
+
+namespace Gtfs;
+
+use Google\Protobuf\Internal\GPBType;
+use Google\Protobuf\Internal\RepeatedField;
+use Google\Protobuf\Internal\GPBUtil;
+
+/**
+ * Generated from protobuf message <code>gtfs.Calendar</code>
+ */
+class Calendar extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The trip_id field contains an ID that identifies a trip. The trip_id is dataset unique.
+ *
+ * Generated from protobuf field <code>string service_id = 1;</code>
+ */
+ protected $service_id = '';
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay monday = 2;</code>
+ */
+ protected $monday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay tuesday = 3;</code>
+ */
+ protected $tuesday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay wednesday = 4;</code>
+ */
+ protected $wednesday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay thursday = 5;</code>
+ */
+ protected $thursday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay friday = 6;</code>
+ */
+ protected $friday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay saturday = 7;</code>
+ */
+ protected $saturday = 0;
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay sunday = 8;</code>
+ */
+ protected $sunday = 0;
+ /**
+ * Generated from protobuf field <code>string start_date = 9;</code>
+ */
+ protected $start_date = '';
+ /**
+ * Generated from protobuf field <code>string end_date = 10;</code>
+ */
+ protected $end_date = '';
+ /**
+ * The extensions namespace allows 3rd-party developers to extend the
+ * GTFS specification in order to add and evaluate new features and
+ * modifications to the spec.
+ *
+ * Generated from protobuf field <code>.google.protobuf.Any extension = 2000;</code>
+ */
+ protected $extension = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $service_id
+ * The trip_id field contains an ID that identifies a trip. The trip_id is dataset unique.
+ * @type int $monday
+ * @type int $tuesday
+ * @type int $wednesday
+ * @type int $thursday
+ * @type int $friday
+ * @type int $saturday
+ * @type int $sunday
+ * @type string $start_date
+ * @type string $end_date
+ * @type \Google\Protobuf\Any $extension
+ * The extensions namespace allows 3rd-party developers to extend the
+ * GTFS specification in order to add and evaluate new features and
+ * modifications to the spec.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Proto\Gtfs::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The trip_id field contains an ID that identifies a trip. The trip_id is dataset unique.
+ *
+ * Generated from protobuf field <code>string service_id = 1;</code>
+ * @return string
+ */
+ public function getServiceId()
+ {
+ return $this->service_id;
+ }
+
+ /**
+ * The trip_id field contains an ID that identifies a trip. The trip_id is dataset unique.
+ *
+ * Generated from protobuf field <code>string service_id = 1;</code>
+ * @param string $var
+ * @return $this
+ */
+ public function setServiceId($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->service_id = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay monday = 2;</code>
+ * @return int
+ */
+ public function getMonday()
+ {
+ return $this->monday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay monday = 2;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setMonday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->monday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay tuesday = 3;</code>
+ * @return int
+ */
+ public function getTuesday()
+ {
+ return $this->tuesday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay tuesday = 3;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setTuesday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->tuesday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay wednesday = 4;</code>
+ * @return int
+ */
+ public function getWednesday()
+ {
+ return $this->wednesday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay wednesday = 4;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setWednesday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->wednesday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay thursday = 5;</code>
+ * @return int
+ */
+ public function getThursday()
+ {
+ return $this->thursday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay thursday = 5;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setThursday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->thursday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay friday = 6;</code>
+ * @return int
+ */
+ public function getFriday()
+ {
+ return $this->friday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay friday = 6;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setFriday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->friday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay saturday = 7;</code>
+ * @return int
+ */
+ public function getSaturday()
+ {
+ return $this->saturday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay saturday = 7;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setSaturday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->saturday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay sunday = 8;</code>
+ * @return int
+ */
+ public function getSunday()
+ {
+ return $this->sunday;
+ }
+
+ /**
+ * Generated from protobuf field <code>.gtfs.Calendar.CalendarDay sunday = 8;</code>
+ * @param int $var
+ * @return $this
+ */
+ public function setSunday($var)
+ {
+ GPBUtil::checkEnum($var, \Gtfs\Calendar_CalendarDay::class);
+ $this->sunday = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>string start_date = 9;</code>
+ * @return string
+ */
+ public function getStartDate()
+ {
+ return $this->start_date;
+ }
+
+ /**
+ * Generated from protobuf field <code>string start_date = 9;</code>
+ * @param string $var
+ * @return $this
+ */
+ public function setStartDate($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->start_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * Generated from protobuf field <code>string end_date = 10;</code>
+ * @return string
+ */
+ public function getEndDate()
+ {
+ return $this->end_date;
+ }
+
+ /**
+ * Generated from protobuf field <code>string end_date = 10;</code>
+ * @param string $var
+ * @return $this
+ */
+ public function setEndDate($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->end_date = $var;
+
+ return $this;
+ }
+
+ /**
+ * The extensions namespace allows 3rd-party developers to extend the
+ * GTFS specification in order to add and evaluate new features and
+ * modifications to the spec.
+ *
+ * Generated from protobuf field <code>.google.protobuf.Any extension = 2000;</code>
+ * @return \Google\Protobuf\Any
+ */
+ public function getExtension()
+ {
+ return $this->extension;
+ }
+
+ /**
+ * The extensions namespace allows 3rd-party developers to extend the
+ * GTFS specification in order to add and evaluate new features and
+ * modifications to the spec.
+ *
+ * Generated from protobuf field <code>.google.protobuf.Any extension = 2000;</code>
+ * @param \Google\Protobuf\Any $var
+ * @return $this
+ */
+ public function setExtension($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Any::class);
+ $this->extension = $var;
+
+ return $this;
+ }
+
+}
+