> For the complete documentation index, see [llms.txt](https://docs.hos.accessacloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hos.accessacloud.com/atreemo-api/api-reference/atreemo-api-reference/reward-journeys.md).

# Reward Journeys

Api Methods for RewardJourneys

## FindRewardJourney

> Find Reward Journeys based on the criteria sent in the Filter

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"RewardJourneys","description":"Api Methods for RewardJourneys"}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"FindRewardJourneysInputFilter":{"type":"object","properties":{"BrandID":{"type":"integer","format":"int32","description":"Filter RewardJourney with RewardJourney BrandID"},"RewardJourneyEndDate":{"type":"string","format":"date-time","nullable":true,"description":"Filter RewardJourney with RewardJourney EndDate"},"RewardJourneyID":{"type":"integer","format":"int32","description":"Filter RewardJourney with RewardJourney ID"},"RewardJourneyLocations":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyLocation"},"description":"Filter RewardJourney with RewardJourney Locations"},"RewardJourneyname":{"type":"string","description":"Filter RewardJourney with RewardJourney name"},"RewardJourneyRewardType":{"description":"Filter RewardJourney with RewardJourney Reward Type (Documented as type `RewardJourneyRewardType`; its structure or allowed values are not documented in the public collection.)","type":"integer","format":"int32"},"RewardJourneyStartDate":{"type":"string","format":"date-time","nullable":true,"description":"Filter RewardJourney with RewardJourney StartDate"},"RewardJourneyStatus":{"description":"Filter RewardJourney with RewardJourney Status (Documented as type `RewardJourneyStatus`; its structure or allowed values are not documented in the public collection.)","type":"integer","format":"int32"},"RewardJourneyTypes":{"type":"array","items":{"description":"Documented as type `RewardJourneyType`; its structure or allowed values are not documented in the public collection.","type":"integer","format":"int32"},"description":"Filter RewardJourney with RewardJourney Type"}}},"RewardJourneyLocation":{"type":"object","properties":{"ActeolSiteID":{"type":"integer","format":"int32","description":"The Acteol ID of the location"},"OriginSiteID":{"type":"string","description":"The Origin ID of the location"},"SiteName":{"type":"string","description":"The name of the location"}}},"RewardJourneysDetailsOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"$ref":"#/components/schemas/APICallError"},"description":"Collection of errors if exist"},"ResponseData":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourney"},"description":"search result"},"ResponseStatus":{"type":"boolean","description":"True: if the action was succsessfully treated False: if there is an error"}}},"APICallError":{"type":"object","properties":{"ErrorCode":{"type":"integer","format":"int32","description":"The error code"},"ErrorDescription":{"type":"string","description":"The error description"}}},"RewardJourney":{"type":"object","properties":{"Brand":{"allOf":[{"$ref":"#/components/schemas/BrandRewardJourney"}],"description":"The brand details"},"IsAllLocations":{"type":"boolean","description":"If it's true , the RewardJourney will be appliable for all its brand locations"},"IsAllWeekDays":{"type":"boolean","description":"If it's true ,the RewardJourney will be appliable for all week days during its period"},"RewardJourneyBooking":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyBookingCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Booking'"},"RewardJourneyDurationInDays":{"type":"integer","format":"int32","description":"Number of day to finish the RewardJourney starting from the start date, if 0 , the period will be from the start to the end date of the RewardJourney"},"RewardJourneyEndDate":{"type":"string","format":"date-time","description":"The end date of the RewardJourney"},"RewardJourneyHtmlDescription":{"type":"string","description":"The descrition of the RewardJourney (html format)"},"RewardJourneyID":{"type":"integer","format":"int32","description":"The unique identifier of the RewardJourney"},"RewardJourneyImage":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyAsset"}],"description":"The image of the RewardJourney"},"RewardJourneyLocations":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyLocation"},"description":"The RewardJourney Locations details"},"RewardJourneyName":{"type":"string","description":"The Reward RewardJourney name"},"RewardJourneyProduct":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyProductCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Product'"},"RewardJourneyReward":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyReward"}],"description":"The details of reward once the customer finish the RewardJourney"},"RewardJourneySpend":{"allOf":[{"$ref":"#/components/schemas/RewardJourneySpendCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Spend'"},"RewardJourneyStartDate":{"type":"string","format":"date-time","description":"The start date of the RewardJourney"},"RewardJourneyStatusName":{"type":"string","description":"Active Not Active Expired"},"RewardJourneyTextDescription":{"type":"string","description":"The descrition of the RewardJourney (text format)"},"RewardJourneyTypeName":{"type":"string","description":"Product Spend Visit Booking"},"RewardJourneyVisit":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyVisitCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Visit'"},"SignUpPerCustomer":{"type":"integer","format":"int32","description":"How many time customer can register to RewardJourney"}}},"BrandRewardJourney":{"type":"object","properties":{"BrandID":{"type":"integer","format":"int32","description":"The Brand ID"},"BrandName":{"type":"string","description":"The Brand name"}}},"RewardJourneyBookingCriteria":{"type":"object","properties":{"BookingStatus":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyBookingStatus"},"description":"The status of the booking"},"GoalToAchieve":{"type":"integer","format":"int32","description":"The number of bookings to finish the RewardJourney"}}},"RewardJourneyBookingStatus":{"type":"object","properties":{"BookingStatusName":{"type":"string","description":"The booking status name"}}},"RewardJourneyAsset":{"type":"object","properties":{"AssetData":{"type":"string","format":"byte","description":"Image value (binary)"},"URL":{"type":"string","description":"The url of the image"}}},"RewardJourneyProductCriteria":{"type":"object","properties":{"AllowDiscountProducts":{"type":"boolean","description":"If true,the Discounted products purchased will be considered in the RewardJourneys rules"},"AllowFreeProducts":{"type":"boolean","description":"If true,the free products purchased will be considered in the RewardJourneys rules"},"GoalToAchieve":{"type":"integer","format":"int32","description":"The satisfying number of the purchased products"},"ProductGroup":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroup"},"description":"Products Group details"},"Products":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyProduct"},"description":"Products details"},"ProductSubGroup":{"type":"array","items":{"$ref":"#/components/schemas/ProductSubGroup"},"description":"Products SubGroup details"},"PurchaseEachProduct":{"type":"boolean","description":"If true, each product purchased must reach the RewardJourneys goals"}}},"ProductGroup":{"type":"object","nullable":true,"properties":{"GroupID":{"type":"integer","format":"int32"},"BrandID":{"type":"integer","format":"int32","nullable":true},"GroupName":{"type":"string","nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyProduct":{"type":"object","properties":{"ProductCode":{"type":"string","description":"The Code of Product"},"ProductID":{"type":"integer","format":"int32","description":"The ID of Product"},"ProductName":{"type":"string","description":"The Name of Product"}}},"ProductSubGroup":{"type":"object","nullable":true,"properties":{"SubGroupID":{"type":"integer","format":"int32"},"BrandID":{"type":"integer","format":"int32","nullable":true},"GroupID":{"type":"integer","format":"int32"},"SubGroupName":{"type":"string","nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyReward":{"type":"object","properties":{"RewardJourneyOffer":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyOffer"}],"description":"The reward details ,this object will be populated if the RewardJourney reward is Offer"},"RewardJourneyRewardTypeName":{"type":"string","description":"The type of the reward"},"RewardJourneyStampsValue":{"type":"number","format":"double","description":"The reward details ,this object will be populated if the RewardJourney reward is Point/Offer"}}},"RewardJourneyOffer":{"type":"object","properties":{"Description":{"type":"string","description":"The Description of the Offer"},"ExpiryDate":{"type":"string","format":"date-time","nullable":true,"description":"The expiry date of the offer"},"OfferCode":{"type":"string","description":"The Offer Code"},"OfferID":{"type":"integer","format":"int32","description":"The Offer ID"},"Status":{"type":"string","description":"Status of the offer"},"Title":{"type":"string","description":"The Offer Title"},"VoucherTypeName":{"type":"string","description":"The Voucher Type"}}},"RewardJourneySpendCriteria":{"type":"object","properties":{"GoalToAchieve":{"type":"number","format":"double","description":"The amount that should be paid by the customer to finish the RewardJourney"}}},"RewardJourneyVisitCriteria":{"type":"object","properties":{"GoalToAchieve":{"type":"integer","format":"int32","description":"The number of visits to finish the RewardJourney"},"VisitEachLocation":{"type":"boolean","description":"If true, each Visit must reach the RewardJourneys goals per location"}}}}},"paths":{"/api/RewardJourneys/FindRewardJourney":{"post":{"operationId":"RewardJourneysFindRewardJourney","summary":"FindRewardJourney","tags":["RewardJourneys"],"description":"Find Reward Journeys based on the criteria sent in the Filter","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindRewardJourneysInputFilter"}}}},"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardJourneysDetailsOutput"}}}}}}}}}
```

## FindRewardJourneyByCTCID

> Find Reward Journeys By CtcID

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"RewardJourneys","description":"Api Methods for RewardJourneys"}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"FindByCtcIDInputFilter":{"type":"object","properties":{"Completed":{"type":"boolean","nullable":true,"description":"Filter RewardJourneys are Completed or not ,if null it will return all RewardJourneys of this contact"},"CtcID":{"type":"integer","format":"int32","description":"Filter RewardJourney with ID of the Customer"},"RewardJourneyIDs":{"type":"array","items":{"type":"integer","format":"int32"},"description":"Filter RewardJourney with RewardJourney ID"},"RewardJourneyStatus":{"description":"Filter RewardJourneys with Status (Documented as type `RewardJourneyStatus`; its structure or allowed values are not documented in the public collection.)","type":"integer","format":"int32"}}},"RewardJourneysContactDetailsOutput":{"type":"object","properties":{"Errors":{"type":"array","items":{"$ref":"#/components/schemas/APICallError"},"description":"Collection of errors if exist"},"ResponseData":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyContact"}],"description":"search result"},"ResponseStatus":{"type":"boolean","description":"True: if the action was succsessfully treated False: if there is an error"}}},"APICallError":{"type":"object","properties":{"ErrorCode":{"type":"integer","format":"int32","description":"The error code"},"ErrorDescription":{"type":"string","description":"The error description"}}},"RewardJourneyContact":{"type":"object","properties":{"AvailableRewardJourneys":{"type":"array","items":{"$ref":"#/components/schemas/AvailableRewardJourney"},"description":"the collection of available RewardJourney"},"CtcID":{"type":"integer","format":"int32","description":"Customer Acteol ID"},"MemberNumber":{"type":"string","description":"The member number of the customer"},"RewardJourneys":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyContactSingup"},"description":"the collection of RewardJourney"}}},"AvailableRewardJourney":{"type":"object","properties":{"RewardJourneyID":{"type":"integer","format":"int32","description":"The unique identifier of the RewardJourney"}}},"RewardJourneyContactSingup":{"type":"object","properties":{"Brand":{"allOf":[{"$ref":"#/components/schemas/BrandRewardJourney"}],"description":"The brand details"},"IsAllLocations":{"type":"boolean","description":"If it's true , the RewardJourney will be appliable for all its brand locations"},"IsAllWeekDays":{"type":"boolean","description":"If it's true ,the RewardJourney will be appliable for all week days during its period"},"RewardJourneyBooking":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyBookingCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Booking'"},"RewardJourneyCompletionDate":{"type":"string","format":"date-time","nullable":true,"description":"Completion Date of the RewardJourney, empty if the RewardJourney still in progress"},"RewardJourneyContactBookingProgress":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyContactBookingProgress"}],"description":"This object will contains the RewardJourney progress of the contact if the RewardJourney type is 'Booking'"},"RewardJourneyContactProductProgress":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyContactProductProgress"}],"description":"This object will contains the RewardJourney progress of the contact if the RewardJourney type is 'Product'"},"RewardJourneyContactSpendProgress":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyContactProductsPurchased"}],"description":"This object will contains the RewardJourney progress of the contact if the RewardJourney type is 'Spend'"},"RewardJourneyContactVisitProgress":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyContactVisitProgress"}],"description":"This object will contains the RewardJourney progress of the contact if the RewardJourney type is 'Visit'"},"RewardJourneyDurationInDays":{"type":"integer","format":"int32","description":"Number of day to finish the RewardJourney starting from the start date, if 0 , the period will be from the start to the end date of the RewardJourney"},"RewardJourneyEndDate":{"type":"string","format":"date-time","description":"The end date of the RewardJourney"},"RewardJourneyHtmlDescription":{"type":"string","description":"The descrition of the RewardJourney (html format)"},"RewardJourneyID":{"type":"integer","format":"int32","description":"The unique identifier of the RewardJourney"},"RewardJourneyImage":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyAsset"}],"description":"The image of the RewardJourney"},"RewardJourneyLocations":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyLocation"},"description":"The RewardJourney Locations details"},"RewardJourneyName":{"type":"string","description":"The Reward RewardJourney name"},"RewardJourneyProduct":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyProductCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Product'"},"RewardJourneyProgress":{"type":"number","format":"double","description":"The RewardJourney progress of the signed contact"},"RewardJourneyReward":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyReward"}],"description":"The details of reward once the customer finish the RewardJourney"},"RewardJourneySignUpDate":{"type":"string","format":"date-time","description":"RewardJourney SignUp Date"},"RewardJourneySpend":{"allOf":[{"$ref":"#/components/schemas/RewardJourneySpendCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Spend'"},"RewardJourneyStartDate":{"type":"string","format":"date-time","description":"The start date of the RewardJourney"},"RewardJourneyStatusName":{"type":"string","description":"Active Not Active Expired"},"RewardJourneyTextDescription":{"type":"string","description":"The descrition of the RewardJourney (text format)"},"RewardJourneyTypeName":{"type":"string","description":"Product Spend Visit Booking"},"RewardJourneyVisit":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyVisitCriteria"}],"description":"This object will contains the RewardJourney citeria if the RewardJourney type is 'Visit'"},"SignUpPerCustomer":{"type":"integer","format":"int32","description":"How many time customer can register to RewardJourney"}}},"BrandRewardJourney":{"type":"object","properties":{"BrandID":{"type":"integer","format":"int32","description":"The Brand ID"},"BrandName":{"type":"string","description":"The Brand name"}}},"RewardJourneyBookingCriteria":{"type":"object","properties":{"BookingStatus":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyBookingStatus"},"description":"The status of the booking"},"GoalToAchieve":{"type":"integer","format":"int32","description":"The number of bookings to finish the RewardJourney"}}},"RewardJourneyBookingStatus":{"type":"object","properties":{"BookingStatusName":{"type":"string","description":"The booking status name"}}},"RewardJourneyContactBookingProgress":{"type":"object","nullable":true,"properties":{"RewardJourneyContactBookingsDetails":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyContactBookingsDetails"},"nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyContactBookingsDetails":{"type":"object","nullable":true,"properties":{"Location":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyLocation"}]},"BookingDate":{"type":"string","format":"date-time"},"VisitDate":{"type":"string","format":"date-time"},"BookingID":{"type":"integer","format":"int32","description":"IgnoreMember is a MessagePack attribute, not Json.NET JsonIgnore; retained in the JSON contract."},"BookingStatus":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyBookingStatus"}]}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyLocation":{"type":"object","properties":{"ActeolSiteID":{"type":"integer","format":"int32","description":"The Acteol ID of the location"},"OriginSiteID":{"type":"string","description":"The Origin ID of the location"},"SiteName":{"type":"string","description":"The name of the location"}}},"RewardJourneyContactProductProgress":{"type":"object","nullable":true,"properties":{"RewardJourneyContactProductsPurchased":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyContactProductPurchased"},"nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyContactProductPurchased":{"type":"object","nullable":true,"properties":{"Location":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyLocation"}]},"OrderDate":{"type":"string","format":"date-time"},"OrderUniqueID":{"type":"integer","format":"int64","description":"IgnoreMember is a MessagePack attribute, not Json.NET JsonIgnore; retained in the JSON contract."},"SpendProgress":{"type":"number","format":"double"}},"allOf":[{"$ref":"#/components/schemas/RewardJourneyProduct"}],"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyProduct":{"type":"object","properties":{"ProductCode":{"type":"string","description":"The Code of Product"},"ProductID":{"type":"integer","format":"int32","description":"The ID of Product"},"ProductName":{"type":"string","description":"The Name of Product"}}},"RewardJourneyContactProductsPurchased":{"type":"object","nullable":true,"properties":{"RewardJourneyContactSpendsDetails":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyContactSpendsDetails"},"nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyContactSpendsDetails":{"type":"object","nullable":true,"properties":{"Location":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyLocation"}]},"OrderDate":{"type":"string","format":"date-time"},"OrderUniqueID":{"type":"integer","format":"int64"},"Spend":{"type":"number","format":"double"}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyContactVisitProgress":{"type":"object","nullable":true,"properties":{"RewardJourneyContactVisitDetails":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyContactVisitDetails"},"nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyContactVisitDetails":{"type":"object","nullable":true,"properties":{"Location":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyLocation"}]},"VisitDate":{"type":"string","format":"date-time"}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyAsset":{"type":"object","properties":{"AssetData":{"type":"string","format":"byte","description":"Image value (binary)"},"URL":{"type":"string","description":"The url of the image"}}},"RewardJourneyProductCriteria":{"type":"object","properties":{"AllowDiscountProducts":{"type":"boolean","description":"If true,the Discounted products purchased will be considered in the RewardJourneys rules"},"AllowFreeProducts":{"type":"boolean","description":"If true,the free products purchased will be considered in the RewardJourneys rules"},"GoalToAchieve":{"type":"integer","format":"int32","description":"The satisfying number of the purchased products"},"ProductGroup":{"type":"array","items":{"$ref":"#/components/schemas/ProductGroup"},"description":"Products Group details"},"Products":{"type":"array","items":{"$ref":"#/components/schemas/RewardJourneyProduct"},"description":"Products details"},"ProductSubGroup":{"type":"array","items":{"$ref":"#/components/schemas/ProductSubGroup"},"description":"Products SubGroup details"},"PurchaseEachProduct":{"type":"boolean","description":"If true, each product purchased must reach the RewardJourneys goals"}}},"ProductGroup":{"type":"object","nullable":true,"properties":{"GroupID":{"type":"integer","format":"int32"},"BrandID":{"type":"integer","format":"int32","nullable":true},"GroupName":{"type":"string","nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"ProductSubGroup":{"type":"object","nullable":true,"properties":{"SubGroupID":{"type":"integer","format":"int32"},"BrandID":{"type":"integer","format":"int32","nullable":true},"GroupID":{"type":"integer","format":"int32"},"SubGroupName":{"type":"string","nullable":true}},"description":"Source-backed JSON members, including inheritance and JSON naming/ignore attributes. No property is required solely because its CLR value type is non-nullable. Runtime and deployment alignment are unverified."},"RewardJourneyReward":{"type":"object","properties":{"RewardJourneyOffer":{"allOf":[{"$ref":"#/components/schemas/RewardJourneyOffer"}],"description":"The reward details ,this object will be populated if the RewardJourney reward is Offer"},"RewardJourneyRewardTypeName":{"type":"string","description":"The type of the reward"},"RewardJourneyStampsValue":{"type":"number","format":"double","description":"The reward details ,this object will be populated if the RewardJourney reward is Point/Offer"}}},"RewardJourneyOffer":{"type":"object","properties":{"Description":{"type":"string","description":"The Description of the Offer"},"ExpiryDate":{"type":"string","format":"date-time","nullable":true,"description":"The expiry date of the offer"},"OfferCode":{"type":"string","description":"The Offer Code"},"OfferID":{"type":"integer","format":"int32","description":"The Offer ID"},"Status":{"type":"string","description":"Status of the offer"},"Title":{"type":"string","description":"The Offer Title"},"VoucherTypeName":{"type":"string","description":"The Voucher Type"}}},"RewardJourneySpendCriteria":{"type":"object","properties":{"GoalToAchieve":{"type":"number","format":"double","description":"The amount that should be paid by the customer to finish the RewardJourney"}}},"RewardJourneyVisitCriteria":{"type":"object","properties":{"GoalToAchieve":{"type":"integer","format":"int32","description":"The number of visits to finish the RewardJourney"},"VisitEachLocation":{"type":"boolean","description":"If true, each Visit must reach the RewardJourneys goals per location"}}}}},"paths":{"/api/RewardJourneys/FindRewardJourneyByCTCID":{"post":{"operationId":"RewardJourneysFindRewardJourneyByCtcid","summary":"FindRewardJourneyByCTCID","tags":["RewardJourneys"],"description":"Find Reward Journeys By CtcID","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindByCtcIDInputFilter"}}}},"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardJourneysContactDetailsOutput"}}}}}}}}}
```

## RemoveFromRewardJourney

> Remove Contact signed from Reward Journey

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"RewardJourneys","description":"Api Methods for RewardJourneys"}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"InputSignUp":{"type":"object","properties":{"CtcID":{"type":"integer","format":"int32","description":"ID of the Customer who will register to RewardJourney"},"RewardJourneyID":{"type":"integer","format":"int32","description":"RewardJourney ID of which the customer will sign up to"}}},"ApiCallResponse":{"type":"object","properties":{"Errors":{"type":"array","items":{"$ref":"#/components/schemas/APICallError"},"description":"Collection of errors if exist"},"ResponseStatus":{"type":"boolean","description":"True: if the action was succsessfully treated False: if there is an error"}}},"APICallError":{"type":"object","properties":{"ErrorCode":{"type":"integer","format":"int32","description":"The error code"},"ErrorDescription":{"type":"string","description":"The error description"}}}}},"paths":{"/api/RewardJourneys/RemoveFromRewardJourney":{"delete":{"operationId":"RewardJourneysRemoveFromRewardJourney","summary":"RemoveFromRewardJourney","tags":["RewardJourneys"],"description":"Remove Contact signed from Reward Journey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputSignUp"}}}},"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCallResponse"}}}}}}}}}
```

## SignUpToRewardJourney

> Sign Up a contact To a Reward Journey

```json
{"openapi":"3.0.3","info":{"title":"Atreemo API","version":"0.1.0"},"tags":[{"name":"RewardJourneys","description":"Api Methods for RewardJourneys"}],"servers":[{"url":"https://apim-hospitality-dev-uksouth.azure-api.net/atreemo-api","description":"Local DEV APIM import draft only; not a deployed endpoint announcement."}],"security":[{"AtreemoBearer":[]}],"components":{"securitySchemes":{"AtreemoBearer":{"type":"http","scheme":"bearer","description":"Atreemo access token obtained by the caller from the Atreemo instance `POST /token` endpoint (OAuth2 password grant) and sent as `Authorization: Bearer <token>`. See the Authorisation guide."}},"schemas":{"InputSignUp":{"type":"object","properties":{"CtcID":{"type":"integer","format":"int32","description":"ID of the Customer who will register to RewardJourney"},"RewardJourneyID":{"type":"integer","format":"int32","description":"RewardJourney ID of which the customer will sign up to"}}},"ApiCallResponse":{"type":"object","properties":{"Errors":{"type":"array","items":{"$ref":"#/components/schemas/APICallError"},"description":"Collection of errors if exist"},"ResponseStatus":{"type":"boolean","description":"True: if the action was succsessfully treated False: if there is an error"}}},"APICallError":{"type":"object","properties":{"ErrorCode":{"type":"integer","format":"int32","description":"The error code"},"ErrorDescription":{"type":"string","description":"The error description"}}}}},"paths":{"/api/RewardJourneys/SignUpToRewardJourney":{"post":{"operationId":"RewardJourneysSignUpToRewardJourney","summary":"SignUpToRewardJourney","tags":["RewardJourneys"],"description":"Sign Up a contact To a Reward Journey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InputSignUp"}}}},"responses":{"200":{"description":"OK (sample status in the public collection).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCallResponse"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hos.accessacloud.com/atreemo-api/api-reference/atreemo-api-reference/reward-journeys.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
