---
title: INShortcutAvailabilityOptions
framework: intents
role: symbol
role_heading: Structure
path: intents/inshortcutavailabilityoptions
---

# INShortcutAvailabilityOptions

Defined contexts in which an intent or activity might be relevant to a user.

## Declaration

```swift
struct INShortcutAvailabilityOptions
```

## Overview

Overview The system uses the set of availability options in a donated shortcut to provide the user with shortcuts relevant in a particular context or circumstance. For example, a meditation app could include an intent with sleepMindfulness in its shortcutAvailability options when calling setShortcutSuggestions(_:). Then the Wind Down configuration screen in the Health app includes that intent in the Mindfulness category when guiding the user to set up shortcuts. Provide accurate availability options when you suggest shortcuts to INVoiceShortcutCenter with setShortcutSuggestions(_:), and when you donate shortcuts based on user actions. If none of the options apply to an intent, provide an empty OptionSet. tip: Most shortcuts should specify a single activity type, but you can use an option set with more than one category if a shortcut really doesn’t fit neatly into a single category. For more information on donating shortcuts effectively, see Donating Shortcuts.

## Topics

### Providing Contexts

- [sleepMindfulness](intents/inshortcutavailabilityoptions/sleepmindfulness.md)
- [sleepJournaling](intents/inshortcutavailabilityoptions/sleepjournaling.md)
- [sleepMusic](intents/inshortcutavailabilityoptions/sleepmusic.md)
- [sleepPodcasts](intents/inshortcutavailabilityoptions/sleeppodcasts.md)
- [sleepReading](intents/inshortcutavailabilityoptions/sleepreading.md)
- [sleepWrapUpYourDay](intents/inshortcutavailabilityoptions/sleepwrapupyourday.md)
- [sleepYogaAndStretching](intents/inshortcutavailabilityoptions/sleepyogaandstretching.md)

### Creating an Availability Set

- [init(rawValue:)](intents/inshortcutavailabilityoptions/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Shortcuts and Donations

- [Offering Actions in the Shortcuts App](sirikit/offering-actions-in-the-shortcuts-app.md)
- [Adding User Interactivity with Siri Shortcuts and the Shortcuts App](sirikit/adding-user-interactivity-with-siri-shortcuts-and-the-shortcuts-app.md)
- [Donating Shortcuts](sirikit/donating-shortcuts.md)
- [Deleting Donated Shortcuts](sirikit/deleting-donated-shortcuts.md)
- [Soup Chef: Accelerating App Interactions with Shortcuts](sirikit/soup-chef-accelerating-app-interactions-with-shortcuts.md)
- [Soup Chef with App Intents: Migrating custom intents](sirikit/soup-chef-with-app-intents-migrating-custom-intents.md)
- [Adding Shortcuts for Wind Down](sirikit/adding-shortcuts-for-wind-down.md)
- [INShortcutReference](intents/inshortcutreference.md)
- [INInteraction](intents/ininteraction.md)
- [INShortcut](intents/inshortcut-swift.enum.md)
- [INVoiceShortcutCenter](intents/invoiceshortcutcenter.md)
- [INVoiceShortcut](intents/invoiceshortcut.md)
- [INShortcutReference](intents/inshortcutreference.md)
- [INIntentDonationMetadata](intents/inintentdonationmetadata.md)
- [Apple Watch support](sirikit/watch-and-widget-support.md)
