> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XStoreProduct

> XStoreProduct

# XStoreProduct

Describes a store product.

## Syntax

```cpp theme={null}
typedef struct XStoreProduct {  
    const char* storeId;  
    const char* title;  
    const char* description;  
    const char* language;  
    const char* inAppOfferToken;  
    char* linkUri;  
    XStoreProductKind productKind;  
    XStorePrice price;  
    bool hasDigitalDownload;  
    bool isInUserCollection;  
    uint32_t keywordsCount;  
    const char** keywords;  
    uint32_t skusCount;  
    XStoreSku* skus;  
    uint32_t imagesCount;  
    XStoreImage* images;  
    uint32_t videosCount;  
    XStoreVideo* videos;  
} XStoreProduct  
```

### Members

*storeId*\
Type: const char\*

The product ID.

*title*\
Type: const char\*

The title of the product.

*description*\
Type: const char\*

A description of the store product.

*language*\
Type: const char\*

The International Organization of Standards (ISO) identifier representing the language the title and description strings are. See [https://msdn.microsoft.com/library/ms693062(v=vs.85).aspx](https://msdn.microsoft.com/library/ms693062\(v=vs.85\).aspx)

*inAppOfferToken*\
Type: const char\*

Game defined offer token that you can use to map items internally. For example: com.company.product.itemname.

*linkUri*\
Type: char\*

URI to the product.

*productKind*\
Type: [XStoreProductKind](/reference/system/xstore/enums/xstoreproductkind)

Indicates the type of store product.

*price*\
Type: [XStorePrice](/reference/system/xstore/structs/xstoreprice)

Price information for the store product.

*hasDigitalDownload*\
Type: bool

Indicates whether the store product has a digital download.

*isInUserCollection*\
Type: bool

Indicates if the product is in the user collection.

*keywordsCount*\
Type: uint32\_t

The number of keywords in **keywords**.

*keywords*\
Type: const char\*\*

Keywords associated with the store product.

*skusCount*\
Type: uint32\_t

The number of SKUs in **skus**.

*skus*\
Type: [XStoreSku\*](/reference/system/xstore/structs/xstoresku)

An array of SKUs associated with the product.

*imagesCount*\
Type: uint32\_t

The number of images in **images**.

*images*\
Type: [XStoreImage\*](/reference/system/xstore/structs/xstoreimage)

Images associated with the product.

*videosCount*\
Type: uint32\_t

The number of videos in **videos**.

*videos*\
Type: [XStoreVideo\*](/reference/system/xstore/structs/xstorevideo)

Videos associated with the product.

## Remarks

Products in the Store are organized in a hierarchy of *product*, *SKU*, and *availability* objects. Products are represented by **XStoreProduct** objects. The SKUs for each product are represented by [XStoreSku](/reference/system/xstore/structs/xstoresku) objects, and the availabilities for each SKU are represented by [XStoreAvailability](/reference/system/xstore/structs/xstoreavailability) objects.

## Requirements

**Header:** XStore.h (included in XGameRuntime.h)

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

## Conceptual documentation

* [Basic store operations](/publishing/xstore-commerce/xstore-basic-operations)
* [Granting players access to add-on content](/publishing/xstore-commerce/xstore-granting-access)
* [Manage and license downloadable content (DLC)](/publishing/xstore-commerce/xstore-dlc)

## See also

[XStore](/reference/system/xstore/xstore_members)


## Related topics

- [XStoreProductKind](/reference/system/xstore/enums/xstoreproductkind.md)
- [XStoreProductQueryCallback](/reference/system/xstore/functions/xstoreproductquerycallback.md)
- [XStoreSku](/reference/system/xstore/structs/xstoresku.md)
- [XStoreAvailability](/reference/system/xstore/structs/xstoreavailability.md)
- [XStoreVideo](/reference/system/xstore/structs/xstorevideo.md)
