{
  "version": "2.0",
  "service": "<p>Alexa for Business makes it easy for you to use Alexa in your organization. Alexa for Business gives you the tools you need for managing Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations. You can make also these available as private skills for your organization. Alexa for Business makes it easy to voice-enable your products and services, providing context-aware voice experiences for your customers.</p>",
  "operations": {
    "AssociateContactWithAddressBook": "<p>Associates a contact with a given address book.</p>",
    "AssociateDeviceWithRoom": "<p>Associates a device with a given room. This applies all the settings from the room profile to the device, and all the skills in any skill groups added to that room. This operation requires the device to be online, or else a manual sync is required. </p>",
    "AssociateSkillGroupWithRoom": "<p>Associates a skill group with a given room. This enables all skills in the associated skill group on all devices in the room.</p>",
    "CreateAddressBook": "<p>Creates an address book with the specified details.</p>",
    "CreateContact": "<p>Creates a contact with the specified details.</p>",
    "CreateProfile": "<p>Creates a new room profile with the specified details.</p>",
    "CreateRoom": "<p>Creates a room with the specified details.</p>",
    "CreateSkillGroup": "<p>Creates a skill group with a specified name and description.</p>",
    "CreateUser": "<p>Creates a user.</p>",
    "DeleteAddressBook": "<p>Deletes an address book by the address book ARN.</p>",
    "DeleteContact": "<p>Deletes a contact by the contact ARN.</p>",
    "DeleteProfile": "<p>Deletes a room profile by the profile ARN.</p>",
    "DeleteRoom": "<p>Deletes a room by the room ARN.</p>",
    "DeleteRoomSkillParameter": "<p>Deletes room skill parameter details by room, skill, and parameter key ID.</p>",
    "DeleteSkillGroup": "<p>Deletes a skill group by skill group ARN.</p>",
    "DeleteUser": "<p>Deletes a specified user by user ARN and enrollment ARN.</p>",
    "DisassociateContactFromAddressBook": "<p>Disassociates a contact from a given address book.</p>",
    "DisassociateDeviceFromRoom": "<p>Disassociates a device from its current room. The device continues to be connected to the Wi-Fi network and is still registered to the account. The device settings and skills are removed from the room.</p>",
    "DisassociateSkillGroupFromRoom": "<p>Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room.</p>",
    "GetAddressBook": "<p>Gets address the book details by the address book ARN.</p>",
    "GetContact": "<p>Gets the contact details by the contact ARN.</p>",
    "GetDevice": "<p>Gets the details of a device by device ARN.</p>",
    "GetProfile": "<p>Gets the details of a room profile by profile ARN.</p>",
    "GetRoom": "<p>Gets room details by room ARN.</p>",
    "GetRoomSkillParameter": "<p>Gets room skill parameter details by room, skill, and parameter key ARN.</p>",
    "GetSkillGroup": "<p>Gets skill group details by skill group ARN.</p>",
    "ListDeviceEvents": "<p>Lists the device event history, including device connection status, for up to 30 days.</p>",
    "ListSkills": "<p>Lists all enabled skills in a specific skill group.</p>",
    "ListTags": "<p>Lists all tags for the specified resource.</p>",
    "PutRoomSkillParameter": "<p>Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill parameter.</p>",
    "ResolveRoom": "<p>Determines the details for the room from which a skill request was invoked. This operation is used by skill developers.</p>",
    "RevokeInvitation": "<p>Revokes an invitation and invalidates the enrollment URL.</p>",
    "SearchAddressBooks": "<p>Searches address books and lists the ones that meet a set of filter and sort criteria.</p>",
    "SearchContacts": "<p>Searches contacts and lists the ones that meet a set of filter and sort criteria.</p>",
    "SearchDevices": "<p>Searches devices and lists the ones that meet a set of filter criteria.</p>",
    "SearchProfiles": "<p>Searches room profiles and lists the ones that meet a set of filter criteria.</p>",
    "SearchRooms": "<p>Searches rooms and lists the ones that meet a set of filter and sort criteria.</p>",
    "SearchSkillGroups": "<p>Searches skill groups and lists the ones that meet a set of filter and sort criteria.</p>",
    "SearchUsers": "<p>Searches users and lists the ones that meet a set of filter and sort criteria.</p>",
    "SendInvitation": "<p>Sends an enrollment invitation email with a URL to a user. The URL is valid for 72 hours or until you call this operation again, whichever comes first. </p>",
    "StartDeviceSync": "<p>Resets a device and its account to the known default settings, by clearing all information and settings set by previous users.</p>",
    "TagResource": "<p>Adds metadata tags to a specified resource.</p>",
    "UntagResource": "<p>Removes metadata tags from a specified resource.</p>",
    "UpdateAddressBook": "<p>Updates address book details by the address book ARN.</p>",
    "UpdateContact": "<p>Updates the contact details by the contact ARN.</p>",
    "UpdateDevice": "<p>Updates the device name by device ARN.</p>",
    "UpdateProfile": "<p>Updates an existing room profile by room profile ARN.</p>",
    "UpdateRoom": "<p>Updates room details by room ARN.</p>",
    "UpdateSkillGroup": "<p>Updates skill group details by skill group ARN.</p>"
  },
  "shapes": {
    "Address": {
      "base": null,
      "refs": {
        "CreateProfileRequest$Address": "<p>The valid address for the room.</p>",
        "Profile$Address": "<p>The address of a room profile.</p>",
        "ProfileData$Address": "<p>The address of a room profile.</p>",
        "UpdateProfileRequest$Address": "<p>The updated address for the room profile.</p>"
      }
    },
    "AddressBook": {
      "base": "<p>An address book with attributes.</p>",
      "refs": {
        "GetAddressBookResponse$AddressBook": "<p>The details of the requested address book.</p>"
      }
    },
    "AddressBookData": {
      "base": "<p>Information related to an address book.</p>",
      "refs": {
        "AddressBookDataList$member": null
      }
    },
    "AddressBookDataList": {
      "base": null,
      "refs": {
        "SearchAddressBooksResponse$AddressBooks": "<p>The address books that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "AddressBookDescription": {
      "base": null,
      "refs": {
        "AddressBook$Description": "<p>The description of the address book.</p>",
        "AddressBookData$Description": "<p>The description of the address book.</p>",
        "CreateAddressBookRequest$Description": "<p>The description of the address book.</p>",
        "UpdateAddressBookRequest$Description": "<p>The updated description of the room.</p>"
      }
    },
    "AddressBookName": {
      "base": null,
      "refs": {
        "AddressBook$Name": "<p>The name of the address book.</p>",
        "AddressBookData$Name": "<p>The name of the address book.</p>",
        "CreateAddressBookRequest$Name": "<p>The name of the address book.</p>",
        "UpdateAddressBookRequest$Name": "<p>The updated name of the room.</p>"
      }
    },
    "AlreadyExistsException": {
      "base": "<p>The resource being created already exists. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "Arn": {
      "base": null,
      "refs": {
        "AddressBook$AddressBookArn": "<p>The ARN of the address book.</p>",
        "AddressBookData$AddressBookArn": "<p>The ARN of the address book.</p>",
        "AssociateContactWithAddressBookRequest$ContactArn": "<p>The ARN of the contact to associate with an address book.</p>",
        "AssociateContactWithAddressBookRequest$AddressBookArn": "<p>The ARN of the address book with which to associate the contact.</p>",
        "AssociateDeviceWithRoomRequest$DeviceArn": "<p>The ARN of the device to associate to a room. Required.</p>",
        "AssociateDeviceWithRoomRequest$RoomArn": "<p>The ARN of the room with which to associate the device. Required.</p>",
        "AssociateSkillGroupWithRoomRequest$SkillGroupArn": "<p>The ARN of the skill group to associate with a room. Required.</p>",
        "AssociateSkillGroupWithRoomRequest$RoomArn": "<p>The ARN of the room with which to associate the skill group. Required.</p>",
        "Contact$ContactArn": "<p>The ARN of the contact.</p>",
        "ContactData$ContactArn": "<p>The ARN of the contact.</p>",
        "CreateAddressBookResponse$AddressBookArn": "<p>The ARN of the newly created address book.</p>",
        "CreateContactResponse$ContactArn": "<p>The ARN of the newly created address book.</p>",
        "CreateProfileResponse$ProfileArn": "<p>The ARN of the newly created room profile in the response.</p>",
        "CreateRoomRequest$ProfileArn": "<p>The profile ARN for the room.</p>",
        "CreateRoomResponse$RoomArn": "<p>The ARN of the newly created room in the response.</p>",
        "CreateSkillGroupResponse$SkillGroupArn": "<p>The ARN of the newly created skill group in the response.</p>",
        "CreateUserResponse$UserArn": "<p>The ARN of the newly created user in the response.</p>",
        "DeleteAddressBookRequest$AddressBookArn": "<p>The ARN of the address book to delete.</p>",
        "DeleteContactRequest$ContactArn": "<p>The ARN of the contact to delete.</p>",
        "DeleteProfileRequest$ProfileArn": "<p>The ARN of the room profile to delete. Required.</p>",
        "DeleteRoomRequest$RoomArn": "<p>The ARN of the room to delete. Required.</p>",
        "DeleteRoomSkillParameterRequest$RoomArn": "<p>The ARN of the room from which to remove the room skill parameter details.</p>",
        "DeleteSkillGroupRequest$SkillGroupArn": "<p>The ARN of the skill group to delete. Required.</p>",
        "DeleteUserRequest$UserArn": "<p>The ARN of the user to delete in the organization. Required.</p>",
        "Device$DeviceArn": "<p>The ARN of a device.</p>",
        "Device$RoomArn": "<p>The room ARN of a device.</p>",
        "DeviceData$DeviceArn": "<p>The ARN of a device.</p>",
        "DeviceData$RoomArn": "<p>The room ARN associated with a device.</p>",
        "DisassociateContactFromAddressBookRequest$ContactArn": "<p>The ARN of the contact to disassociate from an address book.</p>",
        "DisassociateContactFromAddressBookRequest$AddressBookArn": "<p>The ARN of the address from which to disassociate the contact.</p>",
        "DisassociateDeviceFromRoomRequest$DeviceArn": "<p>The ARN of the device to disassociate from a room. Required.</p>",
        "DisassociateSkillGroupFromRoomRequest$SkillGroupArn": "<p>The ARN of the skill group to disassociate from a room. Required.</p>",
        "DisassociateSkillGroupFromRoomRequest$RoomArn": "<p>The ARN of the room from which the skill group is to be disassociated. Required.</p>",
        "GetAddressBookRequest$AddressBookArn": "<p>The ARN of the address book for which to request details.</p>",
        "GetContactRequest$ContactArn": "<p>The ARN of the contact for which to request details.</p>",
        "GetDeviceRequest$DeviceArn": "<p>The ARN of the device for which to request details. Required.</p>",
        "GetProfileRequest$ProfileArn": "<p>The ARN of the room profile for which to request details. Required.</p>",
        "GetRoomRequest$RoomArn": "<p>The ARN of the room for which to request details. Required.</p>",
        "GetRoomSkillParameterRequest$RoomArn": "<p>The ARN of the room from which to get the room skill parameter details. </p>",
        "GetSkillGroupRequest$SkillGroupArn": "<p>The ARN of the skill group for which to get details. Required.</p>",
        "ListDeviceEventsRequest$DeviceArn": "<p>The ARN of a device.</p>",
        "ListSkillsRequest$SkillGroupArn": "<p>The ARN of the skill group for which to list enabled skills. Required.</p>",
        "ListTagsRequest$Arn": "<p>The ARN of the specified resource for which to list tags.</p>",
        "Profile$ProfileArn": "<p>The ARN of a room profile.</p>",
        "ProfileData$ProfileArn": "<p>The ARN of a room profile.</p>",
        "PutRoomSkillParameterRequest$RoomArn": "<p>The ARN of the room associated with the room skill parameter. Required.</p>",
        "ResolveRoomResponse$RoomArn": "<p>The ARN of the room from which the skill request was invoked.</p>",
        "RevokeInvitationRequest$UserArn": "<p>The ARN of the user for whom to revoke an enrollment invitation. Required.</p>",
        "Room$RoomArn": "<p>The ARN of a room.</p>",
        "Room$ProfileArn": "<p>The profile ARN of a room.</p>",
        "RoomData$RoomArn": "<p>The ARN of a room.</p>",
        "RoomData$ProfileArn": "<p>The profile ARN of a room.</p>",
        "SendInvitationRequest$UserArn": "<p>The ARN of the user to whom to send an invitation. Required.</p>",
        "SkillGroup$SkillGroupArn": "<p>The ARN of a skill group.</p>",
        "SkillGroupData$SkillGroupArn": "<p>The skill group ARN of a skill group.</p>",
        "StartDeviceSyncRequest$RoomArn": "<p>The ARN of the room with which the device to sync is associated. Required.</p>",
        "StartDeviceSyncRequest$DeviceArn": "<p>The ARN of the device to sync. Required.</p>",
        "TagResourceRequest$Arn": "<p>The ARN of the resource to which to add metadata tags. Required. </p>",
        "UntagResourceRequest$Arn": "<p>The ARN of the resource from which to remove metadata tags. Required. </p>",
        "UpdateAddressBookRequest$AddressBookArn": "<p>The ARN of the room to update.</p>",
        "UpdateContactRequest$ContactArn": "<p>The ARN of the contact to update.</p>",
        "UpdateDeviceRequest$DeviceArn": "<p>The ARN of the device to update. Required.</p>",
        "UpdateProfileRequest$ProfileArn": "<p>The ARN of the room profile to update. Required.</p>",
        "UpdateRoomRequest$RoomArn": "<p>The ARN of the room to update. </p>",
        "UpdateRoomRequest$ProfileArn": "<p>The updated profile ARN for the room.</p>",
        "UpdateSkillGroupRequest$SkillGroupArn": "<p>The ARN of the skill group to update. </p>",
        "UserData$UserArn": "<p>The ARN of a user.</p>"
      }
    },
    "AssociateContactWithAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "AssociateContactWithAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "AssociateDeviceWithRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "AssociateDeviceWithRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "AssociateSkillGroupWithRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "AssociateSkillGroupWithRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "Boolean": {
      "base": null,
      "refs": {
        "CreateProfileRequest$SetupModeDisabled": "<p>Whether room profile setup is enabled.</p>",
        "CreateProfileRequest$PSTNEnabled": "<p>Whether PSTN calling is enabled.</p>",
        "Profile$SetupModeDisabled": "<p>The setup mode of a room profile.</p>",
        "Profile$PSTNEnabled": "<p>The PSTN setting of a room profile.</p>",
        "UpdateProfileRequest$SetupModeDisabled": "<p>Whether the setup mode of the profile is enabled.</p>",
        "UpdateProfileRequest$PSTNEnabled": "<p>Whether the PSTN setting of the room profile is enabled.</p>"
      }
    },
    "ClientRequestToken": {
      "base": "User specified token that is used to support idempotency during Create Resource",
      "refs": {
        "CreateAddressBookRequest$ClientRequestToken": "<p>A unique, user-specified identifier for the request that ensures idempotency.</p>",
        "CreateContactRequest$ClientRequestToken": "<p>A unique, user-specified identifier for this request that ensures idempotency.</p>",
        "CreateProfileRequest$ClientRequestToken": "<p>The user-specified token that is used during the creation of a profile.</p>",
        "CreateRoomRequest$ClientRequestToken": "<p>A unique, user-specified identifier for this request that ensures idempotency. </p>",
        "CreateSkillGroupRequest$ClientRequestToken": "<p>A unique, user-specified identifier for this request that ensures idempotency. </p>",
        "CreateUserRequest$ClientRequestToken": "<p>A unique, user-specified identifier for this request that ensures idempotency. </p>",
        "ResourceInUseException$ClientRequestToken": null
      }
    },
    "ConnectionStatus": {
      "base": null,
      "refs": {
        "DeviceStatusInfo$ConnectionStatus": "<p>The latest available information about the connection status of a device. </p>"
      }
    },
    "Contact": {
      "base": "<p>A contact with attributes.</p>",
      "refs": {
        "GetContactResponse$Contact": "<p>The details of the requested contact.</p>"
      }
    },
    "ContactData": {
      "base": "<p>Information related to a contact.</p>",
      "refs": {
        "ContactDataList$member": null
      }
    },
    "ContactDataList": {
      "base": null,
      "refs": {
        "SearchContactsResponse$Contacts": "<p>The contacts that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "ContactName": {
      "base": null,
      "refs": {
        "Contact$DisplayName": "<p>The name of the contact to display on the console.</p>",
        "Contact$FirstName": "<p>The first name of the contact, used to call the contact on the device.</p>",
        "Contact$LastName": "<p>The last name of the contact, used to call the contact on the device.</p>",
        "ContactData$DisplayName": "<p>The name of the contact to display on the console.</p>",
        "ContactData$FirstName": "<p>The first name of the contact, used to call the contact on the device.</p>",
        "ContactData$LastName": "<p>The last name of the contact, used to call the contact on the device.</p>",
        "CreateContactRequest$DisplayName": "<p>The name of the contact to display on the console.</p>",
        "CreateContactRequest$FirstName": "<p>The first name of the contact that is used to call the contact on the device.</p>",
        "CreateContactRequest$LastName": "<p>The last name of the contact that is used to call the contact on the device.</p>",
        "UpdateContactRequest$DisplayName": "<p>The updated display name of the contact.</p>",
        "UpdateContactRequest$FirstName": "<p>The updated first name of the contact.</p>",
        "UpdateContactRequest$LastName": "<p>The updated last name of the contact.</p>"
      }
    },
    "CreateAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "CreateContactRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateContactResponse": {
      "base": null,
      "refs": {
      }
    },
    "CreateProfileRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateProfileResponse": {
      "base": null,
      "refs": {
      }
    },
    "CreateRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "CreateSkillGroupRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateSkillGroupResponse": {
      "base": null,
      "refs": {
      }
    },
    "CreateUserRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateUserResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteContactRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteContactResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteProfileRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteProfileResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteRoomSkillParameterRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteRoomSkillParameterResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteSkillGroupRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteSkillGroupResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteUserRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteUserResponse": {
      "base": null,
      "refs": {
      }
    },
    "Device": {
      "base": "<p>A device with attributes.</p>",
      "refs": {
        "GetDeviceResponse$Device": "<p>The details of the device requested. Required.</p>"
      }
    },
    "DeviceData": {
      "base": "<p>Device attributes.</p>",
      "refs": {
        "DeviceDataList$member": null
      }
    },
    "DeviceDataList": {
      "base": null,
      "refs": {
        "SearchDevicesResponse$Devices": "<p>The devices that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "DeviceEvent": {
      "base": "<p>The list of device events.</p>",
      "refs": {
        "DeviceEventList$member": null
      }
    },
    "DeviceEventList": {
      "base": null,
      "refs": {
        "ListDeviceEventsResponse$DeviceEvents": "<p>The device events requested for the device ARN.</p>"
      }
    },
    "DeviceEventType": {
      "base": null,
      "refs": {
        "DeviceEvent$Type": "<p>The type of device event.</p>",
        "ListDeviceEventsRequest$EventType": "<p>The event type to filter device events. If EventType isn't specified, this returns a list of all device events in reverse chronological order. If EventType is specified, this returns a list of device events for that EventType in reverse chronological order. </p>"
      }
    },
    "DeviceEventValue": {
      "base": null,
      "refs": {
        "DeviceEvent$Value": "<p>The value of the event.</p>"
      }
    },
    "DeviceName": {
      "base": null,
      "refs": {
        "Device$DeviceName": "<p>The name of a device.</p>",
        "DeviceData$DeviceName": "<p>The name of a device.</p>",
        "UpdateDeviceRequest$DeviceName": "<p>The updated device name. Required.</p>"
      }
    },
    "DeviceNotRegisteredException": {
      "base": "<p>The request failed because this device is no longer registered and therefore no longer managed by this account.</p>",
      "refs": {
      }
    },
    "DeviceSerialNumber": {
      "base": null,
      "refs": {
        "Device$DeviceSerialNumber": "<p>The serial number of a device.</p>",
        "DeviceData$DeviceSerialNumber": "<p>The serial number of a device.</p>"
      }
    },
    "DeviceStatus": {
      "base": null,
      "refs": {
        "Device$DeviceStatus": "<p>The status of a device. If the status is not READY, check the DeviceStatusInfo value for details.</p>",
        "DeviceData$DeviceStatus": "<p>The status of a device.</p>"
      }
    },
    "DeviceStatusDetail": {
      "base": "<p>Details of a device’s status.</p>",
      "refs": {
        "DeviceStatusDetails$member": null
      }
    },
    "DeviceStatusDetailCode": {
      "base": null,
      "refs": {
        "DeviceStatusDetail$Code": "<p>The device status detail code.</p>"
      }
    },
    "DeviceStatusDetails": {
      "base": null,
      "refs": {
        "DeviceStatusInfo$DeviceStatusDetails": "<p>One or more device status detail descriptions.</p>"
      }
    },
    "DeviceStatusInfo": {
      "base": "<p>Detailed information about a device's status.</p>",
      "refs": {
        "Device$DeviceStatusInfo": "<p>Detailed information about a device's status.</p>",
        "DeviceData$DeviceStatusInfo": "<p>Detailed information about a device's status.</p>"
      }
    },
    "DeviceType": {
      "base": null,
      "refs": {
        "Device$DeviceType": "<p>The type of a device.</p>",
        "DeviceData$DeviceType": "<p>The type of a device.</p>"
      }
    },
    "DisassociateContactFromAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "DisassociateContactFromAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "DisassociateDeviceFromRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "DisassociateDeviceFromRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "DisassociateSkillGroupFromRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "DisassociateSkillGroupFromRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "DistanceUnit": {
      "base": null,
      "refs": {
        "CreateProfileRequest$DistanceUnit": "<p>The distance unit to be used by devices in the profile.</p>",
        "Profile$DistanceUnit": "<p>The distance unit of a room profile.</p>",
        "ProfileData$DistanceUnit": "<p>The distance unit of a room profile.</p>",
        "UpdateProfileRequest$DistanceUnit": "<p>The updated distance unit for the room profile.</p>"
      }
    },
    "E164PhoneNumber": {
      "base": null,
      "refs": {
        "Contact$PhoneNumber": "<p>The phone number of the contact.</p>",
        "ContactData$PhoneNumber": "<p>The phone number of the contact.</p>",
        "CreateContactRequest$PhoneNumber": "<p>The phone number of the contact in E.164 format.</p>",
        "UpdateContactRequest$PhoneNumber": "<p>The updated phone number of the contact.</p>"
      }
    },
    "Email": {
      "base": null,
      "refs": {
        "CreateUserRequest$Email": "<p>The email address for the user.</p>",
        "UserData$Email": "<p>The email of a user.</p>"
      }
    },
    "EnrollmentId": {
      "base": null,
      "refs": {
        "DeleteUserRequest$EnrollmentId": "<p>The ARN of the user's enrollment in the organization. Required.</p>",
        "RevokeInvitationRequest$EnrollmentId": "<p>The ARN of the enrollment invitation to revoke. Required.</p>",
        "UserData$EnrollmentId": "<p>The enrollment ARN of a user.</p>"
      }
    },
    "EnrollmentStatus": {
      "base": null,
      "refs": {
        "UserData$EnrollmentStatus": "<p>The enrollment status of a user.</p>"
      }
    },
    "ErrorMessage": {
      "base": null,
      "refs": {
        "AlreadyExistsException$Message": null,
        "DeviceNotRegisteredException$Message": null,
        "InvalidUserStatusException$Message": null,
        "LimitExceededException$Message": null,
        "NameInUseException$Message": null,
        "NotFoundException$Message": null,
        "ResourceInUseException$Message": null
      }
    },
    "Feature": {
      "base": null,
      "refs": {
        "Features$member": null
      }
    },
    "Features": {
      "base": null,
      "refs": {
        "StartDeviceSyncRequest$Features": "<p>Request structure to start the device sync. Required.</p>"
      }
    },
    "Filter": {
      "base": "<p>A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.</p>",
      "refs": {
        "FilterList$member": null
      }
    },
    "FilterKey": {
      "base": null,
      "refs": {
        "Filter$Key": "<p>The key of a filter.</p>"
      }
    },
    "FilterList": {
      "base": null,
      "refs": {
        "SearchAddressBooksRequest$Filters": "<p>The filters to use to list a specified set of address books. The supported filter key is AddressBookName.</p>",
        "SearchContactsRequest$Filters": "<p>The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns.</p>",
        "SearchDevicesRequest$Filters": "<p>The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, and ConnectionStatus (ONLINE and OFFLINE).</p>",
        "SearchProfilesRequest$Filters": "<p>The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required. </p>",
        "SearchRoomsRequest$Filters": "<p>The filters to use to list a specified set of rooms. The supported filter keys are RoomName and ProfileName.</p>",
        "SearchSkillGroupsRequest$Filters": "<p>The filters to use to list a specified set of skill groups. The supported filter key is SkillGroupName. </p>",
        "SearchUsersRequest$Filters": "<p>The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.</p>"
      }
    },
    "FilterValue": {
      "base": null,
      "refs": {
        "FilterValueList$member": null
      }
    },
    "FilterValueList": {
      "base": null,
      "refs": {
        "Filter$Values": "<p>The values of a filter.</p>"
      }
    },
    "GetAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetContactRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetContactResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetDeviceRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetDeviceResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetProfileRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetProfileResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetRoomSkillParameterRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetRoomSkillParameterResponse": {
      "base": null,
      "refs": {
      }
    },
    "GetSkillGroupRequest": {
      "base": null,
      "refs": {
      }
    },
    "GetSkillGroupResponse": {
      "base": null,
      "refs": {
      }
    },
    "InvalidUserStatusException": {
      "base": "<p>The attempt to update a user is invalid due to the user's current status. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "LimitExceededException": {
      "base": "<p>You are performing an action that would put you beyond your account's limits. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "ListDeviceEventsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListDeviceEventsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListSkillsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListSkillsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsResponse": {
      "base": null,
      "refs": {
      }
    },
    "MacAddress": {
      "base": null,
      "refs": {
        "Device$MacAddress": "<p>The MAC address of a device.</p>",
        "DeviceData$MacAddress": "<p>The MAC address of a device.</p>"
      }
    },
    "MaxResults": {
      "base": null,
      "refs": {
        "ListDeviceEventsRequest$MaxResults": "<p>The maximum number of results to include in the response. The default value is 50. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. </p>",
        "ListTagsRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved.</p>",
        "SearchAddressBooksRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.</p>",
        "SearchContactsRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.</p>",
        "SearchDevicesRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved.</p>",
        "SearchProfilesRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved.</p>",
        "SearchRoomsRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved. </p>",
        "SearchSkillGroupsRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved. </p>",
        "SearchUsersRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved. Required.</p>"
      }
    },
    "MaxVolumeLimit": {
      "base": null,
      "refs": {
        "CreateProfileRequest$MaxVolumeLimit": "<p>The maximum volume limit for a room profile.</p>",
        "Profile$MaxVolumeLimit": "<p>The max volume limit of a room profile.</p>",
        "UpdateProfileRequest$MaxVolumeLimit": "<p>The updated maximum volume limit for the room profile.</p>"
      }
    },
    "NameInUseException": {
      "base": "<p>The name sent in the request is already in use. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "NextToken": {
      "base": null,
      "refs": {
        "ListDeviceEventsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults. When the end of results is reached, the response has a value of null.</p>",
        "ListDeviceEventsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "ListSkillsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>. Required.</p>",
        "ListSkillsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "ListTagsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>. </p>",
        "ListTagsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchAddressBooksRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.</p>",
        "SearchAddressBooksResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchContactsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.</p>",
        "SearchContactsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchDevicesRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>.</p>",
        "SearchDevicesResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchProfilesRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>.</p>",
        "SearchProfilesResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchRoomsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>.</p>",
        "SearchRoomsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchSkillGroupsRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>. Required.</p>",
        "SearchSkillGroupsResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>",
        "SearchUsersRequest$NextToken": "<p>An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by <code>MaxResults</code>. Required.</p>",
        "SearchUsersResponse$NextToken": "<p>The token returned to indicate that there is more data available.</p>"
      }
    },
    "NotFoundException": {
      "base": "<p>The resource is not found. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "Profile": {
      "base": "<p>A room profile with attributes.</p>",
      "refs": {
        "GetProfileResponse$Profile": "<p>The details of the room profile requested. Required.</p>"
      }
    },
    "ProfileData": {
      "base": "<p>The data of a room profile.</p>",
      "refs": {
        "ProfileDataList$member": null
      }
    },
    "ProfileDataList": {
      "base": null,
      "refs": {
        "SearchProfilesResponse$Profiles": "<p>The profiles that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "ProfileName": {
      "base": null,
      "refs": {
        "CreateProfileRequest$ProfileName": "<p>The name of a room profile.</p>",
        "Profile$ProfileName": "<p>The name of a room profile.</p>",
        "ProfileData$ProfileName": "<p>The name of a room profile.</p>",
        "RoomData$ProfileName": "<p>The profile name of a room.</p>",
        "UpdateProfileRequest$ProfileName": "<p>The updated name for the room profile.</p>"
      }
    },
    "ProviderCalendarId": {
      "base": null,
      "refs": {
        "CreateRoomRequest$ProviderCalendarId": "<p>The calendar ARN for the room.</p>",
        "Room$ProviderCalendarId": "<p>The provider calendar ARN of a room.</p>",
        "RoomData$ProviderCalendarId": "<p>The provider calendar ARN of a room.</p>",
        "UpdateRoomRequest$ProviderCalendarId": "<p>The updated provider calendar ARN for the room.</p>"
      }
    },
    "PutRoomSkillParameterRequest": {
      "base": null,
      "refs": {
      }
    },
    "PutRoomSkillParameterResponse": {
      "base": null,
      "refs": {
      }
    },
    "ResolveRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "ResolveRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "ResourceInUseException": {
      "base": "<p>The resource in the request is already in use. HTTP Status Code: 400</p>",
      "refs": {
      }
    },
    "RevokeInvitationRequest": {
      "base": null,
      "refs": {
      }
    },
    "RevokeInvitationResponse": {
      "base": null,
      "refs": {
      }
    },
    "Room": {
      "base": "<p>A room with attributes.</p>",
      "refs": {
        "GetRoomResponse$Room": "<p>The details of the room requested.</p>"
      }
    },
    "RoomData": {
      "base": "<p>The data of a room.</p>",
      "refs": {
        "RoomDataList$member": null
      }
    },
    "RoomDataList": {
      "base": null,
      "refs": {
        "SearchRoomsResponse$Rooms": "<p>The rooms that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "RoomDescription": {
      "base": null,
      "refs": {
        "CreateRoomRequest$Description": "<p>The description for the room.</p>",
        "Room$Description": "<p>The description of a room.</p>",
        "RoomData$Description": "<p>The description of a room.</p>",
        "UpdateRoomRequest$Description": "<p>The updated description for the room.</p>"
      }
    },
    "RoomName": {
      "base": null,
      "refs": {
        "CreateRoomRequest$RoomName": "<p>The name for the room.</p>",
        "DeviceData$RoomName": "<p>The name of the room associated with a device.</p>",
        "ResolveRoomResponse$RoomName": "<p>The name of the room from which the skill request was invoked.</p>",
        "Room$RoomName": "<p>The name of a room.</p>",
        "RoomData$RoomName": "<p>The name of a room.</p>",
        "UpdateRoomRequest$RoomName": "<p>The updated name for the room.</p>"
      }
    },
    "RoomSkillParameter": {
      "base": "<p>A skill parameter associated with a room.</p>",
      "refs": {
        "GetRoomSkillParameterResponse$RoomSkillParameter": "<p>The details of the room skill parameter requested. Required.</p>",
        "PutRoomSkillParameterRequest$RoomSkillParameter": "<p>The updated room skill parameter. Required.</p>",
        "RoomSkillParameters$member": null
      }
    },
    "RoomSkillParameterKey": {
      "base": null,
      "refs": {
        "DeleteRoomSkillParameterRequest$ParameterKey": "<p>The room skill parameter key for which to remove details.</p>",
        "GetRoomSkillParameterRequest$ParameterKey": "<p>The room skill parameter key for which to get details. Required.</p>",
        "RoomSkillParameter$ParameterKey": "<p>The parameter key of a room skill parameter. ParameterKey is an enumerated type that only takes “DEFAULT” or “SCOPE” as valid values.</p>"
      }
    },
    "RoomSkillParameterValue": {
      "base": null,
      "refs": {
        "RoomSkillParameter$ParameterValue": "<p>The parameter value of a room skill parameter.</p>"
      }
    },
    "RoomSkillParameters": {
      "base": null,
      "refs": {
        "ResolveRoomResponse$RoomSkillParameters": "<p>Response to get the room profile request. Required.</p>"
      }
    },
    "SearchAddressBooksRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchAddressBooksResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchContactsRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchContactsResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchDevicesRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchDevicesResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchProfilesRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchProfilesResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchRoomsRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchRoomsResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchSkillGroupsRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchSkillGroupsResponse": {
      "base": null,
      "refs": {
      }
    },
    "SearchUsersRequest": {
      "base": null,
      "refs": {
      }
    },
    "SearchUsersResponse": {
      "base": null,
      "refs": {
      }
    },
    "SendInvitationRequest": {
      "base": null,
      "refs": {
      }
    },
    "SendInvitationResponse": {
      "base": null,
      "refs": {
      }
    },
    "SkillGroup": {
      "base": "<p>A skill group with attributes.</p>",
      "refs": {
        "GetSkillGroupResponse$SkillGroup": "<p>The details of the skill group requested. Required.</p>"
      }
    },
    "SkillGroupData": {
      "base": "<p>The attributes of a skill group.</p>",
      "refs": {
        "SkillGroupDataList$member": null
      }
    },
    "SkillGroupDataList": {
      "base": null,
      "refs": {
        "SearchSkillGroupsResponse$SkillGroups": "<p>The skill groups that meet the filter criteria, in sort order.</p>"
      }
    },
    "SkillGroupDescription": {
      "base": null,
      "refs": {
        "CreateSkillGroupRequest$Description": "<p>The description for the skill group.</p>",
        "SkillGroup$Description": "<p>The description of a skill group.</p>",
        "SkillGroupData$Description": "<p>The description of a skill group.</p>",
        "UpdateSkillGroupRequest$Description": "<p>The updated description for the skill group.</p>"
      }
    },
    "SkillGroupName": {
      "base": null,
      "refs": {
        "CreateSkillGroupRequest$SkillGroupName": "<p>The name for the skill group.</p>",
        "SkillGroup$SkillGroupName": "<p>The name of a skill group.</p>",
        "SkillGroupData$SkillGroupName": "<p>The skill group name of a skill group.</p>",
        "UpdateSkillGroupRequest$SkillGroupName": "<p>The updated name for the skill group.</p>"
      }
    },
    "SkillId": {
      "base": null,
      "refs": {
        "DeleteRoomSkillParameterRequest$SkillId": "<p>The ID of the skill from which to remove the room skill parameter details.</p>",
        "GetRoomSkillParameterRequest$SkillId": "<p>The ARN of the skill from which to get the room skill parameter details. Required.</p>",
        "PutRoomSkillParameterRequest$SkillId": "<p>The ARN of the skill associated with the room skill parameter. Required.</p>",
        "ResolveRoomRequest$SkillId": "<p>The ARN of the skill that was requested. Required.</p>",
        "SkillSummary$SkillId": "<p>The ARN of the skill summary.</p>"
      }
    },
    "SkillListMaxResults": {
      "base": null,
      "refs": {
        "ListSkillsRequest$MaxResults": "<p>The maximum number of results to include in the response. If more results exist than the specified <code>MaxResults</code> value, a token is included in the response so that the remaining results can be retrieved. Required.</p>"
      }
    },
    "SkillName": {
      "base": null,
      "refs": {
        "SkillSummary$SkillName": "<p>The name of the skill.</p>"
      }
    },
    "SkillSummary": {
      "base": "<p>The summary of skills.</p>",
      "refs": {
        "SkillSummaryList$member": null
      }
    },
    "SkillSummaryList": {
      "base": null,
      "refs": {
        "ListSkillsResponse$SkillSummaries": "<p>The list of enabled skills requested. Required.</p>"
      }
    },
    "SoftwareVersion": {
      "base": null,
      "refs": {
        "Device$SoftwareVersion": "<p>The software version of a device.</p>",
        "DeviceData$SoftwareVersion": "<p>The software version of a device.</p>"
      }
    },
    "Sort": {
      "base": "<p>An object representing a sort criteria. </p>",
      "refs": {
        "SortList$member": null
      }
    },
    "SortKey": {
      "base": null,
      "refs": {
        "Sort$Key": "<p>The sort key of a sort object.</p>"
      }
    },
    "SortList": {
      "base": null,
      "refs": {
        "SearchAddressBooksRequest$SortCriteria": "<p>The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName.</p>",
        "SearchContactsRequest$SortCriteria": "<p>The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName.</p>",
        "SearchDevicesRequest$SortCriteria": "<p>The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and ConnectionStatus.</p>",
        "SearchProfilesRequest$SortCriteria": "<p>The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address.</p>",
        "SearchRoomsRequest$SortCriteria": "<p>The sort order to use in listing the specified set of rooms. The supported sort keys are RoomName and ProfileName.</p>",
        "SearchSkillGroupsRequest$SortCriteria": "<p>The sort order to use in listing the specified set of skill groups. The supported sort key is SkillGroupName. </p>",
        "SearchUsersRequest$SortCriteria": "<p>The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.</p>"
      }
    },
    "SortValue": {
      "base": null,
      "refs": {
        "Sort$Value": "<p>The sort value of a sort object.</p>"
      }
    },
    "StartDeviceSyncRequest": {
      "base": null,
      "refs": {
      }
    },
    "StartDeviceSyncResponse": {
      "base": null,
      "refs": {
      }
    },
    "Tag": {
      "base": "<p>A key-value pair that can be associated with a resource. </p>",
      "refs": {
        "TagList$member": null
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "Tag$Key": "<p>The key of a tag. Tag keys are case-sensitive. </p>",
        "TagKeyList$member": null
      }
    },
    "TagKeyList": {
      "base": null,
      "refs": {
        "UntagResourceRequest$TagKeys": "<p>The tags to be removed from the specified resource. Do not provide system tags. Required. </p>"
      }
    },
    "TagList": {
      "base": null,
      "refs": {
        "CreateRoomRequest$Tags": "<p>The tags for the room.</p>",
        "CreateUserRequest$Tags": "<p>The tags for the user.</p>",
        "ListTagsResponse$Tags": "<p>The tags requested for the specified resource.</p>",
        "TagResourceRequest$Tags": "<p>The tags to be added to the specified resource. Do not provide system tags. Required. </p>"
      }
    },
    "TagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "TagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "TagValue": {
      "base": null,
      "refs": {
        "Tag$Value": "<p>The value of a tag. Tag values are case-sensitive and can be null.</p>"
      }
    },
    "TemperatureUnit": {
      "base": null,
      "refs": {
        "CreateProfileRequest$TemperatureUnit": "<p>The temperature unit to be used by devices in the profile.</p>",
        "Profile$TemperatureUnit": "<p>The temperature unit of a room profile.</p>",
        "ProfileData$TemperatureUnit": "<p>The temperature unit of a room profile.</p>",
        "UpdateProfileRequest$TemperatureUnit": "<p>The updated temperature unit for the room profile.</p>"
      }
    },
    "Timestamp": {
      "base": null,
      "refs": {
        "DeviceEvent$Timestamp": "<p>The time (in epoch) when the event occurred. </p>"
      }
    },
    "Timezone": {
      "base": null,
      "refs": {
        "CreateProfileRequest$Timezone": "<p>The time zone used by a room profile.</p>",
        "Profile$Timezone": "<p>The time zone of a room profile.</p>",
        "ProfileData$Timezone": "<p>The timezone of a room profile.</p>",
        "UpdateProfileRequest$Timezone": "<p>The updated timezone for the room profile.</p>"
      }
    },
    "TotalCount": {
      "base": null,
      "refs": {
        "SearchAddressBooksResponse$TotalCount": "<p>The total number of address books returned.</p>",
        "SearchContactsResponse$TotalCount": "<p>The total number of contacts returned.</p>",
        "SearchDevicesResponse$TotalCount": "<p>The total number of devices returned.</p>",
        "SearchProfilesResponse$TotalCount": "<p>The total number of room profiles returned.</p>",
        "SearchRoomsResponse$TotalCount": "<p>The total number of rooms returned.</p>",
        "SearchSkillGroupsResponse$TotalCount": "<p>The total number of skill groups returned.</p>",
        "SearchUsersResponse$TotalCount": "<p>The total number of users returned.</p>"
      }
    },
    "UntagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "UntagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateAddressBookRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateAddressBookResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateContactRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateContactResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateDeviceRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateDeviceResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateProfileRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateProfileResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateRoomRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateRoomResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateSkillGroupRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateSkillGroupResponse": {
      "base": null,
      "refs": {
      }
    },
    "UserData": {
      "base": "<p>Information related to a user.</p>",
      "refs": {
        "UserDataList$member": null
      }
    },
    "UserDataList": {
      "base": null,
      "refs": {
        "SearchUsersResponse$Users": "<p>The users that meet the specified set of filter criteria, in sort order.</p>"
      }
    },
    "UserId": {
      "base": null,
      "refs": {
        "ResolveRoomRequest$UserId": "<p>The ARN of the user. Required.</p>"
      }
    },
    "WakeWord": {
      "base": null,
      "refs": {
        "CreateProfileRequest$WakeWord": "<p>A wake word for Alexa, Echo, Amazon, or a computer.</p>",
        "Profile$WakeWord": "<p>The wake word of a room profile.</p>",
        "ProfileData$WakeWord": "<p>The wake word of a room profile.</p>",
        "UpdateProfileRequest$WakeWord": "<p>The updated wake word for the room profile.</p>"
      }
    },
    "boolean": {
      "base": null,
      "refs": {
        "SkillSummary$SupportsLinking": "<p>Linking support for a skill.</p>"
      }
    },
    "user_FirstName": {
      "base": null,
      "refs": {
        "CreateUserRequest$FirstName": "<p>The first name for the user.</p>",
        "UserData$FirstName": "<p>The first name of a user.</p>"
      }
    },
    "user_LastName": {
      "base": null,
      "refs": {
        "CreateUserRequest$LastName": "<p>The last name for the user.</p>",
        "UserData$LastName": "<p>The last name of a user.</p>"
      }
    },
    "user_UserId": {
      "base": null,
      "refs": {
        "CreateUserRequest$UserId": "<p>The ARN for the user.</p>"
      }
    }
  }
}
