diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py
index a429520..58e9689 100644
--- a/planetstack/core/admin.py
+++ b/planetstack/core/admin.py
@@ -437,6 +437,17 @@
     ordering = ('email',)
     filter_horizontal = ()
 
+class ServiceResourceInline(admin.TabularInline):
+    model = ServiceResource
+    extra = 0
+
+class ServiceClassAdmin(admin.ModelAdmin):
+    list_display = ('name', 'commitment', 'membershipFee')
+    inlines = [ServiceResourceInline]
+
+class ServiceResourceAdmin(admin.ModelAdmin):
+    list_display = ('serviceClass', 'name', 'cost', 'calendarReservable', 'maxUnitsDeployment', 'maxUnitsNode')
+
 # register a signal that caches the user's credentials when they log in
 def cache_credentials(sender, user, request, **kwds):
     auth = {'username': request.POST['username'],
@@ -461,4 +472,6 @@
 admin.site.register(Key, KeyAdmin)
 admin.site.register(Role, RoleAdmin)
 admin.site.register(DeploymentNetwork, DeploymentNetworkAdmin)
+admin.site.register(ServiceClass, ServiceClassAdmin)
+admin.site.register(ServiceResource, ServiceResourceAdmin)
 
diff --git a/planetstack/core/models/__init__.py b/planetstack/core/models/__init__.py
index 4d9387b..0fe5e47 100644
--- a/planetstack/core/models/__init__.py
+++ b/planetstack/core/models/__init__.py
@@ -11,4 +11,6 @@
 from .slice import SliceMembership
 from .sliver import Sliver
 from .subnet import Subnet
+from .serviceclass import ServiceClass
+from .serviceresource import ServiceResource
 
diff --git a/planetstack/core/models/serviceclass.py b/planetstack/core/models/serviceclass.py
new file mode 100644
index 0000000..8e7d21f
--- /dev/null
+++ b/planetstack/core/models/serviceclass.py
@@ -0,0 +1,19 @@
+import os
+from django.db import models
+from core.models import PlCoreBase
+from core.models import Site
+from core.models import DeploymentNetwork
+
+# Create your models here.
+
+class ServiceClass(PlCoreBase):
+    name = models.CharField(max_length=32)
+    description = models.CharField(max_length=255)
+    commitment = models.IntegerField(default=365)
+    membershipFee = models.IntegerField(default=0)
+    membershipFeeMonths = models.IntegerField(default=12)
+    upgradeRequiresApproval = models.BooleanField(default=False)
+    upgradeFrom = models.ManyToManyField('self', blank=True, null=True)
+
+    def __unicode__(self):  return u'%s' % (self.name)
+
diff --git a/planetstack/core/models/serviceresource.py b/planetstack/core/models/serviceresource.py
new file mode 100644
index 0000000..3b25ffe
--- /dev/null
+++ b/planetstack/core/models/serviceresource.py
@@ -0,0 +1,21 @@
+import os
+from django.db import models
+from core.models import PlCoreBase
+from core.models import Site
+from core.models import DeploymentNetwork
+from core.models import ServiceClass
+
+# Create your models here.
+
+class ServiceResource(PlCoreBase):
+    serviceClass = models.ForeignKey(ServiceClass, related_name = "resources")
+    name = models.CharField(max_length=32)
+    maxUnitsDeployment = models.IntegerField(default=1)
+    maxUnitsNode = models.IntegerField(default=1)
+    maxDuration = models.IntegerField(default=1)
+    bucketInRate = models.IntegerField(default=0)
+    bucketMaxSize = models.IntegerField(default=0)
+    cost = models.IntegerField(default=0)
+    calendarReservable = models.BooleanField(default=True)
+
+    def __unicode__(self):  return u'%s' % (self.name)
