To issue credentials for multiple guests in multiple rooms, first create an override guest credential. Then, create all subsequent guest credentials as joiners.
guest_room_1 = seam.acs.entrances.list(
acs_system_id=hotel_acs_system_id
)[0]
guest_room_2 = seam.acs.entrances.list(
acs_system_id=hotel_acs_system_id
)[0]
first_acs_user = seam.acs.user.get(acs_user_id="xxx")
# First credential should be an override credential.
first_credential = seam.acs.credentials.create(
acs_user_id=first_acs_user.acs_user_id
credential_manager_acs_system_id="xxx"
is_multi_phone_sync_credential=True,
access_method="mobile_key",
starts_at="2023-01-01 10:40:00.000",
ends_at="2023-01-04 10:40:00.000",
allowed_acs_entrance_ids=[
guest_room_1.acs_entrance_id,
guest_room_2.acs_entrance_id,
main_entrance.acs_entrance_id
],
visionline_metadata={
"cardFormat": "rfid48",
"cardType": "guest",
"label": "%ROOMNUM% - %SITENAME%",
"override": True
}
)
second_acs_user = seam.acs.user.get(acs_user_id="yyy")
# Subsequent credentials should be joiners to the first credential.
seam.acs.credentials.create(
acs_user_id=second_acs_user.acs_user_id
credential_manager_acs_system_id="xxx"
is_multi_phone_sync_credential=True,
access_method="mobile_key",
starts_at="2023-01-01 10:40:00.000",
ends_at="2023-01-04 10:40:00.000",
allowed_acs_entrance_ids=[
guest_room_1.acs_entrance_id,
guest_room_2.acs_entrance_id,
main_entrance.acs_entrance_id
],
visionline_metadata={
"cardFormat": "rfid48",
"cardType": "guest",
"label": "%ROOMNUM% - %SITENAME%",
"joiner_acs_credential_ids": [first_credential.acs_credential_id]
}
)