diff --git a/planetstack/syndicate/admin.py b/planetstack/syndicate/admin.py
new file mode 100644
index 0000000..85c3ebd
--- /dev/null
+++ b/planetstack/syndicate/admin.py
@@ -0,0 +1,149 @@
+from django.contrib import admin
+
+from syndicate.models import *
+from django import forms
+from django.utils.safestring import mark_safe
+from django.contrib.auth.admin import UserAdmin
+from django.contrib.admin.widgets import FilteredSelectMultiple
+from django.contrib.auth.forms import ReadOnlyPasswordHashField
+from django.contrib.auth.signals import user_logged_in
+from django.utils import timezone
+from django.contrib.contenttypes import generic
+from suit.widgets import LinkedSelect
+from core.admin import ReadOnlyTabularInline,ReadOnlyAwareAdmin,SingletonAdmin,SliceInline,ServiceAttrAsTabInline,PlanetStackBaseAdmin, PlStackTabularInline,SliceROInline,ServiceAttrAsTabROInline
+from suit.widgets import LinkedSelect
+from bitfield import BitField
+from bitfield.forms import BitFieldCheckboxSelectMultiple
+
+class SyndicateServiceAdmin(SingletonAdmin,ReadOnlyAwareAdmin):
+    model = SyndicateService
+    verbose_name = "Syndicate Service"
+    verbose_name_plural = "Syndicate Service"
+    list_display = ("name","enabled")
+    fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description',], 'classes':['suit-tab suit-tab-general']})]
+    inlines = [SliceInline,ServiceAttrAsTabInline]
+
+    user_readonly_fields = ['name','enabled','versionNumber','description']
+    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
+
+    suit_form_tabs =(('general', 'Syndicate Service Details'),
+        ('slices','Slices'),
+        ('serviceattrs','Additional Attributes'),
+    )
+
+class VolumeAccessRightForUserROInline(ReadOnlyTabularInline):
+    model = VolumeAccessRight
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRights'
+    fields = ['volume','gateway_caps']
+
+class VolumeAccessRightROInline(ReadOnlyTabularInline):
+    model = VolumeAccessRight
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRights'
+    fields = ['owner_id','gateway_caps']
+
+class VolumeAccessRightInline(PlStackTabularInline):
+    model = VolumeAccessRight
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRights'
+
+class VolumeAccessRightAdmin(ReadOnlyAwareAdmin):
+    model = VolumeAccessRight
+
+    formfield_overrides = { BitField: {'widget': BitFieldCheckboxSelectMultiple},}
+    list_display = ['owner_id', 'volume']
+    user_readonly_fields = ['owner_id','volume','gateway_caps']
+    user_readonly_inlines = []
+
+class VolumeAccessRequestForUserROInline(ReadOnlyTabularInline):
+    model = VolumeAccessRequest
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRequests'
+    fields = ['volume', 'message']
+
+class VolumeAccessRequestROInline(ReadOnlyTabularInline):
+    model = VolumeAccessRequest
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRequests'
+    fields = ['owner_id', 'message']
+
+class VolumeAccessRequestInline(PlStackTabularInline):
+    model = VolumeAccessRequest
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumeAccessRequests'
+    fields = ['owner_id', 'message']
+
+class VolumeAccessRequestAdmin(ReadOnlyAwareAdmin):
+    model = VolumeAccessRequest
+
+    formfield_overrides = { BitField: {'widget': BitFieldCheckboxSelectMultiple},}
+    list_display = ['owner_id', 'volume', 'message']
+    user_readonly_fields = ['volume','owner_id','message','message', 'gateway_caps']
+    user_readonly_inlines = []
+
+class VolumeInline(PlStackTabularInline):
+    model = Volume
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumes'
+    fields = ['name', 'owner_id']
+
+class VolumeROInline(ReadOnlyTabularInline):
+    model = Volume
+    extra = 0
+    suit_classes = 'suit-tab suit-tab-volumes'
+    fields = ['name', 'owner_id']
+
+class VolumeAdmin(ReadOnlyAwareAdmin):
+    model = Volume
+    read_only_fields = ['blockSize']
+    list_display = ['name', 'owner_id']
+
+    formfield_overrides = { BitField: {'widget': BitFieldCheckboxSelectMultiple},}
+
+    detailsFieldList = ['name', 'owner_id', 'description','file_quota','blocksize', 'private','archive', 'default_gateway_caps' ]
+    keyList = ['metadata_public_key','metadata_private_key','api_public_key']
+
+    fieldsets = [
+        (None, {'fields': detailsFieldList, 'classes':['suit-tab suit-tab-general']}),
+        (None, {'fields': keyList, 'classes':['suit-tab suit-tab-volumeKeys']}),
+    ]
+
+    inlines = [VolumeAccessRightInline, VolumeAccessRequestInline]
+
+    user_readonly_fields = ['name','owner_id','description','blocksize','private','metadata_public_key','metadata_private_key','api_public_key','file_quota','default_gateway_caps']
+    user_readonly_inlines = [VolumeAccessRightROInline, VolumeAccessRequestROInline]
+
+    suit_form_tabs =(('general', 'Volume Details'),
+                     ('volumeKeys', 'Access Keys'),
+                     ('volumeAccessRequests', 'Volume Access Requests'),
+                     ('volumeAccessRights', 'Volume Access Rights'),
+    )
+    
+    
+
+class SyndicateUserAdmin(ReadOnlyAwareAdmin):
+    model = SyndicateUser
+    verbose_name = "Users"
+    verbose_name = "Users"
+    list_display = ['user','is_admin', 'max_volumes']
+    inlines = [VolumeInline,VolumeAccessRequestInline,VolumeAccessRightInline]
+    user_readonly_fields = ['user','is_admin','max_volumes','max_UGs','max_RGs','max_AGs']
+    user_readonly_inlines = [VolumeROInline,VolumeAccessRequestForUserROInline,VolumeAccessRightForUserROInline]
+
+    fieldsets = [
+        (None, {'fields': ['user','is_admin','max_volumes','max_UGs','max_RGs','max_AGs'], 'classes':['suit-tab suit-tab-general']}),
+    ]
+
+    suit_form_tabs =(('general', 'Volume Details'),
+                     ('volumes', 'Volumes'),
+                     ('volumeAccessRequests', 'Volume Access Requests'),
+                     ('volumeAccessRights', 'Volume Access Rights'),
+    )
+
+admin.site.register(SyndicateService, SyndicateServiceAdmin)
+admin.site.register(VolumeAccessRight, VolumeAccessRightAdmin)
+admin.site.register(VolumeAccessRequest, VolumeAccessRequestAdmin)
+admin.site.register(Volume, VolumeAdmin)
+admin.site.register(SyndicateUser, SyndicateUserAdmin)
+
