First prototype
diff --git a/inc/Gtfs/Transfer/TransferType.php b/inc/Gtfs/Transfer/TransferType.php
new file mode 100644
index 0000000..f78300f
--- /dev/null
+++ b/inc/Gtfs/Transfer/TransferType.php
@@ -0,0 +1,61 @@
+<?php
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: proto/gtfs.proto
+
+namespace Gtfs\Transfer;
+
+use UnexpectedValueException;
+
+/**
+ * Protobuf type <code>gtfs.Transfer.TransferType</code>
+ */
+class TransferType
+{
+    /**
+     * Generated from protobuf enum <code>RECOMMENDED = 0;</code>
+     */
+    const RECOMMENDED = 0;
+    /**
+     * Generated from protobuf enum <code>TIMED = 1;</code>
+     */
+    const TIMED = 1;
+    /**
+     * Generated from protobuf enum <code>MINIMUM = 2;</code>
+     */
+    const MINIMUM = 2;
+    /**
+     * Generated from protobuf enum <code>NOT_POSSIBLE = 3;</code>
+     */
+    const NOT_POSSIBLE = 3;
+
+    private static $valueToName = [
+        self::RECOMMENDED => 'RECOMMENDED',
+        self::TIMED => 'TIMED',
+        self::MINIMUM => 'MINIMUM',
+        self::NOT_POSSIBLE => 'NOT_POSSIBLE',
+    ];
+
+    public static function name($value)
+    {
+        if (!isset(self::$valueToName[$value])) {
+            throw new UnexpectedValueException(sprintf(
+                    'Enum %s has no name defined for value %s', __CLASS__, $value));
+        }
+        return self::$valueToName[$value];
+    }
+
+
+    public static function value($name)
+    {
+        $const = __CLASS__ . '::' . strtoupper($name);
+        if (!defined($const)) {
+            throw new UnexpectedValueException(sprintf(
+                    'Enum %s has no value defined for name %s', __CLASS__, $name));
+        }
+        return constant($const);
+    }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(TransferType::class, \Gtfs\Transfer_TransferType::class);
+