Preliminary draft of a data structure for a goodies tracker
It's weird that your get_capacity() returns a string.  I'm guessing that it's to facilitate string concatenation in the print() statement in main(), but that is not a good justification for the weirdness.  A better solution would be to use str.format() rather than string concatenation.

Those get_…() methods look like an awkward translation of Java code.  In Python, it is often customary to just access the member variables directly.  If you did want to write a getter method (to help enforce read-only access, for example), you could write a @property instead.

Going further, it seems like your StampCard is mostly a structure to hold a bunch of read-only properties.  You could just use or inherit from collections.namedtuple.

# -*- coding: utf-8 -*-
from collections import namedtuple
from tabulate import tabulate

class StampCard(namedtuple('StampCard', 'name description capacity symbol redeemable_location')):
    def __str__(self):
        stamps_per_row = self.capacity // 2  # hardcoded rows for now
        stamps = [[self.symbol] * stamps_per_row] * 2
        return tabulate(stamps, tablefmt='grid')

def main():
    oasis = StampCard('Oasis', 'Bubble Tea', 10, u'', 'University District')
    print('Name: {card.name}, Capacity: {card.capacity}'.format(card=oasis))
    print(unicode(oasis))

if __name__ == '__main__':
    main()