Snippets
Searching for Cardholders
The code extract below shows and to find Cardholders with certain search terms. You can set the filed threshold to a value of 0-100, higher indicates a closer match.
>>> cardholders = gp.get_card_holders(search_terms="Phil Sensor",
>>> cardholder_type_name='Visitor',
>>> filter_expired=False,
>>> select_ignore_list=['cardholderCustomizedField',
>>> 'cardholderPersonalDetail',
>>> 'securityGroup',
>>> 'photo'],
>>> select_include_list=['uid', 'lastName', 'firstName', 'lastPassDate',
>>> 'insideArea', 'fromDateTime', 'cards'],
>>> sort_algorithm=SortAlgorithm.FUZZY_MATCH,
>>> threshold=90
>>> )
>>> for cardholder in cardholders:
>>> print("Cardholder:")
>>> print(f"\t{cardholder.lastName}")
>>> cardholder.pretty_print()
The snippet below shows how to find cardholders by their email. It also has a added filter to ignore the fields: ‘cardholderCustomizedField’, ‘ownerSiteUID’, ‘photo’
>>> personalDetails = CardholderPersonalDetail(email="john.owen@countermac.com")
>>> cardholders = gp.get_card_holders(cardholderPersonalDetail=personalDetails,
>>> select_ignore_list=['cardholderCustomizedField', 'ownerSiteUID', 'photo']
>>> )
>>> for cardholder in cardholders:
>>> print("Cardholder:")
>>> print(f"\t{cardholder.lastName}")
>>> print(f"\t{cardholder.cardholderPersonalDetail.email}")
Creating Cardholders
The code below demonstrates how to create a Cardholder with a new Card and additional PersonalDetails and CustomFields:
>>> card = Card(cardType="Magnetic", cardCode="1A1B1C8B")
>>> cardholder_pd = CardholderPersonalDetail(email="john.owen@example.com")
>>> cardholder_cf = CardholderCustomizedField(cF_StringField_20="hello")
>>> cardholder = Cardholder(firstName="John", lastName="Owen9700",
>>> cardholderPersonalDetail=cardholder_pd,
>>> cardholderCustomizedField=cardholder_cf,
>>> cards=[card])
>>> cardholder = gp.new_card_holder(cardholder)
>>> print(f"Cardholder {cardholder.firstName} {cardholder.lastName} Created")