Initial commit
diff --git a/plstackapi/core/serializers.py b/plstackapi/core/serializers.py
new file mode 100644
index 0000000..62ac271
--- /dev/null
+++ b/plstackapi/core/serializers.py
@@ -0,0 +1,93 @@
+from django.forms import widgets
+from rest_framework import serializers
+from models import *
+
+
+class SliceSerializer(serializers.HyperlinkedModelSerializer):
+
+    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
+
+    class Meta:
+        model = Slice
+        fields = ('url',
+                  'name',
+                  'instantiation',
+                  'omf_friendly',
+                  'description',
+                  'slice_url',
+                  'site',
+                  'updated',
+                  'created')
+
+class SiteSerializer(serializers.HyperlinkedModelSerializer):
+
+    #Experimenting with whether to use ids, hyperlinks, or nested includes
+    #slices = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
+    #slices = serializers.RelatedField(many=True, read_only=True)
+    #slices = SliceSerializer(many=True)
+    slices = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='slice-detail')
+    deploymentNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True,view_name='sitedeploymentnetwork-detail')
+
+    class Meta:
+        model = Site
+        fields = ('url',
+                  'name',
+                  'deploymentNetworks',
+                  'slices',
+                  'site_url',
+                  'enabled',
+                  'longitude',
+                  'latitude',
+                  'login_base',
+                  'is_public',
+                  'abbreviated_name',
+                  'updated',
+                  'created')
+
+class DeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
+
+    sites = serializers.HyperlinkedRelatedField(view_name='sitedeploymentnetwork-detail')
+    class Meta:
+        model = DeploymentNetwork
+        fields = ('url',
+                  'name',
+                  'sites'
+                 )
+
+class SiteDeploymentNetworkSerializer(serializers.HyperlinkedModelSerializer):
+
+    site = serializers.HyperlinkedRelatedField(view_name='site-detail')
+    deploymentNetwork = serializers.HyperlinkedRelatedField(view_name='deploymentnetwork-detail')
+
+    class Meta:
+        model = SiteDeploymentNetwork
+        fields = ('url',
+                 'site',
+                 'deploymentNetwork')
+
+class SliverSerializer(serializers.ModelSerializer):
+    slice = serializers.RelatedField(read_only=True)
+    #slice = serializers.PrimaryKeyRelatedField(read_only=True)
+
+    class Meta:
+        model = Sliver
+        fields = ('id',
+                  'slice',
+                 'name')
+
+class NodeSerializer(serializers.ModelSerializer):
+
+    class Meta:
+        model = Node
+        fields = ('id',
+                 'name')
+
+
+serializerLookUp = { Site: SiteSerializer,
+                 Slice: SliceSerializer,
+                 Node: NodeSerializer,
+                 Sliver: SliverSerializer,
+                 DeploymentNetwork: DeploymentNetworkSerializer,
+                 SiteDeploymentNetwork: SiteDeploymentNetworkSerializer,
+                 None: None,
+                }