---
title: Get Member Promotion By Member Promotion Id
slug: get-member-promotion-by-member-promotion-id
docTags: 
createdAt: 2025-09-12T20:51:26.465Z
---

{
  "id": "KZM5ldn9w1-JKIr4J9NWY",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}",
    "servers": [
      {
        "url": "https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}"
      }
    ],
    "name": "Get Member Promotion By Member Promotion Id",
    "description": "Retrieve a member's registered promotion by member promotion id",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "memberIdentifier",
          "type": "string",
          "description": "Member identifier",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "kind": "required",
          "name": "memberPromotionId",
          "type": "integer<int64>",
          "description": "Member Promotion identifier",
          "format": "int64"
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "cycle",
          "type": "integer<int64>",
          "description": "<p>The specific promotion cycle, defaults to current/latest</p>",
          "format": "int64"
        },
        {
          "kind": "optional",
          "name": "includeCouponDetails",
          "type": "boolean",
          "description": "<p>If true, returns member coupon details</p>",
          "default": false
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "OAuth2",
          "name": "OAuth2",
          "kind": "optional",
          "type": "oauth2",
          "description": "<p>See <a href=\"https://docs.wearephaedon.com/docs/platform-api-authentication\" target=\"_blank\">https://docs.wearephaedon.com/docs/platform-api-authentication</a></p>",
          "oauth2Flows": {
            "clientCredentials": {
              "tokenUrl": "https://phaedon.oktapreview.com/oauth2/auscfbbmieFBGGOzR1d7/v1/token",
              "scopes": {
                "api:custom-data:read": "Grants read access to custom data information",
                "api:custom-data:modify": "Grants modify access to custom data information",
                "api:data-codes:read": "Grants read access to data codes",
                "api:data-codes:modify": "Grants modify access to data codes",
                "api:coupon-compensation:read": "Grants read access to compensations for coupon code",
                "api:coupon-compensation:create": "Grants access to create compensations for coupon code",
                "api:coupon-compensation:modify": "Grants access to edit compensation nights for coupon code",
                "api:coupon-request:modify": "Grants modify access to create coupons",
                "api:member:search": "Grants search access to member information",
                "api:member:verify": "Grants verify access to member information",
                "api:member:merge": "Grants access to merge members",
                "api:member:enroll": "Grants access to enroll members",
                "api:member:modify": "Grants modify access to member information",
                "api:member:read": "Grants read access to member information",
                "api:member:close": "Grants access to close member account",
                "api:member:migrate": "Grants access to migrate member accounts",
                "api:member-address:read": "Grants read access to member address information",
                "api:member-address:modify": "Grants modify access to member address information",
                "api:member-alias:read": "Grants read access to member alias information",
                "api:member-alias:modify": "Grants modify access to member alias information",
                "api:member-badge:read": "Grants read access to member badge information",
                "api:member-badge:modify": "Grants modify access to member badge information",
                "api:member-bonus:add": "Grants access to add a bonus to a member",
                "api:member-bonus:read": "Grants read access to member bonus information",
                "api:member-comments:read": "Grants read access to member comments information",
                "api:member-comments:modify": "Grants modify access to member comments information",
                "api:member-communication:read": "Grants read access to member communication information",
                "api:member-communication:modify": "Grants modify access to member communication information",
                "api:member-coupon:read": "Grants read access to member coupon information",
                "api:member-coupon-use:cancel": "Grants access to cancel member coupon uses",
                "api:member-coupon:transfer": "Grants access to transfer a member coupon",
                "api:member-coupon-use:update": "Grants access to update member coupon uses",
                "api:member-currency:read": "Grants read access to member currency information",
                "api:member-currency:adjust": "Grants access to adjust member currency",
                "api:member-currency:migrate": "Grants access to migrate member currency",
                "api:member-currency-conversion:convert": "Grants access to convert member currency",
                "api:member-email:read": "Grants read access to member email information",
                "api:member-email:modify": "Grants modify access to member email information",
                "api:member-event:read": "Grants read access to member events",
                "api:member-event:modify": "Grants modify access to member events",
                "api:event-rule:read": "Grants read access to event rules",
                "api:event-rule:modify": "Grants access to modify event rule",
                "api:event-rule:admin": "Grants full admin access to event rules",
                "api:member-list:read": "Grants read access to member list information",
                "api:member-list:modify": "Grants modify access to member list information",
                "api:member-partner-link:read": "Grants read access to member partner link information",
                "api:member-partner-link:modify": "Grants modify access to member partner link information",
                "api:member-payment-card:read": "Grants read access to member payment card information",
                "api:member-payment-card:modify": "Grants modify access to member payment card information",
                "api:member-phone:read": "Grants read access to member phone information",
                "api:member-phone:modify": "Grants modify access to member phone information",
                "api:member-preference:read": "Grants read access to member preference information",
                "api:member-preference:modify": "Grants modify access to member preference information",
                "api:member-promotion:read": "Grants read access to member promotion information",
                "api:member-promotion:register": "Grants access to register a member into a promotion",
                "api:member-redemption:create": "Grants redeem access to member redemption information",
                "api:member-redemption:over-redeem": "Grants access to over redeem",
                "api:member-redemption:read": "Grants read access to member redemption information",
                "api:member-redemption:cancel": "Grants access to cancel member redemptions",
                "api:member-redemption:migrate": "Allows migration of member redemption information",
                "api:member-redemption:patch": "Grants patching access to member redemption",
                "api:member-tier:read": "Grants read access to member tier information",
                "api:member-tier:adjust": "Grants access to adjust member tiers",
                "api:member-tier:migrate": "Grants access to migrate member tiers",
                "api:member-transaction:read": "Grants read access to transaction information",
                "api:member-transaction:cancel": "Grants access to cancel transactions",
                "api:member-transaction:clone": "Grants access to clone transactions",
                "api:member-transfer:transfer": "Grants access to do member to member transfers",
                "api:preference:read": "Grants read access to preference information",
                "api:promotion:read": "Grants read access to promotion information",
                "api:tier:read": "Grant read access to tier information",
                "api:promotion:register": "Grants access to register a member into a promotion using token",
                "api:promotion-token:manage": "Grants access to generate promotion token",
                "api:redemption:read": "Grants read access to redemption information",
                "api:redemption:modify": "Grants access to modify redemption information",
                "api:bonus-rule:read": "Grants read access to bonus rule configuration",
                "api:bonus-rule:modify": "Grants access to modify bonus rule configuration",
                "api:bonus-rule:manage": "Grants limited admin access to bonus rule configuration",
                "api:bonus-rule:admin": "Grants full admin access to bonus rules",
                "api:promotion-rule:read": "Grants read access to promotion rule configuration",
                "api:promotion-rule:modify": "Grants access to modify promotion rule configuration",
                "api:promotion-rule:manage": "Grants limited admin access to promotion rule configuration",
                "api:promotion-rule:admin": "Grants full admin access to promotion rules",
                "api:reports:under-investigation": "Grants access to under investigation report",
                "api:transaction:submit": "Grants access to submit transactions",
                "api:transaction:migrate": "Grants access to migrate transactions",
                "api:user:read": "Grants access to read user information",
                "api:user:modify": "Grants access to create user",
                "api:user-task:read": "Grants read access to user tasks",
                "api:user-task:modify": "Grants modify access to user tasks",
                "api:user-role:read": "Grants read access to user roles",
                "api:user-role:modify": "Grants modify access to user roles",
                "api:compensation:read": "Grants read access to hotel summary information",
                "api:compensation:modify": "Grants modify access to hotel summary information",
                "api:member-referral:read": "Grants read access to member referral information",
                "api:member-referral:modify": "Grants modify access to member referral information",
                "api:member-referral-codes:read": "Grants read access to member referral codes",
                "api:member-referral-codes:create": "Grants access to create member referral codes",
                "api:outbound-notification:modify": "Grants access to send outbound notification",
                "api:outbound-notification:read": "Grants access to read outbound notification types",
                "api:background-task:read": "Grants read access to background task information",
                "api:async-task:create": "Grants access to submit operations for background processing",
                "api:async-task:read": "Grants read access to background processing results",
                "api:audit-configuration:read": "Grants read access to audit configuration information",
                "api:audit-configuration:modify": "Grants modify access to audit configuration information",
                "api:badge:read": "Grant read access to badge information",
                "api:broadcast-messages:read": "Grant Read access to broadcast messages",
                "api:expression-config:read": "Grant read access to expression builder configuration",
                "api:managed-entity:read": "Grant read access to managed entity data",
                "api:customer-satisfaction:modify": "Grants modify access to customer satisfaction metrics",
                "api:member-linked-account:modify": "Grant modify access to member linked account",
                "api:member-linked-account:read": "Grants access to read linked member accounts",
                "api:enroll-codes:read": "Grants access to read enroll codes",
                "api:contact-us:modify": "Grants access to submit Contact Us inquiry",
                "api:data-release:read": "Grants read access to data releases",
                "api:points-pool:read": "Grants read access to points pools",
                "api:points-pool:modify": "Grants modify access to points pools",
                "api:segment:read": "Grants read access to segments",
                "api:segment:modify": "Grants modify access to segments",
                "api:communication-type:read": "Grants read access to communication types",
                "api:communication-type:modify": "Grants modify access to communication types",
                "api:member-status-match:read": "Grants read access to status match eligibility and submitted images/applications",
                "api:member-status-match:create": "Grants access to upload status match images and submit applications"
              }
            }
          },
          "requiredScopes": [
            "api:member-promotion:read"
          ]
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Success",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "MemberPromotion",
            "schema": [
              {
                "name": "memberPromotionId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "Member Promotion Identifier",
                "format": "int64"
              },
              {
                "name": "qualifyDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "DateTime the member qualified for the promotion",
                "format": "date-time"
              },
              {
                "name": "lastUpdatedBy",
                "kind": "optional",
                "type": "string",
                "description": "User or system that last updated the member promotion record"
              },
              {
                "name": "registeredBy",
                "kind": "optional",
                "type": "string",
                "description": "<p>User or system that first created/registered the member promotion record</p>"
              },
              {
                "name": "promotion",
                "kind": "optional",
                "type": "object",
                "description": "",
                "modelRef": "#/components/schemas/PromotionReward",
                "customType": "PromotionReward",
                "schema": [
                  {
                    "name": "promotionId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Internal Tally identifier for promotion",
                    "format": "int64"
                  },
                  {
                    "name": "promotionCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Promotion code"
                  },
                  {
                    "name": "promotionName",
                    "kind": "optional",
                    "type": "string",
                    "description": "Name of promotion"
                  },
                  {
                    "name": "promotionDescription",
                    "kind": "optional",
                    "type": "string",
                    "description": "Description of promotion"
                  },
                  {
                    "name": "promotionTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Indicates a  type for grouping promotions. DataCode Type: PromotionType</p>"
                  },
                  {
                    "name": "promotionSubTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Indicates a secondary type for grouping promotions. DataCode Type: PromotionSubType</p>"
                  },
                  {
                    "name": "registerStartDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "First date a member can register in promotion",
                    "format": "date-time"
                  },
                  {
                    "name": "registerEndDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "Last date a member can register in promotion",
                    "format": "date-time"
                  },
                  {
                    "name": "registrationChannelCodes",
                    "kind": "optional",
                    "type": "array",
                    "description": "<p>If present, specifies which channels are allowed to register members for this promotion. DataCode Type: RegistrationChannel</p>",
                    "example": "",
                    "itemType": "string",
                    "customType": "string[]",
                    "itemExample": "",
                    "itemDefault": ""
                  },
                  {
                    "name": "autoRegister",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>When true, a Member's first qualifying activity for the promotion will automatically register them for the promo. However, if false, the Member will have to register for the promotion. Defaults to false.</p>"
                  },
                  {
                    "name": "startDate",
                    "kind": "optional",
                    "type": "string<date>",
                    "description": "First date of the promotion",
                    "format": "date"
                  },
                  {
                    "name": "endDate",
                    "kind": "optional",
                    "type": "string<date>",
                    "description": "Date and time the Promotion is no longer valid",
                    "format": "date"
                  },
                  {
                    "name": "accrualTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Accrual Type to count. DataCode Type: AccrualType Example: Base, Partner, Bonus, Promotion</p>"
                  },
                  {
                    "name": "callCenterOnly",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>Only awardable via call center. This is set to true if the promotion is segment restricted, the current member is NOT in that segment, and the allowCsrOverride flag on the PromotionRule is set to true.</p>"
                  },
                  {
                    "name": "displayOnline",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Flag to indicate if the promotion should be displayed in call center"
                  },
                  {
                    "name": "displayOnlineUntilDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "Used by frontend in conjunction with displayOnline flag",
                    "format": "date-time"
                  },
                  {
                    "name": "customData",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "modelRef": "#/components/schemas/SmartGroupCustomData",
                    "customType": "SmartGroupCustomData",
                    "schema": [
                      {
                        "name": "ace01",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace01Description field.</p>"
                      },
                      {
                        "name": "ace01Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace01 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace02",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace02Description field.</p>"
                      },
                      {
                        "name": "ace02Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace02 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace03",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace03Description field.</p>"
                      },
                      {
                        "name": "ace03Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace03 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace04",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace04Description field.</p>"
                      },
                      {
                        "name": "ace04Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace04 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace05",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace05Description field.</p>"
                      },
                      {
                        "name": "ace05Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace05 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace06",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace06Description field.</p>"
                      },
                      {
                        "name": "ace06Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace06 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace07",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace07Description field.</p>"
                      },
                      {
                        "name": "ace07Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace07 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace08",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace08Description field.</p>"
                      },
                      {
                        "name": "ace08Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace08 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace09",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace09Description field.</p>"
                      },
                      {
                        "name": "ace09Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the ace09 code value. Use this field to interpret the meaning of ace09 within the context of the client program.</p>"
                      },
                      {
                        "name": "ace10",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace10Description field.</p>"
                      },
                      {
                        "name": "ace10Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the ace10 code value. Use this field to interpret the meaning of ace10 within the context of the client program.</p>"
                      },
                      {
                        "name": "ace11",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace11Description field.</p>"
                      },
                      {
                        "name": "ace11Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace11 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace12",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace12Description field.</p>"
                      },
                      {
                        "name": "ace12Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace12 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace13",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace13Description field.</p>"
                      },
                      {
                        "name": "ace13Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace13 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace14",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace14Description field.</p>"
                      },
                      {
                        "name": "ace14Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace14 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace15",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace15Description field.</p>"
                      },
                      {
                        "name": "ace15Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace15 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace01SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE01 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace02SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE02 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace03SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE03 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace04SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE04 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace05SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE05 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace06SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE06 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace07SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE07 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace08SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE08 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace09SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE09 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace10SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE10 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace11SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE11 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace12SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE12 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace13SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE13 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace14SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE14 Smart Group Id",
                        "format": "int64"
                      },
                      {
                        "name": "ace15SmartGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "ACE15 Smart Group Id",
                        "format": "int64"
                      }
                    ]
                  },
                  {
                    "name": "genericItem",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "modelRef": "#/components/schemas/GenericItem",
                    "customType": "GenericItem",
                    "schema": [
                      {
                        "name": "contentCode",
                        "kind": "required",
                        "type": "string",
                        "description": "Identifier that can be used to look up the desired content",
                        "example": "Bonus100"
                      },
                      {
                        "name": "contentTypeCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>DataCode Type: ContentType Example: HEADER, FOOTER</p>",
                        "example": "HEADER"
                      },
                      {
                        "name": "name",
                        "kind": "optional",
                        "type": "string",
                        "description": "Name",
                        "example": "Bonus 100 points",
                        "maxLength": 50
                      },
                      {
                        "name": "shortDescription",
                        "kind": "optional",
                        "type": "string",
                        "description": "Short description",
                        "example": "Award 100 points",
                        "maxLength": 500
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Large description",
                        "example": "Award 100 points on 100th stay"
                      },
                      {
                        "name": "alternateDescription",
                        "kind": "optional",
                        "type": "string",
                        "description": "Alternate large description",
                        "example": "Award 100 points on 100th stay"
                      },
                      {
                        "name": "termsAndConditions",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Terms and conditions, typically used as part of a coupon or redemption item</p>",
                        "example": "Terms and conditions for this promotion"
                      },
                      {
                        "name": "title",
                        "kind": "optional",
                        "type": "string",
                        "description": "Title content",
                        "example": "Award 100 points",
                        "maxLength": 200
                      },
                      {
                        "name": "label",
                        "kind": "optional",
                        "type": "string",
                        "description": "Label content",
                        "example": "100 points awarded",
                        "maxLength": 255
                      },
                      {
                        "name": "logoKey",
                        "kind": "optional",
                        "type": "string",
                        "description": "Image name or hosted image location'",
                        "example": "100-points.png"
                      },
                      {
                        "name": "displayTypeKey",
                        "kind": "optional",
                        "type": "string",
                        "description": "Interpreted by content display",
                        "example": "100 points"
                      },
                      {
                        "name": "startDate",
                        "kind": "optional",
                        "type": "string<date-time>",
                        "description": "The date and time the content becomes valid",
                        "format": "date-time"
                      },
                      {
                        "name": "endDate",
                        "kind": "optional",
                        "type": "string<date-time>",
                        "description": "The date and time the content is no longer valid",
                        "format": "date-time"
                      },
                      {
                        "name": "url",
                        "kind": "optional",
                        "type": "string",
                        "description": "A url for use in content",
                        "example": "/loyaltyprogram/bonus/100-points",
                        "maxLength": 1000
                      },
                      {
                        "name": "tierCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>A tier the content is related to; Value comes from Tier Definition</p>",
                        "example": "B"
                      },
                      {
                        "name": "displayForAll",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "<p>True or False; interpreted by content display</p>",
                        "example": true
                      },
                      {
                        "name": "descriptorCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>DataCode Type: GenericItemDescriptor Example: LIMITED_TIME</p>",
                        "example": "LIMITED_TIME"
                      }
                    ]
                  },
                  {
                    "name": "graceLimit",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Number of days past this promotion's end date to process incoming transactions. Leave empty for no end date.",
                    "format": "int32"
                  },
                  {
                    "name": "hasMinUserRoleToRegister",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Requires a minimal user role to register"
                  },
                  {
                    "name": "minimumAccrualAmount",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>DEPRECATED - Minimum spend on an accrual record for it to count toward promotion</p>"
                  },
                  {
                    "name": "occurrenceLimit",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Number of times the promotion can be awarded over the period of the entire promotion",
                    "format": "int64"
                  },
                  {
                    "name": "partnerProgramCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Partner Program identifier the promotion is associated with"
                  },
                  {
                    "name": "currencyCategoryCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>DEPRECATED - Transaction must have utilized this currency category to qualify for this promotion</p>"
                  },
                  {
                    "name": "processRetroAccruals",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>Indicates that the promotion process will find previously processed accruals and potentially award progress/results on registration</p>"
                  },
                  {
                    "name": "restrict",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Indicates that registration dates should be collected. Otherwise the registerStartDate and registerEndDate will be set by the system as the same as promotion start and end"
                  },
                  {
                    "name": "memberListId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "The Tally internal identifier of the member list members must be in to qualify. Only if the promotion is targeted to particular member list",
                    "format": "int64"
                  },
                  {
                    "name": "slidingQualificationPeriod",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Period length in days to evaluate the number of transactions specified occurred",
                    "format": "int64"
                  },
                  {
                    "name": "tierCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>DEPRECATED - Indicator of the tier member's must be in to earn for this promotion</p>"
                  },
                  {
                    "name": "trackRegistrationSource",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Indicator to track registration source"
                  },
                  {
                    "name": "preQualificationCounters",
                    "kind": "optional",
                    "type": "array",
                    "description": "<p>A collection of details about the counter type(s) and target(s) needed to pre-qualify for this promotion</p>",
                    "modelRef": "#/components/schemas/PromotionCounter",
                    "customType": "PromotionCounter[]",
                    "schema": [
                      {
                        "name": "counterTypeCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>The counter type indicates what about a transaction is being counted. DataCode Type: CounterType Example: Stays, Trips, Nights, Visits</p>"
                      },
                      {
                        "name": "target",
                        "kind": "optional",
                        "type": "number",
                        "description": "Count at which member will be rewarded."
                      },
                      {
                        "name": "result",
                        "kind": "optional",
                        "type": "array",
                        "description": "Details about what a member gets for meeting the target.",
                        "modelRef": "#/components/schemas/PromotionResult",
                        "customType": "PromotionResult[]",
                        "schema": [
                          {
                            "name": "type",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                          },
                          {
                            "name": "value",
                            "kind": "optional",
                            "type": "string",
                            "description": "Value of award"
                          },
                          {
                            "name": "valueType",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                          },
                          {
                            "name": "description",
                            "kind": "optional",
                            "type": "string",
                            "description": "Description of awarded object"
                          },
                          {
                            "name": "resultAwardId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                            "format": "int64"
                          },
                          {
                            "name": "resultAwardCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "Code of awarded object e.g. a CommunicationCode"
                          },
                          {
                            "name": "bonusByActivity",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Flag to indicate if the bonus has the currency awarded by activity."
                          },
                          {
                            "name": "displayName",
                            "kind": "optional",
                            "type": "string",
                            "description": "Display text of award result code with description and value type."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "counters",
                    "kind": "optional",
                    "type": "array",
                    "description": "<p>A collection of details about the counter type(s) and target(s) needed to earn complete this promotion.</p>",
                    "modelRef": "#/components/schemas/PromotionCounter",
                    "customType": "PromotionCounter[]",
                    "schema": [
                      {
                        "name": "counterTypeCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>The counter type indicates what about a transaction is being counted. DataCode Type: CounterType Example: Stays, Trips, Nights, Visits</p>"
                      },
                      {
                        "name": "target",
                        "kind": "optional",
                        "type": "number",
                        "description": "Count at which member will be rewarded."
                      },
                      {
                        "name": "result",
                        "kind": "optional",
                        "type": "array",
                        "description": "Details about what a member gets for meeting the target.",
                        "modelRef": "#/components/schemas/PromotionResult",
                        "customType": "PromotionResult[]",
                        "schema": [
                          {
                            "name": "type",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                          },
                          {
                            "name": "value",
                            "kind": "optional",
                            "type": "string",
                            "description": "Value of award"
                          },
                          {
                            "name": "valueType",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                          },
                          {
                            "name": "description",
                            "kind": "optional",
                            "type": "string",
                            "description": "Description of awarded object"
                          },
                          {
                            "name": "resultAwardId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                            "format": "int64"
                          },
                          {
                            "name": "resultAwardCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "Code of awarded object e.g. a CommunicationCode"
                          },
                          {
                            "name": "bonusByActivity",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Flag to indicate if the bonus has the currency awarded by activity."
                          },
                          {
                            "name": "displayName",
                            "kind": "optional",
                            "type": "string",
                            "description": "Display text of award result code with description and value type."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "resultCommunication",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "True indicates the result sends a communication on promotion award"
                  },
                  {
                    "name": "resultCommunicationId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "The communication that should be triggered by qualifying when resultCommunication is true",
                    "format": "int64"
                  },
                  {
                    "name": "resultCurrency",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "True indicates that currency shall be awarded when promotion target is met"
                  },
                  {
                    "name": "resultCurrencyAmount",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>If currency are being awarded, this is the qty. Must be ued in conjunction with ResultCurrency=true; ResultCurrencyCategoryCode and ResultType</p>"
                  },
                  {
                    "name": "resultCurrencyCategoryCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>If currency is being awarded, this is the currency category for the member currency record to deposit in to</p>"
                  },
                  {
                    "name": "resultCurrencyTierQualifier",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>If resultCurrencyTierQualifier is true, then currency awarded will count toward tier.</p>"
                  },
                  {
                    "name": "resultExternal",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>True indicates that the result is an external type that is fulfilled outside of the Tally system (ie. a T-shirt given in-restaurant after meeting promotion rule)</p>"
                  },
                  {
                    "name": "resultExternalCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "The external type code the promotion awards"
                  },
                  {
                    "name": "resultPromotion",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "True indicates that registration in another promotion shall be awarded when promotion target is met"
                  },
                  {
                    "name": "resultPromotionId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "The Tally internal identifier for the Promotion member shall be registered in if resultPromotion is True",
                    "format": "int64"
                  },
                  {
                    "name": "resultTier",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "True indicates that member shall be awarded a tier that is higher than current existing tier when promotion target is met"
                  },
                  {
                    "name": "resultTierCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Tier identifier the member shall be awarded if resultTier is True"
                  },
                  {
                    "name": "resultTierExpireDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "<p>If resultTier is true, then this will be the date the member is a part of the awarded tier until. After which normal step down rules for the program will apply</p>",
                    "format": "date-time"
                  },
                  {
                    "name": "rewardThresholds",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Indicates that the promotion has one or more thresholds"
                  },
                  {
                    "name": "results",
                    "kind": "optional",
                    "type": "array",
                    "description": "Details about the result of completing the promotion.",
                    "modelRef": "#/components/schemas/PromotionResult",
                    "customType": "PromotionResult[]",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                      },
                      {
                        "name": "value",
                        "kind": "optional",
                        "type": "string",
                        "description": "Value of award"
                      },
                      {
                        "name": "valueType",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of awarded object"
                      },
                      {
                        "name": "resultAwardId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                        "format": "int64"
                      },
                      {
                        "name": "resultAwardCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Code of awarded object e.g. a CommunicationCode"
                      },
                      {
                        "name": "bonusByActivity",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Flag to indicate if the bonus has the currency awarded by activity."
                      },
                      {
                        "name": "displayName",
                        "kind": "optional",
                        "type": "string",
                        "description": "Display text of award result code with description and value type."
                      }
                    ]
                  },
                  {
                    "name": "statusCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Indicates whether the promotion is currently active."
                  },
                  {
                    "name": "renewableCounters",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Indicates whether promotion counters are reset to zero after each accrual is processed against the rule."
                  },
                  {
                    "name": "promotionGroup",
                    "kind": "optional",
                    "type": "object",
                    "description": "<p>Note: PromotionGroup has no separate code field. The name field (max 50 chars, unique) serves as the stable natural key for cross-environment reference.</p>",
                    "modelRef": "#/components/schemas/PromotionGroup",
                    "customType": "PromotionGroup",
                    "schema": [
                      {
                        "name": "promotionGroupId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "readOnly": true,
                        "description": "Internal Tally identifier for the promotion group",
                        "example": 100,
                        "format": "int64"
                      },
                      {
                        "name": "name",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Stable natural key and display name of the promotion group (max 50 chars)</p>",
                        "example": "Summer Bonus Group",
                        "maxLength": 50
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of the promotion group",
                        "example": "Groups summer bonus promotions with a shared registration limit",
                        "maxLength": 300
                      },
                      {
                        "name": "statusCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Values for this field need to match datacodes setup with a CodeType of: PromotionGroupStatus</p>",
                        "example": "ACTIVE"
                      },
                      {
                        "name": "typeCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Values for this field need to match datacodes setup with a CodeType of: PromotionGroupType</p>",
                        "example": "LimitRegistration"
                      },
                      {
                        "name": "limit",
                        "kind": "optional",
                        "type": "integer<int32>",
                        "description": "Maximum number of awards or registrations allowed across the group. Only applicable when typeCode is LimitAwards or LimitRegistration",
                        "example": 10,
                        "format": "int32",
                        "minimum": 0
                      },
                      {
                        "name": "promotions",
                        "kind": "optional",
                        "type": "array",
                        "description": "<p>All promotions belonging to this group, in display order</p>",
                        "modelRef": "#/components/schemas/PromotionGroupEntry",
                        "customType": "PromotionGroupEntry[]",
                        "schema": [
                          {
                            "name": "promotionId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "readOnly": true,
                            "description": "Internal Tally identifier for the promotion in this group",
                            "example": 101,
                            "format": "int64"
                          },
                          {
                            "name": "promotionCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Stable natural key for client-side matching to external promotion identifiers</p>",
                            "example": "SUMMER-BONUS-101",
                            "maxLength": 50
                          },
                          {
                            "name": "primaryRule",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "<p>True if this is the primary (container) promotion for the group</p>"
                          },
                          {
                            "name": "autoRegister",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "<p>If true, registering for the primary promotion auto-registers the member for this promotion as well</p>"
                          },
                          {
                            "name": "displaySequenceNum",
                            "kind": "optional",
                            "type": "integer<int32>",
                            "description": "Display order of this promotion within the group",
                            "example": 1,
                            "format": "int32",
                            "minimum": 0
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "registered",
                "kind": "optional",
                "type": "boolean",
                "description": "Indicates whether member is registered"
              },
              {
                "name": "registerDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "DateTime the member was registered in promotion",
                "format": "date-time"
              },
              {
                "name": "registerChannelCode",
                "kind": "optional",
                "type": "string",
                "description": "The application through which the member was registered"
              },
              {
                "name": "createDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "DateTime the member promotion record was created",
                "format": "date-time"
              },
              {
                "name": "endDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "Member promotion end date",
                "format": "date-time"
              },
              {
                "name": "timesAwarded",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "Quantity of times the member has earned the promotion",
                "format": "int64"
              },
              {
                "name": "nextAwardThreshold",
                "kind": "optional",
                "type": "number",
                "description": "<p>If using thresholds, this indicates the qty to reach next threshold</p>"
              },
              {
                "name": "promotionRegistrationSource",
                "kind": "optional",
                "type": "string",
                "description": "Value indicating the source of the promotion registration"
              },
              {
                "name": "preQualificationCounters",
                "kind": "optional",
                "type": "array",
                "description": "Collection of fields defining the pre qualification counter and progress on promotion",
                "modelRef": "#/components/schemas/MemberPromotionCounter",
                "customType": "MemberPromotionCounter[]",
                "schema": [
                  {
                    "name": "counterTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The counter type indicates what is being counted. DataCode Type: CounterType Example: P (Points), S (Spend), S (Stays)</p>"
                  },
                  {
                    "name": "target",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>Threshold/Target count at which member will be rewarded</p>"
                  },
                  {
                    "name": "progress",
                    "kind": "optional",
                    "type": "number",
                    "description": "Details about the result of meeting target"
                  },
                  {
                    "name": "percentage",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>Progress/target percentage</p>"
                  },
                  {
                    "name": "result",
                    "kind": "optional",
                    "type": "array",
                    "description": "Details about the result of meeting target",
                    "modelRef": "#/components/schemas/MemberPromotionResult",
                    "customType": "MemberPromotionResult[]",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                      },
                      {
                        "name": "value",
                        "kind": "optional",
                        "type": "string",
                        "description": "Value of award"
                      },
                      {
                        "name": "valueType",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of awarded object"
                      },
                      {
                        "name": "resultAwardId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                        "format": "int64"
                      },
                      {
                        "name": "resultAwardCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Code of awarded object e.g. a CommunicationCode"
                      },
                      {
                        "name": "bonusByActivity",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Flag to indicate if the bonus has the currency awarded by activity."
                      },
                      {
                        "name": "displayName",
                        "kind": "optional",
                        "type": "string",
                        "description": "Display text of award result code with description and value type."
                      },
                      {
                        "name": "memberCoupons",
                        "kind": "optional",
                        "type": "array",
                        "description": "",
                        "modelRef": "#/components/schemas/MemberCoupon",
                        "customType": "MemberCoupon[]",
                        "schema": [
                          {
                            "name": "memberCouponId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "description": "<p>Member Coupon Id (null on create requests)</p>",
                            "example": 147258369,
                            "format": "int64"
                          },
                          {
                            "name": "memberIdentifier",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "<p>Channel/Partner specific member identifier</p>",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          {
                            "name": "coupon",
                            "kind": "required",
                            "type": "object",
                            "description": "",
                            "modelRef": "#/components/schemas/Coupon",
                            "customType": "Coupon",
                            "schema": [
                              {
                                "name": "couponId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "readOnly": true,
                                "description": "<p>Coupon Id (null on create requests)</p>",
                                "example": 147258369,
                                "format": "int64"
                              },
                              {
                                "name": "couponRequestId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "readOnly": true,
                                "description": "Id of the coupon request that generated this coupon",
                                "example": 147258370,
                                "format": "int64"
                              },
                              {
                                "name": "offer",
                                "kind": "optional",
                                "type": "object",
                                "description": "Offer defines an offer user which coupons can be issued",
                                "modelRef": "#/components/schemas/Offer",
                                "customType": "Offer",
                                "schema": [
                                  {
                                    "name": "offerId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "description": "<p>Offer Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "offerTypeCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Offer Type Code",
                                    "example": "Discount"
                                  },
                                  {
                                    "name": "code",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "External offer code. Provided by client during offer setup.",
                                    "example": "ALON2020"
                                  },
                                  {
                                    "name": "name",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Offer Name",
                                    "example": "Free night"
                                  },
                                  {
                                    "name": "description",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Offer Description",
                                    "example": "Award double points"
                                  },
                                  {
                                    "name": "featureVersion",
                                    "kind": "optional",
                                    "type": "integer<int32>",
                                    "description": "Coupon implementation version",
                                    "example": 2,
                                    "format": "int32"
                                  },
                                  {
                                    "name": "statusCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Offer Status Code, one of Enabled, Disabled</p>",
                                    "example": "Enabled"
                                  },
                                  {
                                    "name": "startDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Offer start DateTime",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "endDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Offer end DateTime",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "offerAttributes",
                                    "kind": "optional",
                                    "type": "array",
                                    "description": "<p>If includeOfferAttributes is true, Offer Attributes</p>",
                                    "modelRef": "#/components/schemas/OfferAttribute",
                                    "customType": "OfferAttribute[]",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "benefits",
                                    "kind": "optional",
                                    "type": "object",
                                    "description": "<p>Benefit configuration on the offer. Only populated when includeBenefits=true.</p>",
                                    "modelRef": "#/components/schemas/CouponBenefits",
                                    "customType": "CouponBenefits",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "name": "code",
                                "kind": "optional",
                                "type": "string",
                                "readOnly": true,
                                "description": "Unique external ID for coupon instance",
                                "example": "ZPVWTAROW2OQ"
                              },
                              {
                                "name": "statusCode",
                                "kind": "optional",
                                "type": "string",
                                "readOnly": true,
                                "description": "<p>Coupon Status Code, one of Activated, Cancelled, Inactive, Terminated</p>",
                                "example": "Activated"
                              },
                              {
                                "name": "startDate",
                                "kind": "optional",
                                "type": "string<date>",
                                "description": "Earliest date when coupon can be used",
                                "format": "date"
                              },
                              {
                                "name": "endDate",
                                "kind": "optional",
                                "type": "string<date>",
                                "description": "Latest date when coupon can be used",
                                "format": "date"
                              },
                              {
                                "name": "useTypeCode",
                                "kind": "optional",
                                "type": "string",
                                "description": "<p>Coupon Use Type Code, one of Multi, Single</p>",
                                "example": "Single",
                                "default": "Single"
                              },
                              {
                                "name": "useLimit",
                                "kind": "optional",
                                "type": "integer<int32>",
                                "readOnly": true,
                                "description": "The number of times a coupon may be used",
                                "example": 1,
                                "default": 1,
                                "format": "int32"
                              },
                              {
                                "name": "currentUse",
                                "kind": "optional",
                                "type": "integer<int32>",
                                "readOnly": true,
                                "description": "Current count of uses logged",
                                "example": 1,
                                "format": "int32"
                              },
                              {
                                "name": "couponUses",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeUses is true, the uses of the coupon. This is only populated after a coupon has been applied to a member</p>",
                                "modelRef": "#/components/schemas/CouponUse",
                                "customType": "CouponUse[]",
                                "schema": [
                                  {
                                    "name": "useDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Recorded DateTime of use",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "statusCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Coupon Use status code, one of: Released, Returned, Used</p>",
                                    "example": "Used"
                                  },
                                  {
                                    "name": "channelCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Coupon Use channel code, one of: CallCenter, System</p>",
                                    "example": "System"
                                  },
                                  {
                                    "name": "alias",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Alias of a coupon use as unique key for a given coupon. Operationally used to check for duplicate holds."
                                  },
                                  {
                                    "name": "useCount",
                                    "kind": "required",
                                    "type": "integer<int32>",
                                    "description": "Number of times coupon was used",
                                    "example": 1,
                                    "format": "int32"
                                  },
                                  {
                                    "name": "couponUseAttributes",
                                    "kind": "optional",
                                    "type": "array",
                                    "description": "<p>If includeAttributes is true, Coupon Use Attributes</p>",
                                    "modelRef": "#/components/schemas/CouponUseAttribute",
                                    "customType": "CouponUseAttribute[]",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "name": "couponAttributes",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeAttributes is true, Coupon Attributes</p>",
                                "modelRef": "#/components/schemas/CouponAttribute",
                                "customType": "CouponAttribute[]",
                                "schema": [
                                  {
                                    "name": "couponAttributeId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "readOnly": true,
                                    "description": "<p>Coupon Attribute Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "attribute",
                                    "kind": "required",
                                    "type": "object",
                                    "description": "",
                                    "modelRef": "#/components/schemas/Attribute",
                                    "customType": "Attribute",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "value",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Value associated with the attribute",
                                    "example": "2021-12-31T12:00:00"
                                  },
                                  {
                                    "name": "requireOnUse",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "readOnly": true,
                                    "description": "<p>When using the coupon, a value is required for the attribute</p>",
                                    "example": true
                                  },
                                  {
                                    "name": "requireOnHold",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "readOnly": true,
                                    "description": "<p>When putting the coupon on hold, a value is required for the attribute</p>",
                                    "example": false
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "sourceTypeCode",
                            "kind": "required",
                            "type": "string",
                            "description": "<p>Coupon Award Source Type Code. Example: Adjustment, Bonus, Promotion, Redemption, TierAward</p>",
                            "example": "Promotion"
                          },
                          {
                            "name": "sourceReferenceRuleCode",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "<p>Promotion/Bonus/Redemption Rule code that awarded the coupon</p>",
                            "example": "StayBonus"
                          },
                          {
                            "name": "sourceReferenceId",
                            "kind": "required",
                            "type": "integer<int64>",
                            "description": "Id of the source of the coupon award. ie. the bonusId",
                            "example": 147258369,
                            "format": "int64"
                          },
                          {
                            "name": "aggregateStatusCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Aggregate Coupon Status Code, one of Used, Held, Issued, Expired, Cancelled. The status, in aggregate of the coupon. This value is determined by examining the status values of all of the coupon uses as well as the coupon status. Between issued and expired (coupon status), held and used (coupon use status), will determine what the aggregate status of the coupon should be. Only populated if includeUses flag is set in the request or if searching by aggregateStatusCode.</p>",
                            "example": "Active"
                          },
                          {
                            "name": "statusCode",
                            "kind": "required",
                            "type": "string",
                            "description": "<p>Member Coupon Status Code, one of Active, Cancelled, Expired</p>",
                            "example": "Active"
                          },
                          {
                            "name": "transferable",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Whether this coupon is eligible to be transferred to another member"
                          },
                          {
                            "name": "previouslyTransferred",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Whether this coupon has already been transferred at least once"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "counters",
                "kind": "optional",
                "type": "array",
                "description": "<p>Collection of fields defining the counter and progress on promotion. If thresholds are used on promotion, a counter for each threshold will be returned.</p>",
                "modelRef": "#/components/schemas/MemberPromotionCounter",
                "customType": "MemberPromotionCounter[]",
                "schema": [
                  {
                    "name": "counterTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The counter type indicates what is being counted. DataCode Type: CounterType Example: P (Points), S (Spend), S (Stays)</p>"
                  },
                  {
                    "name": "target",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>Threshold/Target count at which member will be rewarded</p>"
                  },
                  {
                    "name": "progress",
                    "kind": "optional",
                    "type": "number",
                    "description": "Details about the result of meeting target"
                  },
                  {
                    "name": "percentage",
                    "kind": "optional",
                    "type": "number",
                    "description": "<p>Progress/target percentage</p>"
                  },
                  {
                    "name": "result",
                    "kind": "optional",
                    "type": "array",
                    "description": "Details about the result of meeting target",
                    "modelRef": "#/components/schemas/MemberPromotionResult",
                    "customType": "MemberPromotionResult[]",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                      },
                      {
                        "name": "value",
                        "kind": "optional",
                        "type": "string",
                        "description": "Value of award"
                      },
                      {
                        "name": "valueType",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of awarded object"
                      },
                      {
                        "name": "resultAwardId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                        "format": "int64"
                      },
                      {
                        "name": "resultAwardCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Code of awarded object e.g. a CommunicationCode"
                      },
                      {
                        "name": "bonusByActivity",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Flag to indicate if the bonus has the currency awarded by activity."
                      },
                      {
                        "name": "displayName",
                        "kind": "optional",
                        "type": "string",
                        "description": "Display text of award result code with description and value type."
                      },
                      {
                        "name": "memberCoupons",
                        "kind": "optional",
                        "type": "array",
                        "description": "",
                        "modelRef": "#/components/schemas/MemberCoupon",
                        "customType": "MemberCoupon[]",
                        "schema": [
                          {
                            "name": "memberCouponId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "description": "<p>Member Coupon Id (null on create requests)</p>",
                            "example": 147258369,
                            "format": "int64"
                          },
                          {
                            "name": "memberIdentifier",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "<p>Channel/Partner specific member identifier</p>",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          {
                            "name": "coupon",
                            "kind": "required",
                            "type": "object",
                            "description": "",
                            "modelRef": "#/components/schemas/Coupon",
                            "customType": "Coupon",
                            "schema": [
                              {
                                "name": "couponId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "readOnly": true,
                                "description": "<p>Coupon Id (null on create requests)</p>",
                                "example": 147258369,
                                "format": "int64"
                              },
                              {
                                "name": "couponRequestId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "readOnly": true,
                                "description": "Id of the coupon request that generated this coupon",
                                "example": 147258370,
                                "format": "int64"
                              },
                              {
                                "name": "offer",
                                "kind": "optional",
                                "type": "object",
                                "description": "Offer defines an offer user which coupons can be issued",
                                "modelRef": "#/components/schemas/Offer",
                                "customType": "Offer",
                                "schema": [
                                  {
                                    "name": "offerId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "description": "<p>Offer Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "offerTypeCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Offer Type Code",
                                    "example": "Discount"
                                  },
                                  {
                                    "name": "code",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "External offer code. Provided by client during offer setup.",
                                    "example": "ALON2020"
                                  },
                                  {
                                    "name": "name",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Offer Name",
                                    "example": "Free night"
                                  },
                                  {
                                    "name": "description",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Offer Description",
                                    "example": "Award double points"
                                  },
                                  {
                                    "name": "featureVersion",
                                    "kind": "optional",
                                    "type": "integer<int32>",
                                    "description": "Coupon implementation version",
                                    "example": 2,
                                    "format": "int32"
                                  },
                                  {
                                    "name": "statusCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Offer Status Code, one of Enabled, Disabled</p>",
                                    "example": "Enabled"
                                  },
                                  {
                                    "name": "startDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Offer start DateTime",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "endDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Offer end DateTime",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "offerAttributes",
                                    "kind": "optional",
                                    "type": "array",
                                    "description": "<p>If includeOfferAttributes is true, Offer Attributes</p>",
                                    "modelRef": "#/components/schemas/OfferAttribute",
                                    "customType": "OfferAttribute[]",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "benefits",
                                    "kind": "optional",
                                    "type": "object",
                                    "description": "<p>Benefit configuration on the offer. Only populated when includeBenefits=true.</p>",
                                    "modelRef": "#/components/schemas/CouponBenefits",
                                    "customType": "CouponBenefits",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "name": "code",
                                "kind": "optional",
                                "type": "string",
                                "readOnly": true,
                                "description": "Unique external ID for coupon instance",
                                "example": "ZPVWTAROW2OQ"
                              },
                              {
                                "name": "statusCode",
                                "kind": "optional",
                                "type": "string",
                                "readOnly": true,
                                "description": "<p>Coupon Status Code, one of Activated, Cancelled, Inactive, Terminated</p>",
                                "example": "Activated"
                              },
                              {
                                "name": "startDate",
                                "kind": "optional",
                                "type": "string<date>",
                                "description": "Earliest date when coupon can be used",
                                "format": "date"
                              },
                              {
                                "name": "endDate",
                                "kind": "optional",
                                "type": "string<date>",
                                "description": "Latest date when coupon can be used",
                                "format": "date"
                              },
                              {
                                "name": "useTypeCode",
                                "kind": "optional",
                                "type": "string",
                                "description": "<p>Coupon Use Type Code, one of Multi, Single</p>",
                                "example": "Single",
                                "default": "Single"
                              },
                              {
                                "name": "useLimit",
                                "kind": "optional",
                                "type": "integer<int32>",
                                "readOnly": true,
                                "description": "The number of times a coupon may be used",
                                "example": 1,
                                "default": 1,
                                "format": "int32"
                              },
                              {
                                "name": "currentUse",
                                "kind": "optional",
                                "type": "integer<int32>",
                                "readOnly": true,
                                "description": "Current count of uses logged",
                                "example": 1,
                                "format": "int32"
                              },
                              {
                                "name": "couponUses",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeUses is true, the uses of the coupon. This is only populated after a coupon has been applied to a member</p>",
                                "modelRef": "#/components/schemas/CouponUse",
                                "customType": "CouponUse[]",
                                "schema": [
                                  {
                                    "name": "useDateTime",
                                    "kind": "optional",
                                    "type": "string<date-time>",
                                    "description": "Recorded DateTime of use",
                                    "format": "date-time"
                                  },
                                  {
                                    "name": "statusCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Coupon Use status code, one of: Released, Returned, Used</p>",
                                    "example": "Used"
                                  },
                                  {
                                    "name": "channelCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Coupon Use channel code, one of: CallCenter, System</p>",
                                    "example": "System"
                                  },
                                  {
                                    "name": "alias",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Alias of a coupon use as unique key for a given coupon. Operationally used to check for duplicate holds."
                                  },
                                  {
                                    "name": "useCount",
                                    "kind": "required",
                                    "type": "integer<int32>",
                                    "description": "Number of times coupon was used",
                                    "example": 1,
                                    "format": "int32"
                                  },
                                  {
                                    "name": "couponUseAttributes",
                                    "kind": "optional",
                                    "type": "array",
                                    "description": "<p>If includeAttributes is true, Coupon Use Attributes</p>",
                                    "modelRef": "#/components/schemas/CouponUseAttribute",
                                    "customType": "CouponUseAttribute[]",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "name": "couponAttributes",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeAttributes is true, Coupon Attributes</p>",
                                "modelRef": "#/components/schemas/CouponAttribute",
                                "customType": "CouponAttribute[]",
                                "schema": [
                                  {
                                    "name": "couponAttributeId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "readOnly": true,
                                    "description": "<p>Coupon Attribute Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "attribute",
                                    "kind": "required",
                                    "type": "object",
                                    "description": "",
                                    "modelRef": "#/components/schemas/Attribute",
                                    "customType": "Attribute",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "value",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Value associated with the attribute",
                                    "example": "2021-12-31T12:00:00"
                                  },
                                  {
                                    "name": "requireOnUse",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "readOnly": true,
                                    "description": "<p>When using the coupon, a value is required for the attribute</p>",
                                    "example": true
                                  },
                                  {
                                    "name": "requireOnHold",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "readOnly": true,
                                    "description": "<p>When putting the coupon on hold, a value is required for the attribute</p>",
                                    "example": false
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "sourceTypeCode",
                            "kind": "required",
                            "type": "string",
                            "description": "<p>Coupon Award Source Type Code. Example: Adjustment, Bonus, Promotion, Redemption, TierAward</p>",
                            "example": "Promotion"
                          },
                          {
                            "name": "sourceReferenceRuleCode",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "<p>Promotion/Bonus/Redemption Rule code that awarded the coupon</p>",
                            "example": "StayBonus"
                          },
                          {
                            "name": "sourceReferenceId",
                            "kind": "required",
                            "type": "integer<int64>",
                            "description": "Id of the source of the coupon award. ie. the bonusId",
                            "example": 147258369,
                            "format": "int64"
                          },
                          {
                            "name": "aggregateStatusCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Aggregate Coupon Status Code, one of Used, Held, Issued, Expired, Cancelled. The status, in aggregate of the coupon. This value is determined by examining the status values of all of the coupon uses as well as the coupon status. Between issued and expired (coupon status), held and used (coupon use status), will determine what the aggregate status of the coupon should be. Only populated if includeUses flag is set in the request or if searching by aggregateStatusCode.</p>",
                            "example": "Active"
                          },
                          {
                            "name": "statusCode",
                            "kind": "required",
                            "type": "string",
                            "description": "<p>Member Coupon Status Code, one of Active, Cancelled, Expired</p>",
                            "example": "Active"
                          },
                          {
                            "name": "transferable",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Whether this coupon is eligible to be transferred to another member"
                          },
                          {
                            "name": "previouslyTransferred",
                            "kind": "optional",
                            "type": "boolean",
                            "description": "Whether this coupon has already been transferred at least once"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "name": "details",
                "kind": "optional",
                "type": "array",
                "description": "Collection of fields defining what has counted toward the member's promotion progress",
                "modelRef": "#/components/schemas/MemberPromotionDetail",
                "customType": "MemberPromotionDetail[]",
                "schema": [
                  {
                    "name": "referenceId",
                    "kind": "optional",
                    "type": "string",
                    "description": "Client transaction identifier associated with the accrual."
                  },
                  {
                    "name": "transactionId",
                    "kind": "optional",
                    "type": "string",
                    "description": "Internal transaction identifier"
                  },
                  {
                    "name": "accrualDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "Member promotion accrual date",
                    "format": "date-time"
                  },
                  {
                    "name": "description",
                    "kind": "optional",
                    "type": "string",
                    "description": "Description of the member promotion accrual"
                  },
                  {
                    "name": "customData",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "modelRef": "#/components/schemas/CustomData",
                    "customType": "CustomData",
                    "schema": [
                      {
                        "name": "ace01",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace01Description field.</p>"
                      },
                      {
                        "name": "ace01Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace01 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace02",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace02Description field.</p>"
                      },
                      {
                        "name": "ace02Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace02 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace03",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace03Description field.</p>"
                      },
                      {
                        "name": "ace03Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace03 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace04",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace04Description field.</p>"
                      },
                      {
                        "name": "ace04Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace04 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace05",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace05Description field.</p>"
                      },
                      {
                        "name": "ace05Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace05 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace06",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace06Description field.</p>"
                      },
                      {
                        "name": "ace06Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace06 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace07",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace07Description field.</p>"
                      },
                      {
                        "name": "ace07Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace07 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace08",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace08Description field.</p>"
                      },
                      {
                        "name": "ace08Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace08 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace09",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace09Description field.</p>"
                      },
                      {
                        "name": "ace09Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the ace09 code value. Use this field to interpret the meaning of ace09 within the context of the client program.</p>"
                      },
                      {
                        "name": "ace10",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace10Description field.</p>"
                      },
                      {
                        "name": "ace10Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the ace10 code value. Use this field to interpret the meaning of ace10 within the context of the client program.</p>"
                      },
                      {
                        "name": "ace11",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace11Description field.</p>"
                      },
                      {
                        "name": "ace11Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace11 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace12",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace12Description field.</p>"
                      },
                      {
                        "name": "ace12Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace12 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace13",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace13Description field.</p>"
                      },
                      {
                        "name": "ace13Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace13 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace14",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace14Description field.</p>"
                      },
                      {
                        "name": "ace14Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace14 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      },
                      {
                        "name": "ace15",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace15Description field.</p>"
                      },
                      {
                        "name": "ace15Description",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Human-readable label for the corresponding ace15 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                      }
                    ]
                  },
                  {
                    "name": "cycle",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Promotion cycle this counted toward",
                    "format": "int64"
                  },
                  {
                    "name": "contributedToPreQualification",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>Indicates if this transaction contributed towards pre-qualification</p>"
                  },
                  {
                    "name": "slidingQualificationAwarded",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Indicates if this transaction contributed towards sliding qualification promotion"
                  },
                  {
                    "name": "checkInDate",
                    "kind": "optional",
                    "type": "string<date>",
                    "description": "<p>Reservation check-in date</p>",
                    "format": "date"
                  },
                  {
                    "name": "checkOutDate",
                    "kind": "optional",
                    "type": "string<date>",
                    "description": "<p>Reservation check-out date</p>",
                    "format": "date"
                  },
                  {
                    "name": "reservationNumber",
                    "kind": "optional",
                    "type": "string",
                    "description": "Reservation confirmation number"
                  },
                  {
                    "name": "counters",
                    "kind": "optional",
                    "type": "array",
                    "description": "Counters from the transaction",
                    "modelRef": "#/components/schemas/Counter",
                    "customType": "Counter[]",
                    "schema": [
                      {
                        "name": "counterTypeCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Counter Type Code"
                      },
                      {
                        "name": "counterValue",
                        "kind": "optional",
                        "type": "number",
                        "description": "Counter Value"
                      }
                    ]
                  }
                ]
              },
              {
                "name": "results",
                "kind": "optional",
                "type": "array",
                "description": "Collection of fields defining the result of the promotion",
                "modelRef": "#/components/schemas/MemberPromotionResult",
                "customType": "MemberPromotionResult[]",
                "schema": [
                  {
                    "name": "type",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                  },
                  {
                    "name": "value",
                    "kind": "optional",
                    "type": "string",
                    "description": "Value of award"
                  },
                  {
                    "name": "valueType",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                  },
                  {
                    "name": "description",
                    "kind": "optional",
                    "type": "string",
                    "description": "Description of awarded object"
                  },
                  {
                    "name": "resultAwardId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                    "format": "int64"
                  },
                  {
                    "name": "resultAwardCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Code of awarded object e.g. a CommunicationCode"
                  },
                  {
                    "name": "bonusByActivity",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Flag to indicate if the bonus has the currency awarded by activity."
                  },
                  {
                    "name": "displayName",
                    "kind": "optional",
                    "type": "string",
                    "description": "Display text of award result code with description and value type."
                  },
                  {
                    "name": "memberCoupons",
                    "kind": "optional",
                    "type": "array",
                    "description": "",
                    "modelRef": "#/components/schemas/MemberCoupon",
                    "customType": "MemberCoupon[]",
                    "schema": [
                      {
                        "name": "memberCouponId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "<p>Member Coupon Id (null on create requests)</p>",
                        "example": 147258369,
                        "format": "int64"
                      },
                      {
                        "name": "memberIdentifier",
                        "kind": "optional",
                        "type": "string",
                        "readOnly": true,
                        "description": "<p>Channel/Partner specific member identifier</p>",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      {
                        "name": "coupon",
                        "kind": "required",
                        "type": "object",
                        "description": "",
                        "modelRef": "#/components/schemas/Coupon",
                        "customType": "Coupon",
                        "schema": [
                          {
                            "name": "couponId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "readOnly": true,
                            "description": "<p>Coupon Id (null on create requests)</p>",
                            "example": 147258369,
                            "format": "int64"
                          },
                          {
                            "name": "couponRequestId",
                            "kind": "optional",
                            "type": "integer<int64>",
                            "readOnly": true,
                            "description": "Id of the coupon request that generated this coupon",
                            "example": 147258370,
                            "format": "int64"
                          },
                          {
                            "name": "offer",
                            "kind": "optional",
                            "type": "object",
                            "description": "Offer defines an offer user which coupons can be issued",
                            "modelRef": "#/components/schemas/Offer",
                            "customType": "Offer",
                            "schema": [
                              {
                                "name": "offerId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "description": "<p>Offer Id (null on create requests)</p>",
                                "example": 147258369,
                                "format": "int64"
                              },
                              {
                                "name": "offerTypeCode",
                                "kind": "required",
                                "type": "string",
                                "description": "Offer Type Code",
                                "example": "Discount"
                              },
                              {
                                "name": "code",
                                "kind": "optional",
                                "type": "string",
                                "description": "External offer code. Provided by client during offer setup.",
                                "example": "ALON2020"
                              },
                              {
                                "name": "name",
                                "kind": "optional",
                                "type": "string",
                                "description": "Offer Name",
                                "example": "Free night"
                              },
                              {
                                "name": "description",
                                "kind": "optional",
                                "type": "string",
                                "description": "Offer Description",
                                "example": "Award double points"
                              },
                              {
                                "name": "featureVersion",
                                "kind": "optional",
                                "type": "integer<int32>",
                                "description": "Coupon implementation version",
                                "example": 2,
                                "format": "int32"
                              },
                              {
                                "name": "statusCode",
                                "kind": "required",
                                "type": "string",
                                "description": "<p>Offer Status Code, one of Enabled, Disabled</p>",
                                "example": "Enabled"
                              },
                              {
                                "name": "startDateTime",
                                "kind": "optional",
                                "type": "string<date-time>",
                                "description": "Offer start DateTime",
                                "format": "date-time"
                              },
                              {
                                "name": "endDateTime",
                                "kind": "optional",
                                "type": "string<date-time>",
                                "description": "Offer end DateTime",
                                "format": "date-time"
                              },
                              {
                                "name": "offerAttributes",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeOfferAttributes is true, Offer Attributes</p>",
                                "modelRef": "#/components/schemas/OfferAttribute",
                                "customType": "OfferAttribute[]",
                                "schema": [
                                  {
                                    "name": "offerAttributeId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "description": "<p>Offer Attribute Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "attribute",
                                    "kind": "required",
                                    "type": "object",
                                    "description": "",
                                    "modelRef": "#/components/schemas/Attribute",
                                    "customType": "Attribute",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "defaultValue",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Indicates what shall be used if no other value is supplied",
                                    "example": "Standard"
                                  },
                                  {
                                    "name": "requireOnUse",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "description": "Indicates if presence of attribute is required for coupon use operation",
                                    "example": true
                                  },
                                  {
                                    "name": "requireOnHold",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "description": "Indicates if presence of attribute is required for coupon hold operation",
                                    "example": true
                                  },
                                  {
                                    "name": "includeOnResponse",
                                    "kind": "optional",
                                    "type": "boolean",
                                    "description": "<p>If true: The system will include this Attribute and Value on Coupon Use or Validation response</p>",
                                    "example": false
                                  },
                                  {
                                    "name": "attributeTypeCode",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "<p>Attribute Type Code, one of: Validation, Reporting</p>",
                                    "example": "Validation"
                                  },
                                  {
                                    "name": "operatorCode",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "<p>Attribute operator code. Examples: EQ, NEQ, LT, LTE, GT, GTE</p>",
                                    "example": "EQ"
                                  },
                                  {
                                    "name": "operand",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Value that operator applies to",
                                    "example": "GI"
                                  },
                                  {
                                    "name": "smartGroupId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "description": "Id of the Smart Group that operator applies to",
                                    "example": 147258369,
                                    "format": "int64"
                                  }
                                ]
                              },
                              {
                                "name": "benefits",
                                "kind": "optional",
                                "type": "object",
                                "description": "<p>Benefit configuration on the offer. Only populated when includeBenefits=true.</p>",
                                "modelRef": "#/components/schemas/CouponBenefits",
                                "customType": "CouponBenefits",
                                "schema": [
                                  {
                                    "name": "tierCode",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Result tier code awarded at time of coupon use",
                                    "example": "Gold",
                                    "maxLength": 50
                                  },
                                  {
                                    "name": "futureTierCode",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Future result tier code awarded at time of coupon use",
                                    "example": "Platinum",
                                    "maxLength": 50
                                  },
                                  {
                                    "name": "bonusCode",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Bonus rule code awarded at time of coupon use",
                                    "example": "STAY_BONUS",
                                    "maxLength": 50
                                  },
                                  {
                                    "name": "redemption",
                                    "kind": "optional",
                                    "type": "object",
                                    "description": "Redemption benefit awarded at time of coupon use",
                                    "modelRef": "#/components/schemas/CouponBenefitsRedemption",
                                    "customType": "CouponBenefitsRedemption",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "code",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "Unique external ID for coupon instance",
                            "example": "ZPVWTAROW2OQ"
                          },
                          {
                            "name": "statusCode",
                            "kind": "optional",
                            "type": "string",
                            "readOnly": true,
                            "description": "<p>Coupon Status Code, one of Activated, Cancelled, Inactive, Terminated</p>",
                            "example": "Activated"
                          },
                          {
                            "name": "startDate",
                            "kind": "optional",
                            "type": "string<date>",
                            "description": "Earliest date when coupon can be used",
                            "format": "date"
                          },
                          {
                            "name": "endDate",
                            "kind": "optional",
                            "type": "string<date>",
                            "description": "Latest date when coupon can be used",
                            "format": "date"
                          },
                          {
                            "name": "useTypeCode",
                            "kind": "optional",
                            "type": "string",
                            "description": "<p>Coupon Use Type Code, one of Multi, Single</p>",
                            "example": "Single",
                            "default": "Single"
                          },
                          {
                            "name": "useLimit",
                            "kind": "optional",
                            "type": "integer<int32>",
                            "readOnly": true,
                            "description": "The number of times a coupon may be used",
                            "example": 1,
                            "default": 1,
                            "format": "int32"
                          },
                          {
                            "name": "currentUse",
                            "kind": "optional",
                            "type": "integer<int32>",
                            "readOnly": true,
                            "description": "Current count of uses logged",
                            "example": 1,
                            "format": "int32"
                          },
                          {
                            "name": "couponUses",
                            "kind": "optional",
                            "type": "array",
                            "description": "<p>If includeUses is true, the uses of the coupon. This is only populated after a coupon has been applied to a member</p>",
                            "modelRef": "#/components/schemas/CouponUse",
                            "customType": "CouponUse[]",
                            "schema": [
                              {
                                "name": "useDateTime",
                                "kind": "optional",
                                "type": "string<date-time>",
                                "description": "Recorded DateTime of use",
                                "format": "date-time"
                              },
                              {
                                "name": "statusCode",
                                "kind": "required",
                                "type": "string",
                                "description": "<p>Coupon Use status code, one of: Released, Returned, Used</p>",
                                "example": "Used"
                              },
                              {
                                "name": "channelCode",
                                "kind": "required",
                                "type": "string",
                                "description": "<p>Coupon Use channel code, one of: CallCenter, System</p>",
                                "example": "System"
                              },
                              {
                                "name": "alias",
                                "kind": "optional",
                                "type": "string",
                                "description": "Alias of a coupon use as unique key for a given coupon. Operationally used to check for duplicate holds."
                              },
                              {
                                "name": "useCount",
                                "kind": "required",
                                "type": "integer<int32>",
                                "description": "Number of times coupon was used",
                                "example": 1,
                                "format": "int32"
                              },
                              {
                                "name": "couponUseAttributes",
                                "kind": "optional",
                                "type": "array",
                                "description": "<p>If includeAttributes is true, Coupon Use Attributes</p>",
                                "modelRef": "#/components/schemas/CouponUseAttribute",
                                "customType": "CouponUseAttribute[]",
                                "schema": [
                                  {
                                    "name": "couponUseAttributeId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "description": "<p>Coupon Use Attribute Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "attribute",
                                    "kind": "required",
                                    "type": "object",
                                    "description": "",
                                    "modelRef": "#/components/schemas/Attribute",
                                    "customType": "Attribute",
                                    "schema": [
                                      {
                                        "name": "",
                                        "description": "",
                                        "customType": "Max depth limit reached"
                                      }
                                    ]
                                  },
                                  {
                                    "name": "value",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Value associated with the attribute",
                                    "example": "Standard"
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "name": "couponAttributes",
                            "kind": "optional",
                            "type": "array",
                            "description": "<p>If includeAttributes is true, Coupon Attributes</p>",
                            "modelRef": "#/components/schemas/CouponAttribute",
                            "customType": "CouponAttribute[]",
                            "schema": [
                              {
                                "name": "couponAttributeId",
                                "kind": "optional",
                                "type": "integer<int64>",
                                "readOnly": true,
                                "description": "<p>Coupon Attribute Id (null on create requests)</p>",
                                "example": 147258369,
                                "format": "int64"
                              },
                              {
                                "name": "attribute",
                                "kind": "required",
                                "type": "object",
                                "description": "",
                                "modelRef": "#/components/schemas/Attribute",
                                "customType": "Attribute",
                                "schema": [
                                  {
                                    "name": "attributeId",
                                    "kind": "optional",
                                    "type": "integer<int64>",
                                    "readOnly": true,
                                    "description": "<p>Attribute Id (null on create requests)</p>",
                                    "example": 147258369,
                                    "format": "int64"
                                  },
                                  {
                                    "name": "typeCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Attribute Type Code, one of: Validation, Reporting</p>",
                                    "example": "Validation"
                                  },
                                  {
                                    "name": "statusCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Attribute Status Code, one of: Enabled, Disabled</p>",
                                    "example": "Enabled"
                                  },
                                  {
                                    "name": "name",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Attribute Name",
                                    "example": "AccountNumber"
                                  },
                                  {
                                    "name": "description",
                                    "kind": "optional",
                                    "type": "string",
                                    "description": "Attribute Description",
                                    "example": "Account Number"
                                  },
                                  {
                                    "name": "dataTypeCode",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "<p>Attribute Data Type Code, one of: boolean, choice, date, memberAccount, multiselect, numeric, open</p>",
                                    "example": "open"
                                  }
                                ]
                              },
                              {
                                "name": "value",
                                "kind": "optional",
                                "type": "string",
                                "description": "Value associated with the attribute",
                                "example": "2021-12-31T12:00:00"
                              },
                              {
                                "name": "requireOnUse",
                                "kind": "optional",
                                "type": "boolean",
                                "readOnly": true,
                                "description": "<p>When using the coupon, a value is required for the attribute</p>",
                                "example": true
                              },
                              {
                                "name": "requireOnHold",
                                "kind": "optional",
                                "type": "boolean",
                                "readOnly": true,
                                "description": "<p>When putting the coupon on hold, a value is required for the attribute</p>",
                                "example": false
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "name": "sourceTypeCode",
                        "kind": "required",
                        "type": "string",
                        "description": "<p>Coupon Award Source Type Code. Example: Adjustment, Bonus, Promotion, Redemption, TierAward</p>",
                        "example": "Promotion"
                      },
                      {
                        "name": "sourceReferenceRuleCode",
                        "kind": "optional",
                        "type": "string",
                        "readOnly": true,
                        "description": "<p>Promotion/Bonus/Redemption Rule code that awarded the coupon</p>",
                        "example": "StayBonus"
                      },
                      {
                        "name": "sourceReferenceId",
                        "kind": "required",
                        "type": "integer<int64>",
                        "description": "Id of the source of the coupon award. ie. the bonusId",
                        "example": 147258369,
                        "format": "int64"
                      },
                      {
                        "name": "aggregateStatusCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Aggregate Coupon Status Code, one of Used, Held, Issued, Expired, Cancelled. The status, in aggregate of the coupon. This value is determined by examining the status values of all of the coupon uses as well as the coupon status. Between issued and expired (coupon status), held and used (coupon use status), will determine what the aggregate status of the coupon should be. Only populated if includeUses flag is set in the request or if searching by aggregateStatusCode.</p>",
                        "example": "Active"
                      },
                      {
                        "name": "statusCode",
                        "kind": "required",
                        "type": "string",
                        "description": "<p>Member Coupon Status Code, one of Active, Cancelled, Expired</p>",
                        "example": "Active"
                      },
                      {
                        "name": "transferable",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Whether this coupon is eligible to be transferred to another member"
                      },
                      {
                        "name": "previouslyTransferred",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Whether this coupon has already been transferred at least once"
                      }
                    ]
                  }
                ]
              },
              {
                "name": "relatedPromotions",
                "kind": "optional",
                "type": "array",
                "description": "Complete collection of Member Promotions that are related",
                "modelRef": "#/components/schemas/MemberPromotion",
                "customType": "MemberPromotion[]",
                "schema": [
                  {
                    "name": "",
                    "description": "",
                    "customType": "Circular-Reference"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/MemberPromotion",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "Bad request",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "description": "List of errors",
                "modelRef": "#/components/schemas/ValidationError",
                "customType": "ValidationError[]",
                "schema": [
                  {
                    "name": "code",
                    "kind": "optional",
                    "type": "string",
                    "description": "Error code assigned to this violation"
                  },
                  {
                    "name": "fieldName",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Name of field that violated validation constraint (optional)</p>"
                  },
                  {
                    "name": "message",
                    "kind": "optional",
                    "type": "string",
                    "description": "Internal message describing the error"
                  },
                  {
                    "name": "messageParameters",
                    "kind": "optional",
                    "type": "array",
                    "description": "Error message parameters",
                    "example": "",
                    "itemType": "object",
                    "customType": "object[]",
                    "schema": []
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "Unauthorized",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "403",
        "description": "Forbidden",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "500",
        "description": "Internal error",
        "jsonExample": "",
        "isExpanded": true
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "C7W9FmQ8lptXmCJokqOiC",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}?includeCouponDetails=boolean' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "WUvIEpOb2cCaTUEDbeJ8J",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}?includeCouponDetails=boolean\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "rmJDO1f5tPfhc25ps2DLP",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}?includeCouponDetails=boolean\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        },
        {
          "id": "juI3nPXy4l6IUAMEb7cgU",
          "language": "java",
          "label": "Java",
          "code": "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"https://api.b.preview.loyaltyservices.io/api/v3/members/{memberIdentifier}/promotions/{memberPromotionId}?includeCouponDetails=boolean\")\n   .method(\"GET\", body)\n   .addHeader(\"accept\", \"application/json\")\n   .addHeader(\"content-type\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
        }
      ],
      "selectedLanguageId": "C7W9FmQ8lptXmCJokqOiC"
    },
    "results": {
      "languages": [
        {
          "id": "DBbjHN3BKvM6sdvPBUGYN",
          "language": "200",
          "code": "// Success\n{\n  \"memberPromotionId\": \"\",\n  \"qualifyDateTime\": \"\",\n  \"lastUpdatedBy\": \"\",\n  \"registeredBy\": \"\",\n  \"promotion\": {\n    \"promotionId\": \"\",\n    \"promotionCode\": \"\",\n    \"promotionName\": \"\",\n    \"promotionDescription\": \"\",\n    \"promotionTypeCode\": \"\",\n    \"promotionSubTypeCode\": \"\",\n    \"registerStartDateTime\": \"\",\n    \"registerEndDateTime\": \"\",\n    \"registrationChannelCodes\": [\n      \"\"\n    ],\n    \"autoRegister\": false,\n    \"startDate\": \"\",\n    \"endDate\": \"\",\n    \"accrualTypeCode\": \"\",\n    \"callCenterOnly\": false,\n    \"displayOnline\": false,\n    \"displayOnlineUntilDateTime\": \"\",\n    \"customData\": {\n      \"ace01\": \"\",\n      \"ace01Description\": \"\",\n      \"ace02\": \"\",\n      \"ace02Description\": \"\",\n      \"ace03\": \"\",\n      \"ace03Description\": \"\",\n      \"ace04\": \"\",\n      \"ace04Description\": \"\",\n      \"ace05\": \"\",\n      \"ace05Description\": \"\",\n      \"ace06\": \"\",\n      \"ace06Description\": \"\",\n      \"ace07\": \"\",\n      \"ace07Description\": \"\",\n      \"ace08\": \"\",\n      \"ace08Description\": \"\",\n      \"ace09\": \"\",\n      \"ace09Description\": \"\",\n      \"ace10\": \"\",\n      \"ace10Description\": \"\",\n      \"ace11\": \"\",\n      \"ace11Description\": \"\",\n      \"ace12\": \"\",\n      \"ace12Description\": \"\",\n      \"ace13\": \"\",\n      \"ace13Description\": \"\",\n      \"ace14\": \"\",\n      \"ace14Description\": \"\",\n      \"ace15\": \"\",\n      \"ace15Description\": \"\",\n      \"ace01SmartGroupId\": \"\",\n      \"ace02SmartGroupId\": \"\",\n      \"ace03SmartGroupId\": \"\",\n      \"ace04SmartGroupId\": \"\",\n      \"ace05SmartGroupId\": \"\",\n      \"ace06SmartGroupId\": \"\",\n      \"ace07SmartGroupId\": \"\",\n      \"ace08SmartGroupId\": \"\",\n      \"ace09SmartGroupId\": \"\",\n      \"ace10SmartGroupId\": \"\",\n      \"ace11SmartGroupId\": \"\",\n      \"ace12SmartGroupId\": \"\",\n      \"ace13SmartGroupId\": \"\",\n      \"ace14SmartGroupId\": \"\",\n      \"ace15SmartGroupId\": \"\"\n    },\n    \"genericItem\": {\n      \"contentCode\": \"Bonus100\",\n      \"contentTypeCode\": \"HEADER\",\n      \"name\": \"Bonus 100 points\",\n      \"shortDescription\": \"Award 100 points\",\n      \"description\": \"Award 100 points on 100th stay\",\n      \"alternateDescription\": \"Award 100 points on 100th stay\",\n      \"termsAndConditions\": \"Terms and conditions for this promotion\",\n      \"title\": \"Award 100 points\",\n      \"label\": \"100 points awarded\",\n      \"logoKey\": \"100-points.png\",\n      \"displayTypeKey\": \"100 points\",\n      \"startDate\": \"\",\n      \"endDate\": \"\",\n      \"url\": \"/loyaltyprogram/bonus/100-points\",\n      \"tierCode\": \"B\",\n      \"displayForAll\": true,\n      \"descriptorCode\": \"LIMITED_TIME\"\n    },\n    \"graceLimit\": \"\",\n    \"hasMinUserRoleToRegister\": false,\n    \"minimumAccrualAmount\": 0,\n    \"occurrenceLimit\": \"\",\n    \"partnerProgramCode\": \"\",\n    \"currencyCategoryCode\": \"\",\n    \"processRetroAccruals\": false,\n    \"restrict\": false,\n    \"memberListId\": \"\",\n    \"slidingQualificationPeriod\": \"\",\n    \"tierCode\": \"\",\n    \"trackRegistrationSource\": false,\n    \"preQualificationCounters\": [\n      {\n        \"counterTypeCode\": \"\",\n        \"target\": 0,\n        \"result\": [\n          {\n            \"type\": \"\",\n            \"value\": \"\",\n            \"valueType\": \"\",\n            \"description\": \"\",\n            \"resultAwardId\": \"\",\n            \"resultAwardCode\": \"\",\n            \"bonusByActivity\": false,\n            \"displayName\": \"\"\n          }\n        ]\n      }\n    ],\n    \"counters\": [\n      {\n        \"counterTypeCode\": \"\",\n        \"target\": 0,\n        \"result\": [\n          {\n            \"type\": \"\",\n            \"value\": \"\",\n            \"valueType\": \"\",\n            \"description\": \"\",\n            \"resultAwardId\": \"\",\n            \"resultAwardCode\": \"\",\n            \"bonusByActivity\": false,\n            \"displayName\": \"\"\n          }\n        ]\n      }\n    ],\n    \"resultCommunication\": false,\n    \"resultCommunicationId\": \"\",\n    \"resultCurrency\": false,\n    \"resultCurrencyAmount\": 0,\n    \"resultCurrencyCategoryCode\": \"\",\n    \"resultCurrencyTierQualifier\": false,\n    \"resultExternal\": false,\n    \"resultExternalCode\": \"\",\n    \"resultPromotion\": false,\n    \"resultPromotionId\": \"\",\n    \"resultTier\": false,\n    \"resultTierCode\": \"\",\n    \"resultTierExpireDateTime\": \"\",\n    \"rewardThresholds\": false,\n    \"results\": [\n      {\n        \"type\": \"\",\n        \"value\": \"\",\n        \"valueType\": \"\",\n        \"description\": \"\",\n        \"resultAwardId\": \"\",\n        \"resultAwardCode\": \"\",\n        \"bonusByActivity\": false,\n        \"displayName\": \"\"\n      }\n    ],\n    \"statusCode\": \"\",\n    \"renewableCounters\": false,\n    \"promotionGroup\": {\n      \"promotionGroupId\": 100,\n      \"name\": \"Summer Bonus Group\",\n      \"description\": \"Groups summer bonus promotions with a shared registration limit\",\n      \"statusCode\": \"ACTIVE\",\n      \"typeCode\": \"LimitRegistration\",\n      \"limit\": 10,\n      \"promotions\": [\n        {\n          \"promotionId\": 101,\n          \"promotionCode\": \"SUMMER-BONUS-101\",\n          \"primaryRule\": false,\n          \"autoRegister\": false,\n          \"displaySequenceNum\": 1\n        }\n      ]\n    }\n  },\n  \"registered\": false,\n  \"registerDateTime\": \"\",\n  \"registerChannelCode\": \"\",\n  \"createDateTime\": \"\",\n  \"endDateTime\": \"\",\n  \"timesAwarded\": \"\",\n  \"nextAwardThreshold\": 0,\n  \"promotionRegistrationSource\": \"\",\n  \"preQualificationCounters\": [\n    {\n      \"counterTypeCode\": \"\",\n      \"target\": 0,\n      \"progress\": 0,\n      \"percentage\": 0,\n      \"result\": [\n        {\n          \"type\": \"\",\n          \"value\": \"\",\n          \"valueType\": \"\",\n          \"description\": \"\",\n          \"resultAwardId\": \"\",\n          \"resultAwardCode\": \"\",\n          \"bonusByActivity\": false,\n          \"displayName\": \"\",\n          \"memberCoupons\": [\n            {\n              \"memberCouponId\": 147258369,\n              \"memberIdentifier\": \"\",\n              \"coupon\": {\n                \"couponId\": 147258369,\n                \"couponRequestId\": 147258370,\n                \"offer\": {\n                  \"offerId\": 147258369,\n                  \"offerTypeCode\": \"Discount\",\n                  \"code\": \"ALON2020\",\n                  \"name\": \"Free night\",\n                  \"description\": \"Award double points\",\n                  \"featureVersion\": 2,\n                  \"statusCode\": \"Enabled\",\n                  \"startDateTime\": \"\",\n                  \"endDateTime\": \"\",\n                  \"offerAttributes\": [\n                    {\n                      \"\": \"\"\n                    }\n                  ],\n                  \"benefits\": {\n                    \"\": \"\"\n                  }\n                },\n                \"code\": \"ZPVWTAROW2OQ\",\n                \"statusCode\": \"Activated\",\n                \"startDate\": \"\",\n                \"endDate\": \"\",\n                \"useTypeCode\": \"Single\",\n                \"useLimit\": 1,\n                \"currentUse\": 1,\n                \"couponUses\": [\n                  {\n                    \"useDateTime\": \"\",\n                    \"statusCode\": \"Used\",\n                    \"channelCode\": \"System\",\n                    \"alias\": \"\",\n                    \"useCount\": 1,\n                    \"couponUseAttributes\": [\n                      {\n                        \"\": \"\"\n                      }\n                    ]\n                  }\n                ],\n                \"couponAttributes\": [\n                  {\n                    \"couponAttributeId\": 147258369,\n                    \"attribute\": {\n                      \"\": \"\"\n                    },\n                    \"value\": \"2021-12-31T12:00:00\",\n                    \"requireOnUse\": true,\n                    \"requireOnHold\": false\n                  }\n                ]\n              },\n              \"sourceTypeCode\": \"Promotion\",\n              \"sourceReferenceRuleCode\": \"StayBonus\",\n              \"sourceReferenceId\": 147258369,\n              \"aggregateStatusCode\": \"Active\",\n              \"statusCode\": \"Active\",\n              \"transferable\": false,\n              \"previouslyTransferred\": false\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"counters\": [\n    {\n      \"counterTypeCode\": \"\",\n      \"target\": 0,\n      \"progress\": 0,\n      \"percentage\": 0,\n      \"result\": [\n        {\n          \"type\": \"\",\n          \"value\": \"\",\n          \"valueType\": \"\",\n          \"description\": \"\",\n          \"resultAwardId\": \"\",\n          \"resultAwardCode\": \"\",\n          \"bonusByActivity\": false,\n          \"displayName\": \"\",\n          \"memberCoupons\": [\n            {\n              \"memberCouponId\": 147258369,\n              \"memberIdentifier\": \"\",\n              \"coupon\": {\n                \"couponId\": 147258369,\n                \"couponRequestId\": 147258370,\n                \"offer\": {\n                  \"offerId\": 147258369,\n                  \"offerTypeCode\": \"Discount\",\n                  \"code\": \"ALON2020\",\n                  \"name\": \"Free night\",\n                  \"description\": \"Award double points\",\n                  \"featureVersion\": 2,\n                  \"statusCode\": \"Enabled\",\n                  \"startDateTime\": \"\",\n                  \"endDateTime\": \"\",\n                  \"offerAttributes\": [\n                    {\n                      \"\": \"\"\n                    }\n                  ],\n                  \"benefits\": {\n                    \"\": \"\"\n                  }\n                },\n                \"code\": \"ZPVWTAROW2OQ\",\n                \"statusCode\": \"Activated\",\n                \"startDate\": \"\",\n                \"endDate\": \"\",\n                \"useTypeCode\": \"Single\",\n                \"useLimit\": 1,\n                \"currentUse\": 1,\n                \"couponUses\": [\n                  {\n                    \"useDateTime\": \"\",\n                    \"statusCode\": \"Used\",\n                    \"channelCode\": \"System\",\n                    \"alias\": \"\",\n                    \"useCount\": 1,\n                    \"couponUseAttributes\": [\n                      {\n                        \"\": \"\"\n                      }\n                    ]\n                  }\n                ],\n                \"couponAttributes\": [\n                  {\n                    \"couponAttributeId\": 147258369,\n                    \"attribute\": {\n                      \"\": \"\"\n                    },\n                    \"value\": \"2021-12-31T12:00:00\",\n                    \"requireOnUse\": true,\n                    \"requireOnHold\": false\n                  }\n                ]\n              },\n              \"sourceTypeCode\": \"Promotion\",\n              \"sourceReferenceRuleCode\": \"StayBonus\",\n              \"sourceReferenceId\": 147258369,\n              \"aggregateStatusCode\": \"Active\",\n              \"statusCode\": \"Active\",\n              \"transferable\": false,\n              \"previouslyTransferred\": false\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"details\": [\n    {\n      \"referenceId\": \"\",\n      \"transactionId\": \"\",\n      \"accrualDateTime\": \"\",\n      \"description\": \"\",\n      \"customData\": {\n        \"ace01\": \"\",\n        \"ace01Description\": \"\",\n        \"ace02\": \"\",\n        \"ace02Description\": \"\",\n        \"ace03\": \"\",\n        \"ace03Description\": \"\",\n        \"ace04\": \"\",\n        \"ace04Description\": \"\",\n        \"ace05\": \"\",\n        \"ace05Description\": \"\",\n        \"ace06\": \"\",\n        \"ace06Description\": \"\",\n        \"ace07\": \"\",\n        \"ace07Description\": \"\",\n        \"ace08\": \"\",\n        \"ace08Description\": \"\",\n        \"ace09\": \"\",\n        \"ace09Description\": \"\",\n        \"ace10\": \"\",\n        \"ace10Description\": \"\",\n        \"ace11\": \"\",\n        \"ace11Description\": \"\",\n        \"ace12\": \"\",\n        \"ace12Description\": \"\",\n        \"ace13\": \"\",\n        \"ace13Description\": \"\",\n        \"ace14\": \"\",\n        \"ace14Description\": \"\",\n        \"ace15\": \"\",\n        \"ace15Description\": \"\"\n      },\n      \"cycle\": \"\",\n      \"contributedToPreQualification\": false,\n      \"slidingQualificationAwarded\": false,\n      \"checkInDate\": \"\",\n      \"checkOutDate\": \"\",\n      \"reservationNumber\": \"\",\n      \"counters\": [\n        {\n          \"counterTypeCode\": \"\",\n          \"counterValue\": 0\n        }\n      ]\n    }\n  ],\n  \"results\": [\n    {\n      \"type\": \"\",\n      \"value\": \"\",\n      \"valueType\": \"\",\n      \"description\": \"\",\n      \"resultAwardId\": \"\",\n      \"resultAwardCode\": \"\",\n      \"bonusByActivity\": false,\n      \"displayName\": \"\",\n      \"memberCoupons\": [\n        {\n          \"memberCouponId\": 147258369,\n          \"memberIdentifier\": \"\",\n          \"coupon\": {\n            \"couponId\": 147258369,\n            \"couponRequestId\": 147258370,\n            \"offer\": {\n              \"offerId\": 147258369,\n              \"offerTypeCode\": \"Discount\",\n              \"code\": \"ALON2020\",\n              \"name\": \"Free night\",\n              \"description\": \"Award double points\",\n              \"featureVersion\": 2,\n              \"statusCode\": \"Enabled\",\n              \"startDateTime\": \"\",\n              \"endDateTime\": \"\",\n              \"offerAttributes\": [\n                {\n                  \"offerAttributeId\": 147258369,\n                  \"attribute\": {\n                    \"\": \"\"\n                  },\n                  \"defaultValue\": \"Standard\",\n                  \"requireOnUse\": true,\n                  \"requireOnHold\": true,\n                  \"includeOnResponse\": false,\n                  \"attributeTypeCode\": \"Validation\",\n                  \"operatorCode\": \"EQ\",\n                  \"operand\": \"GI\",\n                  \"smartGroupId\": 147258369\n                }\n              ],\n              \"benefits\": {\n                \"tierCode\": \"Gold\",\n                \"futureTierCode\": \"Platinum\",\n                \"bonusCode\": \"STAY_BONUS\",\n                \"redemption\": {\n                  \"\": \"\"\n                }\n              }\n            },\n            \"code\": \"ZPVWTAROW2OQ\",\n            \"statusCode\": \"Activated\",\n            \"startDate\": \"\",\n            \"endDate\": \"\",\n            \"useTypeCode\": \"Single\",\n            \"useLimit\": 1,\n            \"currentUse\": 1,\n            \"couponUses\": [\n              {\n                \"useDateTime\": \"\",\n                \"statusCode\": \"Used\",\n                \"channelCode\": \"System\",\n                \"alias\": \"\",\n                \"useCount\": 1,\n                \"couponUseAttributes\": [\n                  {\n                    \"couponUseAttributeId\": 147258369,\n                    \"attribute\": {\n                      \"\": \"\"\n                    },\n                    \"value\": \"Standard\"\n                  }\n                ]\n              }\n            ],\n            \"couponAttributes\": [\n              {\n                \"couponAttributeId\": 147258369,\n                \"attribute\": {\n                  \"attributeId\": 147258369,\n                  \"typeCode\": \"Validation\",\n                  \"statusCode\": \"Enabled\",\n                  \"name\": \"AccountNumber\",\n                  \"description\": \"Account Number\",\n                  \"dataTypeCode\": \"open\"\n                },\n                \"value\": \"2021-12-31T12:00:00\",\n                \"requireOnUse\": true,\n                \"requireOnHold\": false\n              }\n            ]\n          },\n          \"sourceTypeCode\": \"Promotion\",\n          \"sourceReferenceRuleCode\": \"StayBonus\",\n          \"sourceReferenceId\": 147258369,\n          \"aggregateStatusCode\": \"Active\",\n          \"statusCode\": \"Active\",\n          \"transferable\": false,\n          \"previouslyTransferred\": false\n        }\n      ]\n    }\n  ],\n  \"relatedPromotions\": [\n    {\n      \"\": \"\"\n    }\n  ]\n}"
        },
        {
          "id": "rk3BuxTFq3a-9W96-o6WU",
          "language": "400",
          "code": "// Bad request\n{\n  \"errors\": [\n    {\n      \"code\": \"\",\n      \"fieldName\": \"\",\n      \"message\": \"\",\n      \"messageParameters\": [\n        {}\n      ]\n    }\n  ]\n}"
        },
        {
          "id": "yO02XZTceYTfy2TbMWPdm",
          "language": "401",
          "code": "// Unauthorized\n"
        },
        {
          "id": "vgi1Y4jMG2CwWX6OtUQz4",
          "language": "403",
          "code": "// Forbidden\n"
        },
        {
          "id": "su64rQByHpCzM5er-3y9q",
          "language": "500",
          "code": "// Internal error\n"
        }
      ],
      "selectedLanguageId": "DBbjHN3BKvM6sdvPBUGYN"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}