swagger: '2.0'
info:
  title: Gift Card APIs v3
  version: 1.0.0
  description: >-
    TS Gift Card APIs allows developers to manage gift cards for a user.


    ## Authentication


    To consume TS APIs you will have to contact to TS Gift Card support. Where you will request for APIs credentials. After successfull acceptance of request you will receive APIs credentials which will contain email and password and TS Gift Card server url.


    ### How to use these credentials to consume APIs


    To consume **TS Gift Card APIs** you will have to append **ts_server_url** to each API end point along with email and password receive from TS Gift Card support team in request headers.
paths:
  /api/v3/clients/get_client:
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              name:
                type: string
              address:
                type: string
              contact:
                type: string
              created_at:
                type: string
              updated_at:
                type: string
              cancel_transaction_reason_id:
                type: number
              message_body:
                type: string
              from_number:
                type: string
              corporate_monetary_campaign_id:
                type: number
              test_mode:
                type: boolean
              enable_request_id:
                type: boolean
            example:
              id: 3
              name: dev
              address: Techsembly development
              contact: "123456789"
              created_at: 2023-01-27T09:14:47.868Z
              updated_at: 2024-01-19T11:00:45.787Z
              cancel_transaction_reason_id: 100
              message_body: payment url {{link}}
              from_number: "+15618232994"
              corporate_monetary_campaign_id: 243
              test_mode: false
              enable_request_id: false
          examples:
            response:
              value:
                id: 3
                name: dev
                address: Techsembly development
                contact: "123456789"
                created_at: 2023-01-27T09:14:47.868Z
                updated_at: 2024-01-19T11:00:45.787Z
                cancel_transaction_reason_id: 100
                message_body: payment url {{link}}
                from_number: "+15618232994"
                corporate_monetary_campaign_id: 243
                test_mode: false
                enable_request_id: false
      summary: Retrieve Client's information.
      operationId: Get Client
      description: |-
        This endpoint can be used to get client.

      tags:
        - Clients
      security:
        - basic: []
  /api/v3/clients/set_client_setting:
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Client Setting updated successfully.
          examples:
            response:
              value:
                message: Client Setting updated successfully.
      summary: Update Client Settings.
      operationId: Set Client Settings
      description: |-
        This endpoint can be used to set client settings.
      tags:
        - Clients
      parameters:
        - in: body
          name: request
          description: Client creation/updation payload
          required: true
          schema:
            $ref: '#/definitions/ClientSettingsRequest'
      security:
        - basic: []
  /api/v3/clients/send_sms:
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              success:
                type: boolean
            example:
              success: true
          examples:
            response:
              value:
                success: true
      summary: Send an SMS.
      operationId: Send SMS
      description: |-
        This endpoint can be used to send sms.
      tags:
        - Clients
      parameters:
        - in: body
          name: request
          description: Client creation/updation payload
          required: true
          schema:
            $ref: '#/definitions/SendSmsRequest'
      security:
        - basic: []
  /api/v3/clients/experiences:
    get:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                id:
                  type: number
                sku:
                  type: string
                title:
                  type: string
                campaign_id:
                  type: number
                amount:
                  type: string
                currency:
                  type: string
                monetary_campaign_id:
                  type: integer
                  description: "can be null"
                store_id:
                  type: number
                created_at:
                  type: string
                updated_at:
                  type: string
                soft_delete:
                  type: boolean
            example:
              - id: 215
                sku: new_experience
                title: "new experience "
                campaign_id: 61
                amount: "12.0"
                currency: USD
                monetary_campaign_id: null
                store_id: 11
                created_at: 2024-08-14T17:17:51.428Z
                updated_at: 2024-08-14T17:19:24.106Z
                soft_delete: false
          examples:
            response:
              value:
                - id: 215
                  sku: new_experience
                  title: "new experience "
                  campaign_id: 61
                  amount: "12.0"
                  currency: USD
                  monetary_campaign_id: null
                  store_id: 11
                  created_at: 2024-08-14T17:17:51.428Z
                  updated_at: 2024-08-14T17:19:24.106Z
                  soft_delete: false
      summary: Retrieve a list of experiences associated with a Client.
      operationId: Get Experiences
      description: |-
        This endpoint can be used to get experiences of a client.
      tags:
        - Clients
      security:
        - basic: []
  /api/v3/clients/departments:
    get:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                id:
                  type: number
                department_name:
                  type: string
                department_description:
                  type: string
                client_id:
                  type: integer
                  description: "can be null"
                created_at:
                  type: string
                updated_at:
                  type: string
                soft_delete:
                  type: boolean
                store_id:
                  type: number
            example:
              - id: 52
                department_name: department name for store 11
                department_description: department description for store 11
                client_id: null
                created_at: 2023-02-27T07:49:27.785Z
                updated_at: 2023-02-27T07:49:27.785Z
                soft_delete: false
                store_id: 11
          examples:
            response:
              value:
                - id: 52
                  department_name: department name for store 11
                  department_description: department description for store 11
                  client_id: null
                  created_at: 2023-02-27T07:49:27.785Z
                  updated_at: 2023-02-27T07:49:27.785Z
                  soft_delete: false
                  store_id: 11
      summary: Retrieve a list of Departments associated with a Client.
      operationId: Get Departments
      description: >-
        This endpoint can be used to get departments of a client.
      tags:
        - Clients
      security:
        - basic: []
  /api/v3/gift_cards/create_monetary_card:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              number:
                type: string
              pin:
                type: string
              currency:
                type: string
              card_type:
                type: string
              expiry_date:
                type: string
              value:
                type: string
              skus:
                type: array
                items: {}
              status:
                type: string
              user_id:
                type: number
              campaign_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              client_id:
                type: number
              product_name:
                type: string
              delivery_mode:
                type: string
              delivery_status:
                type: string
              is_redeemed:
                type: boolean
              is_expired:
                type: boolean
              recipient_first_name:
                type: string
              recipient_last_name:
                type: string
              recipient_email:
                type: string
              order_number:
                type: string
              send_email:
                type: boolean
              order_pay_load:
                type: string
              notes:
                type: string
              invoice_id:
                type: string
              from_address:
                type: string
              store_name:
                type: string
                description: "can be null"
              customer_email:
                type: string
                description: "can be null"
              barcode_key:
                type: string
              qrcode_key:
                type: string
              spree_ts_giftcard_id:
                type: integer
                description: "can be null"
              slug:
                type: string
              receipient_phone_number:
                type: string
              send_gift_card_via:
                type: string
              bonus:
                type: boolean
              serial_number:
                type: string
              operator_id:
                type: integer
                description: "can be null"
              customer_id:
                type: integer
                description: "can be null"
              recipient_emails:
                type: string
              store_id:
                type: integer
                description: "can be null"
              generated_at:
                type: string
                format: date-time
                description: "can be null"
              import_by:
                type: string
              transition_activation_date:
                type: string
              message:
                type: string
              order_placed_date:
                type: string
                format: date-time
                description: "can be null"
              line_item_id:
                type: integer
                description: "can be null"
              start_date:
                type: string
                format: date-time
                description: "can be null"
              test_mode:
                type: boolean
              request_id:
                type: string
              campaign_body:
                type: string
              image_url:
                type: string
              valid_from:
                type: string
              email_opt_in:
                type: boolean
              one_time:
                type: boolean
              campaign_response:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  start_date:
                    type: string
                  end_date:
                    type: string
                  client_id:
                    type: number
                  code:
                    type: string
                  max_expiry_days:
                    type: integer
                    description: "can be null"
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  date_specific_expiry:
                    type: boolean
                  email_subject:
                    type: string
                  email_html:
                    type: string
                  specific_date:
                    type: string
                  body:
                    type: string
                  sms_html:
                    type: string
                  allow_password:
                    type: boolean
                  ses_from_email:
                    type: string
                  transaction_email_subject:
                    type: string
                  transaction_email_html:
                    type: string
                  soft_delete:
                    type: boolean
                  cc_transaction_email:
                    type: string
                  remain_active:
                    type: boolean
                  is_campaign_remained_active:
                    type: boolean
                  is_gift_card_remained_active:
                    type: boolean
                  transaction_email_receivers:
                    type: string
                  test_mode:
                    type: boolean
              initial_store_id:
                type: number
            example:
              id: 28071
              number: "935896188801023413"
              pin: "24429"
              currency: USD
              card_type: monetary
              expiry_date: 2025-10-14T00:00:00.000Z
              value: "1000.0"
              skus: []
              status: active
              user_id: 24
              campaign_id: 61
              created_at: 2024-08-18T06:38:49.603Z
              updated_at: 2024-08-18T06:38:49.603Z
              client_id: 3
              product_name: tesitng
              delivery_mode: digital
              delivery_status: delivered
              is_redeemed: false
              is_expired: false
              recipient_first_name: Darrel
              recipient_last_name: Wiggins
              recipient_email: wyfosykyp@mailinator.com
              order_number: ""
              send_email: false
              order_pay_load: ""
              notes: werwe
              invoice_id: sk-123
              from_address: wyfosykyp@mailinator.com
              store_name: null
              customer_email: null
              barcode_key: UT764xIqPatTsAl0
              qrcode_key: ZemSYyRv6OAfQ9H1
              spree_ts_giftcard_id: null
              slug: d4b46bb5-3666-4e54-954b-cae5bad470f0
              receipient_phone_number: ""
              send_gift_card_via: email
              bonus: false
              serial_number: "01023413"
              operator_id: null
              customer_id: null
              recipient_emails: ""
              store_id: null
              generated_at: null
              import_by: ts_giftcards
              transition_activation_date: 2024-08-18T06:38:50.960Z
              message: ""
              order_placed_date: null
              line_item_id: null
              start_date: null
              test_mode: false
              request_id: "1234"
              campaign_body: dev testing message body
              image_url: http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZV3R5WWpZeGRXNXpkall5T1RKa2JqTmlPSEo0WkhJMmJuWmpkZ1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpZjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CbGVHVnNjeTF6WVdocGJDMTVZV1JoZGkweE1EazFNVE13TURrd0xUSXpPRGczTWpNeUxtcHdaeUk3SUdacGJHVnVZVzFsS2oxVlZFWXRPQ2NuY0dWNFpXeHpMWE5oYUdsc0xYbGhaR0YyTFRFd09UVXhNekF3T1RBdE1qTTRPRGN5TXpJdWFuQm5CanNHVkRvUlkyOXVkR1Z1ZEY5MGVYQmxTU0lQYVcxaFoyVXZhbkJsWndZN0JsUTZFWE5sY25acFkyVmZibUZ0WlRvS2JHOWpZV3c9IiwiZXhwIjoiMjAyNC0wOC0xOFQwNjo0Mzo1MS4xNzZaIiwicHVyIjoiYmxvYl9rZXkifX0=--0d3568f6b231e5bb715426994f1fac2314bc17b8/pexels-sahil-yadav-1095130090-23887232.jpg
              valid_from: 2025-11-18T00:00:00.000Z
              email_opt_in: false
              one_time: false
              campaign_response:
                id: 61
                name: dev-1
                start_date: 2023-01-27T00:00:00.000Z
                end_date: 2026-12-27T00:00:00.000Z
                client_id: 3
                code: dev-1
                max_expiry_days: null
                created_at: 2023-01-27T09:20:56.836Z
                updated_at: 2024-08-13T11:32:17.940Z
                date_specific_expiry: true
                email_subject: dev testing email template merhan
                email_html: dev testing email template merhan
                specific_date: 2025-10-14T00:00:00.000Z
                body: dev testing message body
                sms_html: dev testing sms template
                allow_password: false
                ses_from_email: user@email.com
                transaction_email_subject: dev testing transaction email bisma
                transaction_email_html: >-2
                   {{#if trasaction.show_local_amount}}
                        {{trasaction.local_currency}} {{trasaction.local_amount}}
                    {{/if}}
                soft_delete: false
                cc_transaction_email: user@email.com
                remain_active: false
                is_campaign_remained_active: false
                is_gift_card_remained_active: false
                transaction_email_receivers: ""
                test_mode: false
              initial_store_id: 11
          examples:
            response:
              value:
                id: 28071
                number: "935896188801023413"
                pin: "24429"
                currency: USD
                card_type: monetary
                expiry_date: 2025-10-14T00:00:00.000Z
                value: "1000.0"
                skus: []
                status: active
                user_id: 24
                campaign_id: 61
                created_at: 2024-08-18T06:38:49.603Z
                updated_at: 2024-08-18T06:38:49.603Z
                client_id: 3
                product_name: tesitng
                delivery_mode: digital
                delivery_status: delivered
                is_redeemed: false
                is_expired: false
                recipient_first_name: Darrel
                recipient_last_name: Wiggins
                recipient_email: wyfosykyp@mailinator.com
                order_number: ""
                send_email: false
                order_pay_load: ""
                notes: werwe
                invoice_id: sk-123
                from_address: wyfosykyp@mailinator.com
                store_name: null
                customer_email: null
                barcode_key: UT764xIqPatTsAl0
                qrcode_key: ZemSYyRv6OAfQ9H1
                spree_ts_giftcard_id: null
                slug: d4b46bb5-3666-4e54-954b-cae5bad470f0
                receipient_phone_number: ""
                send_gift_card_via: email
                bonus: false
                serial_number: "01023413"
                operator_id: null
                customer_id: null
                recipient_emails: ""
                store_id: null
                generated_at: null
                import_by: ts_giftcards
                transition_activation_date: 2024-08-18T06:38:50.960Z
                message: ""
                order_placed_date: null
                line_item_id: null
                start_date: null
                test_mode: false
                request_id: "1234"
                campaign_body: dev testing message body
                image_url: http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhZV3R5WWpZeGRXNXpkall5T1RKa2JqTmlPSEo0WkhJMmJuWmpkZ1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpZjJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SW5CbGVHVnNjeTF6WVdocGJDMTVZV1JoZGkweE1EazFNVE13TURrd0xUSXpPRGczTWpNeUxtcHdaeUk3SUdacGJHVnVZVzFsS2oxVlZFWXRPQ2NuY0dWNFpXeHpMWE5oYUdsc0xYbGhaR0YyTFRFd09UVXhNekF3T1RBdE1qTTRPRGN5TXpJdWFuQm5CanNHVkRvUlkyOXVkR1Z1ZEY5MGVYQmxTU0lQYVcxaFoyVXZhbkJsWndZN0JsUTZFWE5sY25acFkyVmZibUZ0WlRvS2JHOWpZV3c9IiwiZXhwIjoiMjAyNC0wOC0xOFQwNjo0Mzo1MS4xNzZaIiwicHVyIjoiYmxvYl9rZXkifX0=--0d3568f6b231e5bb715426994f1fac2314bc17b8/pexels-sahil-yadav-1095130090-23887232.jpg
                campaign_response:
                  id: 61
                  name: dev-1
                  start_date: 2023-01-27T00:00:00.000Z
                  end_date: 2026-12-27T00:00:00.000Z
                  client_id: 3
                  code: dev-1
                  max_expiry_days: null
                  created_at: 2023-01-27T09:20:56.836Z
                  updated_at: 2024-08-13T11:32:17.940Z
                  date_specific_expiry: true
                  email_subject: dev testing email template merhan
                  email_html: dev testing email template merhan
                  specific_date: 2025-10-14T00:00:00.000Z
                  body: dev testing message body
                  sms_html: dev testing sms template
                  allow_password: false
                  ses_from_email: user@email.com
                  transaction_email_subject: dev testing transaction email bisma
                  transaction_email_html: >-2
                     {{#if trasaction.show_local_amount}}
                          {{trasaction.local_currency}} {{trasaction.local_amount}}
                      {{/if}}
                  soft_delete: false
                  cc_transaction_email: user@email.com
                  remain_active: false
                  is_campaign_remained_active: false
                  is_gift_card_remained_active: false
                  transaction_email_receivers: ""
                  test_mode: false
                initial_store_id: 11
      summary: Create a New Monetary type Gift Card.
      operationId: Create a New Monetary Gift Card
      description: >-
        Use this API to create a monetary type gift card.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Create monetary type gift card
          required: true
          schema:
            $ref: '#/definitions/CreateMonetaryGiftCardRequest'
      security:
        - basic: []
  /api/v3/gift_cards/check_balance:
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              product_name:
                type: string
                description: "Only present for experiences card_type."
              card_type:
                type: string
              skus:
                type: string
                description: "Comma-separated SKUs. Only present for experiences card_type."
              card_status:
                type: string
                description: "'Valid' or 'Invalid' (expired)."
              card_number:
                type: string
              balance:
                type: string
                description: "For experiences: 'Card is redeemable.' or 'Card is already redeemed.' For monetary: currency + amount (e.g. 'USD 100.00')."
              expiry_date:
                type: string
                format: date-time
                description: "can be null"
              end_date:
                type: string
                format: date-time
                description: "can be null"
              start_date:
                type: string
                format: date-time
                description: "can be null"
              status:
                type: string
              card_currency:
                type: string
              one_time:
                type: boolean
            example:
              product_name: Gift Card
              card_type: experiences
              skus: sad
              card_status: Valid
              card_number: "791400114701023414"
              balance: Card is redeemable.
              expiry_date: 2025-10-14T00:00:00.000Z
              end_date: 2025-10-14T00:00:00.000Z
              start_date: null
              status: active
              card_currency: AED
              one_time: false
          examples:
            experiences_redeemable:
              value:
                product_name: Gift Card
                card_type: experiences
                skus: sad
                card_status: Valid
                card_number: "791400114701023414"
                balance: Card is redeemable.
                expiry_date: 2025-10-14T00:00:00.000Z
                end_date: 2025-10-14T00:00:00.000Z
                start_date: null
                status: active
                card_currency: AED
                one_time: false
            monetary:
              value:
                card_type: monetary
                card_status: Valid
                card_number: "935896188801023413"
                balance: USD 1000.00
                expiry_date: 2025-10-14T00:00:00.000Z
                end_date: 2025-10-14T00:00:00.000Z
                start_date: null
                status: active
                card_currency: USD
                one_time: false
        "422":
          description: Unprocessable Entity
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: string
          examples:
            card_not_found:
              value:
                errors:
                  - Gift Card not found
            card_blocked:
              value:
                errors:
                  - Card is blocked
      summary: Check balance of a gift card.
      operationId: Check Gift Card Balance
      description: >-
        Use this API to check the balance of a gift card with card_type experiences.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Client creation/updation payload
          required: true
          schema:
            $ref: '#/definitions/GiftCardCheckBalance'
      security:
        - basic: []
  /api/v3/gift_cards/bulk_activate:
    post:
      responses:
        "200":
          description: OK
          headers: {}
          schema:
            type: array
            items:
              type: object
              properties:
                card_number:
                  type: string
                amount:
                  type: string
                balance:
                  type: string
                currency:
                  type: string
                meta:
                  type: object
                  description: "can be null"
                id:
                  type: number
            example:
              - card_number: "456038848301023363"
                amount: "55.50"
                balance: "55.50"
                currency: USD
                meta: null
                id: 30319
          examples:
            response:
              value:
                - card_number: "456038848301023363"
                  amount: "55.50"
                  balance: "55.50"
                  currency: USD
                  meta: null
                  id: 30319
      summary: Bulk Activate Gift Cards.
      operationId: Bulk Activate Gift Cards
      description: >-
        This endpoint can be used for bulk activation of giftcards
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Bulk activate gift cards
          required: true
          schema:
            $ref: '#/definitions/BulkGiftCardActivationRequest'
      security:
        - basic: []
  /api/v3/gift_cards/update_status:
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              status:
                type: string
              value:
                type: string
              id:
                type: number
              number:
                type: string
              pin:
                type: string
              currency:
                type: string
              card_type:
                type: string
              expiry_date:
                type: string
                format: date-time
                description: "can be null"
              skus:
                type: array
                items:
                  type: string
              user_id:
                type: number
              campaign_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              client_id:
                type: number
              product_name:
                type: string
              delivery_mode:
                type: string
              delivery_status:
                type: string
              is_redeemed:
                type: boolean
              is_expired:
                type: boolean
              recipient_first_name:
                type: string
              recipient_last_name:
                type: string
              recipient_email:
                type: string
              order_number:
                type: string
              send_email:
                type: boolean
              order_pay_load:
                type: string
              notes:
                type: string
              invoice_id:
                type: string
              from_address:
                type: string
              store_name:
                type: string
                description: "can be null"
              customer_email:
                type: string
                description: "can be null"
              barcode_key:
                type: string
              qrcode_key:
                type: string
              spree_ts_giftcard_id:
                type: integer
                description: "can be null"
              slug:
                type: string
              receipient_phone_number:
                type: string
              send_gift_card_via:
                type: string
              bonus:
                type: boolean
              serial_number:
                type: string
              operator_id:
                type: integer
                description: "can be null"
              customer_id:
                type: number
              recipient_emails:
                type: string
              store_id:
                type: integer
                description: "can be null"
              generated_at:
                type: string
                format: date-time
                description: "can be null"
              import_by:
                type: string
              transition_activation_date:
                type: string
              message:
                type: string
              order_placed_date:
                type: string
                format: date-time
                description: "can be null"
              line_item_id:
                type: integer
                description: "can be null"
              start_date:
                type: string
                format: date-time
                description: "can be null"
              test_mode:
                type: boolean
              request_id:
                type: string
            example:
              status: lost
              value: "123.0"
              id: 28072
              number: "791400114701023414"
              pin: "69337"
              currency: AED
              card_type: experiences
              expiry_date: 2025-10-14T00:00:00.000Z
              skus:
                - sad
              user_id: 24
              campaign_id: 61
              created_at: 2024-08-18T15:25:19.074Z
              updated_at: 2024-08-18T15:44:07.695Z
              client_id: 3
              product_name: Gift Card
              delivery_mode: digital
              delivery_status: delivered
              is_redeemed: false
              is_expired: false
              recipient_first_name: Monetary
              recipient_last_name: (Ifrah)
              recipient_email: user@email.com
              order_number: ""
              send_email: false
              order_pay_load: ""
              notes: ad
              invoice_id: dsa
              from_address: user@email.com
              store_name: null
              customer_email: null
              barcode_key: 3W9WxznsbsiXpkzo
              qrcode_key: KOjnl79OQ8dy1jKW
              spree_ts_giftcard_id: null
              slug: b807ce33-cfe1-4c55-95b5-ff675b5b63d5
              receipient_phone_number: ""
              send_gift_card_via: email
              bonus: false
              serial_number: "01023414"
              operator_id: null
              customer_id: 752
              recipient_emails: ""
              store_id: null
              generated_at: null
              import_by: ts_giftcards
              transition_activation_date: 2024-08-18T15:25:20.266Z
              message: dsa
              order_placed_date: null
              line_item_id: null
              start_date: null
              test_mode: false
              request_id: ""
          examples:
            response:
              value:
                status: lost
                value: "123.0"
                id: 28072
                number: "791400114701023414"
                pin: "69337"
                currency: AED
                card_type: experiences
                expiry_date: 2025-10-14T00:00:00.000Z
                skus:
                  - sad
                user_id: 24
                campaign_id: 61
                created_at: 2024-08-18T15:25:19.074Z
                updated_at: 2024-08-18T15:44:07.695Z
                client_id: 3
                product_name: Gift Card
                delivery_mode: digital
                delivery_status: delivered
                is_redeemed: false
                is_expired: false
                recipient_first_name: Monetary
                recipient_last_name: (Ifrah)
                recipient_email: user@email.com
                order_number: ""
                send_email: false
                order_pay_load: ""
                notes: ad
                invoice_id: dsa
                from_address: user@email.com
                store_name: null
                customer_email: null
                barcode_key: 3W9WxznsbsiXpkzo
                qrcode_key: KOjnl79OQ8dy1jKW
                spree_ts_giftcard_id: null
                slug: b807ce33-cfe1-4c55-95b5-ff675b5b63d5
                receipient_phone_number: ""
                send_gift_card_via: email
                bonus: false
                serial_number: "01023414"
                operator_id: null
                customer_id: 752
                recipient_emails: ""
                store_id: null
                generated_at: null
                import_by: ts_giftcards
                transition_activation_date: 2024-08-18T15:25:20.266Z
                message: dsa
                order_placed_date: null
                line_item_id: null
                start_date: null
                test_mode: false
                request_id: ""
        "422":
          description: Unprocessable Entity
          schema:
            type: object
            properties:
              errors:
                type: string
          examples:
            card_not_found:
              value:
                errors: Gift Card not found
      summary: Update Status of a specific Gift Card.
      operationId: Update GiftCard Status.
      description: >-
        This endpoint can be used to update giftcard status.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Update gift card status
          required: true
          schema:
            $ref: '#/definitions/UpdateGiftCardStatusRequest'
      security:
        - basic: []

  /api/v3/gift_cards/send_csv_for_gift_cards:
    get:
      summary: Send CSV export of gift cards to specific campaign code.
      operationId: retrieveGiftCardTransactions
      description: >
        This API can be used to send CSV export of gift cards to specific campaign code.
      tags:
        - Gift Cards
      security:
        - basic: []
      produces:
        - text/csv
      parameters:
        - name: campaign_code
          in: query
          required: true
          type: string
        - name: recipient_emails
          in: query
          required: true
          type: string
      responses:
        "200":
          description: Successful CSV export of gift cards
          schema:
            type: string
            example: |
              Product Name,Gift Card Delivery Type,Gift Card Type,Gift Card Created Date,Gift Card Last Updated,Gift Card Valid Date,Gift Card Status,Recipient First Name,Recipient Last Name,Recipient Email Address,Recipient Phone Number,Gift Card Number,Serial Number,Gift Card Associated Order Ref,Gift Card Original Balance,Gift Card Balance,Campaign Code,Checkout Storefront,Ts Campaign Stores,Email,Role,Message
              knkn,digital,monetary,15-10-2025,08:04:21 AM - 15 Oct 25,11-07-2028,active,Asifa,dew,test@gmail.com,"",1686763562010432529,010432529,"",1000.0,1000.0,test-2024,,"TS-S1, TS-S1, abc, vcccvccc, abc, cnv, ffd",user@email.com,admin,fsdds      
  "/api/v3/gift_cards/{gift_card_id}/transactions":
    get:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                gift_card_number:
                  type: string
                recipient_email:
                  type: string
                order_number:
                  type: string
                serial_number:
                  type: integer
                  description: "can be null"
                store_code:
                  type: string
                store_name:
                  type: string
                currency:
                  type: string
                amount:
                  type: string
                transaction_type:
                  type: string
                store_currency:
                  type: string
                trans_amount:
                  type: string
                service_fee:
                  type: number
                  format: float
                  description: "can be null"
                exchange_rate:
                  type: number
                  format: float
                  description: "can be null"
                card_balance:
                  type: string            
            example:
              transactions:
                - gift_card_number: "420646903701023412"
                  recipient_email: ""
                  order_number: "897703402801023370"
                  serial_number: "01023412"
                  store_code: ali
                  store_name:
                    - Ahsan
                    - Winifred Hickman
                    - qwer
                    - devtransaction store
                    - testing
                    - testing
                    - dev Front Desk
                    - Muhammad Mehran Javid
                    - Monetary (Ifrah)
                    - Monetary (Ifrah)
                    - Monetary (Ifrah)
                    - Monetary (Ifrah)
                    - wyfosy243234234kyp test
                    - wyfosy243234234kyp test
                    - wyfosy243234234kyp test
                    - dev-store-1
                  currency: AED
                  amount: "10.0"
                  transaction_type: Active
                  store_currency: AED
                  trans_amount: "10.0"
                  service_fee: ""
                  exchange_rate: ""
                  card_balance: "10.0"
                  gift_card_status: active
                  operator_id: null
                  operator_name: null
                  department: null
                  delivery_mode: physical
                  gift_card_type: monetary
                  action_date: 2024-08-13
                  action_time: 08:10 am
                  notes: "897703402801023370"
                  gift_card_store_name: Ahsan
                  campaign_code: dev-1
                  campaign_stores: Ahsan,Winifred Hickman,qwer,devtransaction
                    store,testing,testing,dev Front Desk,Muhammad Mehran
                    Javid,Monetary (Ifrah),Monetary (Ifrah),Monetary
                    (Ifrah),Monetary (Ifrah),wyfosy243234234kyp
                    test,wyfosy243234234kyp test,wyfosy243234234kyp
                    test,dev-store-1
                  creator_email: navisi9055@secbuf.com
                  creator_role: admin
                  message: ""
              count: 1
      summary: Retrieve transactions of specific Gift Card.
      operationId: Retrieve transactions of specific Gift Card.
      description: >-
        This API can be used to retrieve retrieve transactions of specific Gift Card.

      tags:
        - Gift Cards
      parameters:
        - name: gift_card_id
          in: path
          description: Unique id of a gift card.
          required: true
          type: number
          
      security:
        - basic: []
  
  "/api/v3/gift_cards/{gift_card_id}":
    put:
      responses:
        "201":
          description: Created
          schema:
            type: object
            properties:
              status:
                type: string
              value:
                type: string
              id:
                type: number
              number:
                type: string
              currency:
                type: string
              card_type:
                type: string
              expiry_date:
                type: string
                format: date-time
                description: "can be null"
              skus:
                type: array
                items: {}
              user_id:
                type: number
              campaign_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              client_id:
                type: number
              product_name:
                type: string
              delivery_mode:
                type: string
              delivery_status:
                type: string
              is_redeemed:
                type: boolean
              is_expired:
                type: boolean
              recipient_first_name:
                type: string
              recipient_last_name:
                type: string
              recipient_email:
                type: string
              order_number:
                type: string
              send_email:
                type: boolean
              order_pay_load:
                type: string
              notes:
                type: string
              invoice_id:
                type: string
              from_address:
                type: string
              store_name:
                type: string
                description: "can be null"
              customer_email:
                type: string
                description: "can be null"
              barcode_key:
                type: string
              qrcode_key:
                type: string
              spree_ts_giftcard_id:
                type: integer
                description: "can be null"
              slug:
                type: string
              receipient_phone_number:
                type: string
              send_gift_card_via:
                type: string
              bonus:
                type: boolean
              serial_number:
                type: string
              operator_id:
                type: string
                description: "can be null"
              customer_id:
                type: string
                description: "can be null"
              recipient_emails:
                type: string
              store_id:
                type: string
                description: "can be null"
              generated_at:
                type: string
                format: date-time
                description: "can be null"
              import_by:
                type: string
              transition_activation_date:
                type: string
              message:
                type: string
              order_placed_date:
                type: string
                format: date-time
                description: "can be null"
              line_item_id:
                type: string
                description: "can be null"
              start_date:
                type: string
                format: date-time
                description: "can be null"
              test_mode:
                type: boolean
              request_id:
                type: string
            example:
              status: blocked
              value: "1000.0"
              id: 28071
              number: "935896188801023413"
              currency: USD
              card_type: monetary
              expiry_date: null
              skus: []
              user_id: 24
              campaign_id: 61
              created_at: 2024-08-18T06:38:49.603Z
              updated_at: 2024-08-18T12:41:48.628Z
              client_id: 3
              product_name: tesitng
              delivery_mode: digital
              delivery_status: delivered
              is_redeemed: false
              is_expired: false
              recipient_first_name: Darrel
              recipient_last_name: Wiggins
              recipient_email: wyfosykyp@mailinator.com
              order_number: ""
              send_email: false
              order_pay_load: ""
              notes: werwe
              invoice_id: sk-123
              from_address: wyfosykyp@mailinator.com
              store_name: null
              customer_email: null
              barcode_key: UT764xIqPatTsAl0
              qrcode_key: ZemSYyRv6OAfQ9H1
              spree_ts_giftcard_id: null
              slug: d4b46bb5-3666-4e54-954b-cae5bad470f0
              receipient_phone_number: ""
              send_gift_card_via: email
              bonus: false
              serial_number: "01023413"
              operator_id: null
              customer_id: null
              recipient_emails: ""
              store_id: null
              generated_at: null
              import_by: ts_giftcards
              transition_activation_date: 2024-08-18T06:38:50.960Z
              message: ""
              order_placed_date: null
              line_item_id: null
              start_date: null
              test_mode: false
              request_id: "1234"
          examples:
            response:
              value:
                status: blocked
                value: "1000.0"
                id: 28071
                number: "935896188801023413"
                currency: USD
                card_type: monetary
                expiry_date: null
                skus: []
                user_id: 24
                campaign_id: 61
                created_at: 2024-08-18T06:38:49.603Z
                updated_at: 2024-08-18T12:41:48.628Z
                client_id: 3
                product_name: tesitng
                delivery_mode: digital
                delivery_status: delivered
                is_redeemed: false
                is_expired: false
                recipient_first_name: Darrel
                recipient_last_name: Wiggins
                recipient_email: wyfosykyp@mailinator.com
                order_number: ""
                send_email: false
                order_pay_load: ""
                notes: werwe
                invoice_id: sk-123
                from_address: wyfosykyp@mailinator.com
                store_name: null
                customer_email: null
                barcode_key: UT764xIqPatTsAl0
                qrcode_key: ZemSYyRv6OAfQ9H1
                spree_ts_giftcard_id: null
                slug: d4b46bb5-3666-4e54-954b-cae5bad470f0
                receipient_phone_number: ""
                send_gift_card_via: email
                bonus: false
                serial_number: "01023413"
                operator_id: null
                customer_id: null
                recipient_emails: ""
                store_id: null
                generated_at: null
                import_by: ts_giftcards
                transition_activation_date: 2024-08-18T06:38:50.960Z
                message: ""
                order_placed_date: null
                line_item_id: null
                start_date: null
                test_mode: false
                request_id: "1234"
      summary: Update information of a specific GiftCard by providing Gift Card ID.
      operationId: Update a GiftCard with Id
      description: >-
        Use this API to update the details of a gift card. You can update status, expiry and delivery status.

      tags:
        - Gift Cards
      parameters:
        - name: gift_card_id
          in: path
          description: The unique identifier of the giftcard in the URL path.
          required: true
          type: number
          
        - in: body
          name: request
          description: Gift Card updation payload.
          required: true
          schema:
            $ref: '#/definitions/UpdateGiftCardRequest'    
      security:
        - basic: []
  /api/v3/gift_cards/refund:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              amount:
                type: string
              currency:
                type: string
              transaction_type:
                type: string
              ip:
                type: string
              note:
                type: string
              refund_id:
                type: number
              gift_card_id:
                type: number
              user_id:
                type: number
              sku:
                type: string
                description: "can be null"
              created_at:
                type: string
              updated_at:
                type: string
              refunded:
                type: boolean
              external_invoice_id:
                type: integer
                description: "can be null"
              notes:
                type: string
              card_balance:
                type: number
                format: float
                description: "can be null"
              store_id:
                type: number
              meta:
                type: object
                description: "can be null"
              transaction_reason_id:
                type: number
              select_payment_methods:
                type: string
              operator_id:
                type: integer
                description: "can be null"
              gift_card_status:
                type: string
              recipient_emails:
                type: string
              service_fee_id:
                type: integer
                description: "can be null"
              gift_card_balance_status:
                type: string
                description: "can be null"
            example:
              id: 30330
              amount: "2"
              currency: USD
              transaction_type: refund
              ip: ::1
              note: ""
              refund_id: 30325
              gift_card_id: 28071
              user_id: 24
              sku: null
              created_at: 2024-08-19T07:43:53.799Z
              updated_at: 2024-08-19T07:43:53.799Z
              refunded: false
              external_invoice_id: null
              notes: refunding
              card_balance: null
              store_id: 11
              meta: null
              transaction_reason_id: 12
              select_payment_methods: cash
              operator_id: null
              gift_card_status: active
              recipient_emails: ""
              service_fee_id: null
              gift_card_balance_status: null
          examples:
            response:
              value:
                id: 30330
                amount: "2"
                currency: USD
                transaction_type: refund
                ip: ::1
                note: ""
                refund_id: 30325
                gift_card_id: 28071
                user_id: 24
                sku: null
                created_at: 2024-08-19T07:43:53.799Z
                updated_at: 2024-08-19T07:43:53.799Z
                refunded: false
                external_invoice_id: null
                notes: refunding
                card_balance: null
                store_id: 11
                meta: null
                transaction_reason_id: 12
                select_payment_methods: cash
                operator_id: null
                gift_card_status: active
                recipient_emails: ""
                service_fee_id: null
                gift_card_balance_status: null
      summary: Refund a Transaction.
      operationId: Refund Transaction
      description: >-
        This endpoint can be used to refund a transaction

      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Gift Card refund transaction.
          required: true
          schema:
            $ref: '#/definitions/GiftCardRefundRequest'
      security:
        - basic: []
  /api/v3/gift_cards/activation:
    post:
      responses:
        "200":
          description: OK
          headers: {}
      summary: Activate a specific Gift Card.
      operationId: Activate a Gift Card
      description: >-
        This endpoint can be used to activate giftcards.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Gift Card activation payload.
          required: true
          schema:
            $ref: '#/definitions/GiftCardActivationRequest'
      security:
        - basic: []
  /api/v3/gift_cards/find_gift_card:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              gift_card:
                type: object
                properties:
                  id:
                    type: number
                  number:
                    type: string
                  pin:
                    type: string
                  currency:
                    type: string
                  card_type:
                    type: string
                  expiry_date:
                    type: string
                  value:
                    type: string
                  skus:
                    type: array
                    items: {}
                  status:
                    type: string
                  user_id:
                    type: number
                  campaign_id:
                    type: number
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  client_id:
                    type: number
                  product_name:
                    type: string
                  delivery_mode:
                    type: string
                  delivery_status:
                    type: string
                  is_redeemed:
                    type: boolean
                  is_expired:
                    type: boolean
                  recipient_first_name:
                    type: string
                  recipient_last_name:
                    type: string
                  recipient_email:
                    type: string
                  order_number:
                    type: string
                  send_email:
                    type: boolean
                  order_pay_load:
                    type: string
                  notes:
                    type: string
                  invoice_id:
                    type: string
                  from_address:
                    type: string
                  store_name:
                    type: string
                    description: "can be null"
                  customer_email:
                    type: string
                    description: "can be null"
                  barcode_key:
                    type: string
                  qrcode_key:
                    type: string
                  spree_ts_giftcard_id:
                    type: integer
                    description: "can be null"
                  slug:
                    type: string
                  receipient_phone_number:
                    type: string
                    description: "can be null"
                  send_gift_card_via:
                    type: string
                  bonus:
                    type: boolean
                  serial_number:
                    type: string
                  operator_id:
                    type: integer
                    description: "can be null"
                  customer_id:
                    type: integer
                    description: "can be null"
                  recipient_emails:
                    type: string
                  store_id:
                    type: number
                  generated_at:
                    type: string
                    format: date-time
                    description: "can be null"
                  import_by:
                    type: string
                  transition_activation_date:
                    type: string
                  message:
                    type: string
                  order_placed_date:
                    type: string
                    format: date-time
                    description: "can be null"
                  line_item_id:
                    type: integer
                    description: "can be null"
                  start_date:
                    type: string
                    format: date-time
                    description: "can be null"
                  test_mode:
                    type: boolean
                  request_id:
                    type: integer
                    description: "can be null"
              balance:
                type: string
              message:
                type: string
              is_gift_card_expired:
                type: boolean
              expiry_date:
                type: string
            example:
              gift_card:
                id: 28070
                number: "420646903701023412"
                pin: "17123"
                currency: AED
                card_type: monetary
                expiry_date: 2025-10-14T00:00:00.000Z
                value: "10.0"
                skus: []
                status: active
                user_id: 24
                campaign_id: 61
                created_at: 2024-08-13T07:10:33.979Z
                updated_at: 2024-08-13T07:10:34.047Z
                client_id: 3
                product_name: Gift Card
                delivery_mode: physical
                delivery_status: pickUp
                is_redeemed: false
                is_expired: false
                recipient_first_name: mehran
                recipient_last_name: javid
                recipient_email: ""
                order_number: "897703402801023370"
                send_email: false
                order_pay_load: ""
                notes: "897703402801023370"
                invoice_id: "897703402801023400"
                from_address: ""
                store_name: null
                customer_email: null
                barcode_key: tFy383IBzMdLsgA6
                qrcode_key: YGnTWj5Gh6h4XkEf
                spree_ts_giftcard_id: null
                slug: ee96012c-5f0d-4951-a37b-499d2a3ee407
                receipient_phone_number: null
                send_gift_card_via: email
                bonus: false
                serial_number: "01023412"
                operator_id: null
                customer_id: null
                recipient_emails: ""
                store_id: 227
                generated_at: null
                import_by: ts_giftcards
                transition_activation_date: 2024-08-13T07:10:33.979Z
                message: ""
                order_placed_date: null
                line_item_id: null
                start_date: null
                test_mode: false
                request_id: null
              balance: "10.0"
              message: Please update your app
              is_gift_card_expired: false
              expiry_date: 2025-10-14T00:00:00.000Z
          examples:
            response:
              value:
                gift_card:
                  id: 28070
                  number: "420646903701023412"
                  pin: "17123"
                  currency: AED
                  card_type: monetary
                  expiry_date: 2025-10-14T00:00:00.000Z
                  value: "10.0"
                  skus: []
                  status: active
                  user_id: 24
                  campaign_id: 61
                  created_at: 2024-08-13T07:10:33.979Z
                  updated_at: 2024-08-13T07:10:34.047Z
                  client_id: 3
                  product_name: Gift Card
                  delivery_mode: physical
                  delivery_status: pickUp
                  is_redeemed: false
                  is_expired: false
                  recipient_first_name: mehran
                  recipient_last_name: javid
                  recipient_email: ""
                  order_number: "897703402801023370"
                  send_email: false
                  order_pay_load: ""
                  notes: "897703402801023370"
                  invoice_id: "897703402801023400"
                  from_address: ""
                  store_name: null
                  customer_email: null
                  barcode_key: tFy383IBzMdLsgA6
                  qrcode_key: YGnTWj5Gh6h4XkEf
                  spree_ts_giftcard_id: null
                  slug: ee96012c-5f0d-4951-a37b-499d2a3ee407
                  receipient_phone_number: null
                  send_gift_card_via: email
                  bonus: false
                  serial_number: "01023412"
                  operator_id: null
                  customer_id: null
                  recipient_emails: ""
                  store_id: 227
                  generated_at: null
                  import_by: ts_giftcards
                  transition_activation_date: 2024-08-13T07:10:33.979Z
                  message: ""
                  order_placed_date: null
                  line_item_id: null
                  start_date: null
                  test_mode: false
                  request_id: null
                balance: "10.0"
                message: Please update your app
                is_gift_card_expired: false
                expiry_date: 2025-10-14T00:00:00.000Z
      summary: Retrieve information of a single Gift Card.
      operationId: Find a GiftCard
      description: >-
        This endpoint can be used to find a giftcards.

      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Find gift card payload.
          required: true
          schema:
            $ref: '#/definitions/FindGiftCardRequest'
      security:
        - basic: []
  /api/v3/gift_cards/find_activation_gift_card:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              gift_card:
                type: object
                properties:
                  id:
                    type: number
                  number:
                    type: string
                  pin:
                    type: string
                  currency:
                    type: string
                  card_type:
                    type: string
                    description: "can be null"
                  expiry_date:
                    type: string
                  value:
                    type: string
                  skus:
                    type: array
                    items: {}
                  status:
                    type: string
                  user_id:
                    type: number
                  campaign_id:
                    type: number
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  client_id:
                    type: number
                  product_name:
                    type: string
                    description: "can be null"
                  delivery_mode:
                    type: string
                  delivery_status:
                    type: string
                  is_redeemed:
                    type: boolean
                  is_expired:
                    type: boolean
                  recipient_first_name:
                    type: string
                  recipient_last_name:
                    type: string
                  recipient_email:
                    type: string
                  order_number:
                    type: string
                  send_email:
                    type: boolean
                  order_pay_load:
                    type: string
                  notes:
                    type: string
                    description: "can be null"
                  invoice_id:
                    type: integer
                    description: "can be null"
                  from_address:
                    type: string
                  store_name:
                    type: string
                    description: "can be null"
                  customer_email:
                    type: string
                    description: "can be null"
                  barcode_key:
                    type: string
                  qrcode_key:
                    type: string
                  spree_ts_giftcard_id:
                    type: integer
                    description: "can be null"
                  slug:
                    type: string
                  receipient_phone_number:
                    type: string
                    description: "can be null"
                  send_gift_card_via:
                    type: string
                  bonus:
                    type: boolean
                  serial_number:
                    type: string
                  operator_id:
                    type: integer
                    description: "can be null"
                  customer_id:
                    type: integer
                    description: "can be null"
                  recipient_emails:
                    type: string
                  store_id:
                    type: integer
                    description: "can be null"
                  generated_at:
                    type: string
                    format: date-time
                    description: "can be null"
                  import_by:
                    type: string
                  transition_activation_date:
                    type: string
                  message:
                    type: string
                  order_placed_date:
                    type: string
                    format: date-time
                    description: "can be null"
                  line_item_id:
                    type: integer
                    description: "can be null"
                  start_date:
                    type: string
                    format: date-time
                    description: "can be null"
                  test_mode:
                    type: boolean
                  request_id:
                    type: integer
                    description: "can be null"
            example:
              gift_card:
                id: 28069
                number: "488809720401023411"
                pin: "54423"
                currency: ""
                card_type: null
                expiry_date: 2025-10-14T00:00:00.000Z
                value: "0.0"
                skus: []
                status: initiated
                user_id: 24
                campaign_id: 61
                created_at: 2024-08-12T15:00:20.147Z
                updated_at: 2024-08-12T15:00:20.147Z
                client_id: 3
                product_name: null
                delivery_mode: physical
                delivery_status: printing
                is_redeemed: false
                is_expired: false
                recipient_first_name: ""
                recipient_last_name: ""
                recipient_email: ""
                order_number: ""
                send_email: false
                order_pay_load: ""
                notes: null
                invoice_id: null
                from_address: ""
                store_name: null
                customer_email: null
                barcode_key: ma3ANSp4hK6b1mE0
                qrcode_key: oqbtPvkWSH3fQoGy
                spree_ts_giftcard_id: null
                slug: d7db2893-367c-4e82-9ec3-cf4317005d58
                receipient_phone_number: null
                send_gift_card_via: email
                bonus: false
                serial_number: "01023411"
                operator_id: null
                customer_id: null
                recipient_emails: ""
                store_id: null
                generated_at: null
                import_by: ts_giftcards
                transition_activation_date: 2024-08-12T15:00:20.448Z
                message: ""
                order_placed_date: null
                line_item_id: null
                start_date: null
                test_mode: false
                request_id: null
          examples:
            response:
              value:
                gift_card:
                  id: 28069
                  number: "488809720401023411"
                  pin: "54423"
                  currency: ""
                  card_type: null
                  expiry_date: 2025-10-14T00:00:00.000Z
                  value: "0.0"
                  skus: []
                  status: initiated
                  user_id: 24
                  campaign_id: 61
                  created_at: 2024-08-12T15:00:20.147Z
                  updated_at: 2024-08-12T15:00:20.147Z
                  client_id: 3
                  product_name: null
                  delivery_mode: physical
                  delivery_status: printing
                  is_redeemed: false
                  is_expired: false
                  recipient_first_name: ""
                  recipient_last_name: ""
                  recipient_email: ""
                  order_number: ""
                  send_email: false
                  order_pay_load: ""
                  notes: null
                  invoice_id: null
                  from_address: ""
                  store_name: null
                  customer_email: null
                  barcode_key: ma3ANSp4hK6b1mE0
                  qrcode_key: oqbtPvkWSH3fQoGy
                  spree_ts_giftcard_id: null
                  slug: d7db2893-367c-4e82-9ec3-cf4317005d58
                  receipient_phone_number: null
                  send_gift_card_via: email
                  bonus: false
                  serial_number: "01023411"
                  operator_id: null
                  customer_id: null
                  recipient_emails: ""
                  store_id: null
                  generated_at: null
                  import_by: ts_giftcards
                  transition_activation_date: 2024-08-12T15:00:20.448Z
                  message: ""
                  order_placed_date: null
                  line_item_id: null
                  start_date: null
                  test_mode: false
                  request_id: null
      summary: Retrieve an Active Gift Card.
      operationId: Find Activation Gift Card
      description: >-
        This endpoint can be used to find activation giftcard.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Retrieve activation gift card.
          required: true
          schema:
            $ref: '#/definitions/FindActivationGiftCard'
      security:
        - basic: []
  /api/v3/gift_cards/send_email:
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              success:
                type: boolean
            example:
              success: true
          examples:
            response:
              value:
                success: true
      summary: Sends Gift Card Transaction email.
      operationId: Send GiftCard Email
      description: |-
        This endpoint can be used to send giftcards transaction email.

      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Send gift card transaction email.
          required: true
          schema:
            $ref: '#/definitions/SendEmailRequest'
      security:
        - basic: []
  /api/v3/gift_cards/gift_card_transition:
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              gift_card_transition:
                type: string
                description: >-
                  A JSON-encoded string (not a native JSON array). Each element represents a status change audit log entry with optional nested creator. Consumers must JSON.parse() this value.
            example:
              gift_card_transition: '[{"id":1,"notes":"Card blocked due to suspected fraud","transition_state_name":"blocked","pervious_state":"active","current_state":"blocked","transition_id":28071,"transition_type":"GiftCard","created_at":"2024-08-18T10:30:00.000Z","updated_at":"2024-08-18T10:30:00.000Z","creator":{"id":1,"creator_email":"admin@example.com","creator_role":"client","created_by_id":1,"created_by_type":"Transition","created_at":"2024-08-18T10:30:00.000Z","updated_at":"2024-08-18T10:30:00.000Z"}},{"id":2,"notes":"Card reactivated after verification","transition_state_name":"active","pervious_state":"blocked","current_state":"active","transition_id":28071,"transition_type":"GiftCard","created_at":"2024-08-19T14:15:00.000Z","updated_at":"2024-08-19T14:15:00.000Z","creator":{"id":2,"creator_email":"frontdesk@example.com","creator_role":"front_desk","created_by_id":2,"created_by_type":"Transition","created_at":"2024-08-19T14:15:00.000Z","updated_at":"2024-08-19T14:15:00.000Z"}}]'
          examples:
            with_transitions:
              value:
                gift_card_transition: '[{"id":1,"notes":"Card blocked due to suspected fraud","transition_state_name":"blocked","pervious_state":"active","current_state":"blocked","transition_id":28071,"transition_type":"GiftCard","created_at":"2024-08-18T10:30:00.000Z","updated_at":"2024-08-18T10:30:00.000Z","creator":{"id":1,"creator_email":"admin@example.com","creator_role":"client","created_by_id":1,"created_by_type":"Transition","created_at":"2024-08-18T10:30:00.000Z","updated_at":"2024-08-18T10:30:00.000Z"}},{"id":2,"notes":"Card reactivated after verification","transition_state_name":"active","pervious_state":"blocked","current_state":"active","transition_id":28071,"transition_type":"GiftCard","created_at":"2024-08-19T14:15:00.000Z","updated_at":"2024-08-19T14:15:00.000Z","creator":{"id":2,"creator_email":"frontdesk@example.com","creator_role":"front_desk","created_by_id":2,"created_by_type":"Transition","created_at":"2024-08-19T14:15:00.000Z","updated_at":"2024-08-19T14:15:00.000Z"}}]'
            no_transitions:
              value:
                gift_card_transition: "[]"
      summary: Retrieve a list of Gift Card Transitions for a specific Gift Card.
      operationId: GiftCardTransitions
      description: |-
        This endpoint can be used to get giftcard transitions.
        
      tags:
        - Gift Cards
      parameters:
        - name: number
          in: query
          description: Gift Card number to get its transitions.
          required: true
          type: string
      security:
        - basic: []
  /api/v3/gift_cards/transaction:
    post:
      responses:
        "201":
          description: Created
          schema:
            type: object
            properties:
              card_number:
                type: string
              amount:
                type: string
              balance:
                type: number
              currency:
                type: string
              id:
                type: number
            example:
              card_number: "791400114701023414"
              amount: Card is redeemed
              balance: 123
              currency: AED
              id: 30343
          examples:
            response:
              value:
                card_number: "791400114701023414"
                amount: Card is redeemed
                balance: 123
                currency: AED
                id: 30343
      summary: Perform a Transaction for an experiences type Gift Card by providing a Transaction Reason (Redeem).
      operationId: Transaction Reason (Redeem), a gift card with card_type experiences
      description: >-
        Use this endpoint to perform transactions on gift cards that have the experiences card_type.
      tags:
        - Gift Cards
      parameters:
        - in: body
          name: request
          description: Redeem a gift card.
          required: true
          schema:
            $ref: '#/definitions/GiftCardRedeemRequest'
      security:
        - basic: []
  "/api/v3/operators/{id}":
    delete:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Operator deleted
          examples:
            response:
              value:
                message: Operator deleted
      summary: Delete an Operator by providing an Operator ID.
      operationId: Delete Operator
      description: |-
        This endpoint can be used to delete operator.

      tags:
        - Operators
      parameters:
        - name: id
          in: path
          description: The unique identifier of the operator in the URL path.
          required: true
          type: number
      security:
        - basic: []
  "/api/v3/stores/{storeId}/departments":
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              department_name:
                type: string
              department_description:
                type: string
              client_id:
                type: integer
                description: "can be null"
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
              store_id:
                type: number
            example:
              id: 199
              department_name: deparment
              department_description: temp deparment
              client_id: null
              created_at: 2024-08-13T12:02:41.473Z
              updated_at: 2024-08-13T12:02:41.473Z
              soft_delete: false
              store_id: 11
          examples:
            response:
              value:
                id: 199
                department_name: deparment
                department_description: temp deparment
                client_id: null
                created_at: 2024-08-13T12:02:41.473Z
                updated_at: 2024-08-13T12:02:41.473Z
                soft_delete: false
                store_id: 11
      summary: Create Department for a Store by providing a Store ID.
      operationId: Create Department for a Store
      description: |-
        This endpoint can be used to create department for a store.

      tags:
        - Departments
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - in: body
          name: request
          description: Department creation payload
          required: true
          schema:
            $ref: '#/definitions/DepartmentCreateRequest'  
      security:
        - basic: []
    get:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                id:
                  type: number
                department_name:
                  type: string
                department_description:
                  type: string
                client_id:
                  type: integer
                  description: "can be null"
                created_at:
                  type: string
                updated_at:
                  type: string
                soft_delete:
                  type: boolean
                store_id:
                  type: number
            example:
              - id: 52
                department_name: department name for store 11
                department_description: department description for store 11
                client_id: null
                created_at: 2023-02-27T07:49:27.785Z
                updated_at: 2023-02-27T07:49:27.785Z
                soft_delete: false
                store_id: 11
          examples:
            response:
              value:
                - id: 52
                  department_name: department name for store 11
                  department_description: department description for store 11
                  client_id: null
                  created_at: 2023-02-27T07:49:27.785Z
                  updated_at: 2023-02-27T07:49:27.785Z
                  soft_delete: false
                  store_id: 11
      summary: Retrieve all departments associated with a specific store by providing a Store ID.
      operationId: Get all Departments for a Store
      description: >-
        This endpoint will get all department for a store.

      tags:
        - Departments
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: page
          in: query
          description: Page number.
          required: false
          type: number
          
        - name: per_page
          in: query
          description: Per page count.
          required: false
          type: number
          
      security:
        - basic: []
  "/api/v3/stores/{storeId}/departments/{departmentId}":
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              department_name:
                type: string
              department_description:
                type: string
              client_id:
                type: integer
                description: "can be null"
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
              store_id:
                type: number
            example:
              id: 52
              department_name: department name for store 11
              department_description: department description for store 11
              client_id: null
              created_at: 2023-02-27T07:49:27.785Z
              updated_at: 2023-02-27T07:49:27.785Z
              soft_delete: false
              store_id: 11
          examples:
            response:
              value:
                id: 52
                department_name: department name for store 11
                department_description: department description for store 11
                client_id: null
                created_at: 2023-02-27T07:49:27.785Z
                updated_at: 2023-02-27T07:49:27.785Z
                soft_delete: false
                store_id: 11
      summary: Retrieve a department associated with a specific store by providing a Store ID and Department ID.
      operationId: Show Department for a Store
      description: >-
        This endpoint will get a department for store.

      tags:
        - Departments
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: departmentId
          in: path
          description: The unique identifier of the departmnet in the URL path.
          required: true
          type: number
      security:
        - basic: []
    delete:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Department deleted
          examples:
            response:
              value:
                message: Department deleted
      summary: Delete a department associated with a specific store by providing a Store ID and Department ID.
      operationId: Delete Department for a Store
      description: |-
        This endpoint will delete a department for store.

      tags:
        - Departments
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: departmentId
          in: path
          description: The unique identifier of the departmnet in the URL path.
          required: true
          type: number
          
      security:
        - basic: []
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              store_id:
                type: number
              department_name:
                type: string
              department_description:
                type: string
              id:
                type: number
              client_id:
                type: integer
                description: "can be null"
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
            example:
              store_id: 11
              department_name: new department name
              department_description: new department description
              id: 200
              client_id: null
              created_at: 2024-08-13T13:59:50.386Z
              updated_at: 2024-08-13T14:00:00.962Z
              soft_delete: false
          examples:
            response:
              value:
                store_id: 11
                department_name: new department name
                department_description: new department description
                id: 200
                client_id: null
                created_at: 2024-08-13T13:59:50.386Z
                updated_at: 2024-08-13T14:00:00.962Z
                soft_delete: false
      summary: Update a department associated with a specific store by providing a Store ID and Department ID.
      operationId: Update Department for a Store
      description: |-
        This endpoint will update a department for store.

      tags:
        - Departments
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: departmentId
          in: path
          description: The unique identifier of the departmnet in the URL path.
          required: true
          type: number
        - in: body
          name: request
          description: Department updation payload
          required: true
          schema:
            $ref: '#/definitions/DepartmentCreateRequest'
            
      security:
        - basic: []
  "/api/v3/stores/{storeId}/experiences":
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              sku:
                type: string
              title:
                type: string
              campaign_id:
                type: number
              amount:
                type: string
              currency:
                type: string
              monetary_campaign_id:
                type: integer
                description: "can be null"
              store_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
            example:
              id: 214
              sku: new_experience
              title: new experience
              campaign_id: 61
              amount: "12.0"
              currency: USD
              monetary_campaign_id: null
              store_id: 11
              created_at: 2024-08-14T09:55:55.716Z
              updated_at: 2024-08-14T09:55:55.716Z
              soft_delete: false
          examples:
            response:
              value:
                id: 214
                sku: new_experience
                title: new experience
                campaign_id: 61
                amount: "12.0"
                currency: USD
                monetary_campaign_id: null
                store_id: 11
                created_at: 2024-08-14T09:55:55.716Z
                updated_at: 2024-08-14T09:55:55.716Z
                soft_delete: false
      summary: Create Experience for a specific Store by providing Store ID.
      operationId: Create Experience for a Store
      description: |-
        This endpoint can be used to create experiences for a store.

      tags:
        - Experiences
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
        - in: body
          name: request
          description: Experiences creation/updation payload
          required: true
          schema:
            $ref: '#/definitions/ExperiencesCreateRequest'
      security:
        - basic: []
    get:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                id:
                  type: number
                sku:
                  type: string
                title:
                  type: string
                campaign_id:
                  type: number
                amount:
                  type: string
                currency:
                  type: string
                monetary_campaign_id:
                  type: integer
                  description: "can be null"
                store_id:
                  type: number
                created_at:
                  type: string
                updated_at:
                  type: string
                soft_delete:
                  type: boolean
            example:
              - id: 214
                sku: new_experience
                title: new experience
                campaign_id: 61
                amount: "12.0"
                currency: USD
                monetary_campaign_id: null
                store_id: 11
                created_at: 2024-08-14T09:55:55.716Z
                updated_at: 2024-08-14T09:55:55.716Z
                soft_delete: false
          examples:
            response:
              value:
                - id: 214
                  sku: new_experience
                  title: new experience
                  campaign_id: 61
                  amount: "12.0"
                  currency: USD
                  monetary_campaign_id: null
                  store_id: 11
                  created_at: 2024-08-14T09:55:55.716Z
                  updated_at: 2024-08-14T09:55:55.716Z
                  soft_delete: false
      summary: Retrieve a list of experiences associated with specific store by providing a Store ID.
      operationId: List Experiences for a Store
      description: |-
        This endpoint can be used to list experiences for a store.

      tags:
        - Experiences
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: page
          in: query
          description: Page number.
          required: false
          type: number
          
        - name: per_page
          in: query
          description: Per page count.
          required: false
          type: number
          
      security:
        - basic: []
  "/api/v3/stores/{storeId}/experiences/{experienceID}":
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              sku:
                type: string
              title:
                type: string
              campaign_id:
                type: number
              amount:
                type: string
              currency:
                type: string
              monetary_campaign_id:
                type: integer
                description: "can be null"
              store_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
            example:
              id: 214
              sku: new_experience
              title: new experience
              campaign_id: 61
              amount: "12.0"
              currency: USD
              monetary_campaign_id: null
              store_id: 11
              created_at: 2024-08-14T09:55:55.716Z
              updated_at: 2024-08-14T09:55:55.716Z
              soft_delete: false
          examples:
            response:
              value:
                id: 214
                sku: new_experience
                title: new experience
                campaign_id: 61
                amount: "12.0"
                currency: USD
                monetary_campaign_id: null
                store_id: 11
                created_at: 2024-08-14T09:55:55.716Z
                updated_at: 2024-08-14T09:55:55.716Z
                soft_delete: false
      summary: Retrieve a specific Experience associated with a Store by providind Store ID and Experience ID.
      operationId: Show Experience for a Store
      description: |-
        This endpoint will get a experience for store.

      tags:
        - Experiences
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: experienceID
          in: path
          description: The unique identifier of the departmnet in the URL path.
          required: true
          type: number
          
      security:
        - basic: []
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              store_id:
                type: number
              sku:
                type: string
              title:
                type: string
              campaign_id:
                type: number
              amount:
                type: string
              currency:
                type: string
              id:
                type: number
              monetary_campaign_id:
                type: integer
                description: "can be null"
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
            example:
              store_id: 11
              sku: new_experience
              title: "new experience "
              campaign_id: 61
              amount: "12.0"
              currency: USD
              id: 215
              monetary_campaign_id: null
              created_at: 2024-08-14T17:17:51.428Z
              updated_at: 2024-08-14T17:19:24.106Z
              soft_delete: false
          examples:
            response:
              value:
                store_id: 11
                sku: new_experience
                title: "new experience "
                campaign_id: 61
                amount: "12.0"
                currency: USD
                id: 215
                monetary_campaign_id: null
                created_at: 2024-08-14T17:17:51.428Z
                updated_at: 2024-08-14T17:19:24.106Z
                soft_delete: false
      summary: Update a specific Experience associated with a Store by providind Store ID and Experience ID.
      operationId: Update Experience for a Store
      description: |-
        This endpoint can be used to update experiences for a store.

      tags:
        - Experiences
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: experienceID
          in: path
          description: The unique identifier of the experience in the URL path.
          required: true
          type: number
          
        - in: body
          name: request
          description: Experiences updation payload.
          required: true
          schema:
            $ref: '#/definitions/ExperiencesCreateRequest'
            
      security:
        - basic: []
    delete:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Experience deleted
          examples:
            response:
              value:
                message: Experience deleted
      summary: Delete a specific Experience associated with a Store by providind Store ID and Experience ID.
      operationId: Delete Experience for a Store
      description: |-
        This endpoint will delete an experience for store.

      tags:
        - Experiences
      parameters:
        - name: storeId
          in: path
          description: The unique identifier of the store in the URL path.
          required: true
          type: number
          
        - name: experienceID
          in: path
          description: The unique identifier of the experience in the URL path.
          required: true
          type: number
          
      security:
        - basic: []
  /api/v3/transaction_reasons:
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              transaction_reasons:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                    transaction_reason:
                      type: string
                    transaction_type:
                      type: string
                    client_id:
                      type: number
                    created_at:
                      type: string
                    updated_at:
                      type: string
                    soft_delete:
                      type: boolean
                    store_id:
                      type: integer
                      description: "can be null"
                  required:
                    - id
                    - transaction_reason
                    - transaction_type
                    - client_id
                    - created_at
                    - updated_at
                    - soft_delete
                    - store_id
              total_count:
                type: number
            example:
              transaction_reasons:
                - id: 124
                  transaction_reason: Cancel
                  transaction_type: debit
                  client_id: 1
                  created_at: 2023-03-24T07:34:57.738Z
                  updated_at: 2023-03-24T07:34:57.738Z
                  soft_delete: false
                  store_id: null
                - id: 111
                  transaction_reason: tesitng234245234
                  transaction_type: credit
                  client_id: 1
                  created_at: 2023-03-13T20:04:51.212Z
                  updated_at: 2023-03-13T20:04:51.212Z
                  soft_delete: false
                  store_id: null
                - id: 107
                  transaction_reason: testing321123
                  transaction_type: debit
                  client_id: 1
                  created_at: 2023-03-03T12:07:39.506Z
                  updated_at: 2023-03-03T12:07:39.506Z
                  soft_delete: false
                  store_id: null
                - id: 104
                  transaction_reason: testing98088567432145678
                  transaction_type: debit
                  client_id: 1
                  created_at: 2023-02-23T22:24:32.056Z
                  updated_at: 2023-02-23T22:24:32.056Z
                  soft_delete: false
                  store_id: null
                - id: 103
                  transaction_reason: testingLabel
                  transaction_type: debit
                  client_id: 1
                  created_at: 2023-02-23T19:45:09.341Z
                  updated_at: 2023-02-23T19:45:09.341Z
                  soft_delete: false
                  store_id: 98
              total_count: 68
          examples:
            response:
              value:
                transaction_reasons:
                  - id: 124
                    transaction_reason: Cancel
                    transaction_type: debit
                    client_id: 1
                    created_at: 2023-03-24T07:34:57.738Z
                    updated_at: 2023-03-24T07:34:57.738Z
                    soft_delete: false
                    store_id: null
                  - id: 111
                    transaction_reason: tesitng234245234
                    transaction_type: credit
                    client_id: 1
                    created_at: 2023-03-13T20:04:51.212Z
                    updated_at: 2023-03-13T20:04:51.212Z
                    soft_delete: false
                    store_id: null
                  - id: 107
                    transaction_reason: testing321123
                    transaction_type: debit
                    client_id: 1
                    created_at: 2023-03-03T12:07:39.506Z
                    updated_at: 2023-03-03T12:07:39.506Z
                    soft_delete: false
                    store_id: null
                  - id: 104
                    transaction_reason: testing98088567432145678
                    transaction_type: debit
                    client_id: 1
                    created_at: 2023-02-23T22:24:32.056Z
                    updated_at: 2023-02-23T22:24:32.056Z
                    soft_delete: false
                    store_id: null
                  - id: 103
                    transaction_reason: testingLabel
                    transaction_type: debit
                    client_id: 1
                    created_at: 2023-02-23T19:45:09.341Z
                    updated_at: 2023-02-23T19:45:09.341Z
                    soft_delete: false
                    store_id: 98
                total_count: 68
      summary: Retrieve a list of all Transaction reasons associated with signed in User.
      operationId: List All Transaction Reason Of User
      description: >-
        To send the request for List down all the transaction reason of User you need authorization token of client api to verify that request from the authenticate resource this authorization token will be received in the header of the request. Following are the required params which you have to send.

      tags:
        - Transaction Reason
      parameters:
        - name: page
          in: query
          description: "Example : 1"
          required: false
          type: string
          
        - name: per_page
          in: query
          description: "Example : 25"
          required: false
          type: string
          
        - name: q
          in: query
          required: false
          type: string
          description: >
            JSON-encoded filter object.
            Example: `{"transaction_reason_cont":"test","transaction_type_eq":"2"}`
      security:
        - basic: []
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              transaction_reason:
                type: string
              transaction_type:
                type: string
              client_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
              store_id:
                type: object
                properties: {}
            example:
              id: 232
              transaction_reason: Cash Back
              transaction_type: credit
              client_id: 1
              created_at: 2023-04-27T08:30:27.504Z
              updated_at: 2023-04-27T08:30:27.504Z
              soft_delete: false
              store_id: {}
          examples:
            response:
              value:
                id: 232
                transaction_reason: Cash Back
                transaction_type: credit
                client_id: 1
                created_at: 2023-04-27T08:30:27.504Z
                updated_at: 2023-04-27T08:30:27.504Z
                soft_delete: false
                store_id: {}
      summary: Create a new Transaction Reason.
      operationId: Create Transaction Reason
      description: >-
        This API can be used to create a new transaction reason.

          The transaction type in request payload must be credit/debit and transaction reason represent the transaction reason name.

      tags:
        - Transaction Reason
      parameters:
        - in: body
          name: request
          description: Transaction reason creation payload.
          required: true
          schema:
            $ref: '#/definitions/TransactionReasonCreateRequest'
      security:
        - basic: []
  "/api/v3/transaction_reasons/{transaction_reason_id}":
    get:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              transaction_reason:
                type: string
              transaction_type:
                type: string
              client_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              soft_delete:
                type: boolean
              store_id:
                type: object
                properties: {}
            example:
              id: 231
              transaction_reason: AddOn
              transaction_type: credit
              client_id: 1
              created_at: 2023-04-27T08:28:13.091Z
              updated_at: 2023-04-27T08:28:13.091Z
              soft_delete: false
              store_id: {}
          examples:
            response:
              value:
                id: 231
                transaction_reason: AddOn
                transaction_type: credit
                client_id: 1
                created_at: 2023-04-27T08:28:13.091Z
                updated_at: 2023-04-27T08:28:13.091Z
                soft_delete: false
                store_id: {}
      summary: Retrieve a specific Transaction Reason by providing a Transaction Reason ID.
      operationId: Show Transaction Reason
      description: >-
        This API can be used to retrieve information about a specific transaction reason.

      tags:
        - Transaction Reason
      parameters:
        - name: transaction_reason_id
          in: path
          description: Unique id of a transaction reason.
          required: true
          type: number
          
      security:
        - basic: []
    put:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              client_id:
                type: number
              code:
                type: string
              id:
                type: number
              name:
                type: string
              url:
                type: string
              created_at:
                type: string
              updated_at:
                type: string
            example:
              client_id: 1
              code: ahsan-ali
              id: 8
              name: Ahsan Ali
              url: ""
              created_at: 2023-01-03T09:13:36.246Z
              updated_at: 2023-01-03T10:40:05.915Z
          examples:
            response:
              value:
                client_id: 1
                code: ahsan-ali
                id: 8
                name: Ahsan Ali
                url: ""
                created_at: 2023-01-03T09:13:36.246Z
                updated_at: 2023-01-03T10:40:05.915Z
      summary: Update a specific Transaction Reason by providing a Transaction Reason ID.
      operationId: Updated Transaction Reason
      description: >-
        This API can be used to update a specific transaction reason.

      tags:
        - Transaction Reason
      parameters:
        - name: transaction_reason_id
          in: path
          description: Unique id of a transaction reason.
          required: true
          type: number
          
        - in: body
          name: request
          description: Experiences updation payload.
          required: true
          schema:
            $ref: '#/definitions/TransactionReasonCreateRequest'
      security:
        - basic: []
    delete:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Transaction Reason deleted
          examples:
            response:
              value:
                message: Transaction Reason deleted
      summary: Delete a specific Transaction Reason by providing a Transaction Reason ID.
      operationId: Delete Transaction Reason
      description: >-
        To delete the respective record, you will have to send the DELETE request to gift card server and it will delete the respective record from the database.

      tags:
        - Transaction Reason
      parameters:
        - name: transaction_reason_id
          in: path
          description: Unique id of a transaction reason.
          required: true
          type: number
      security:
        - basic: []
  /api/v3/users/find_operator:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                id:
                  type: number
                operator_name:
                  type: string
                pin:
                  type: string
                user_id:
                  type: number
                created_at:
                  type: string
                updated_at:
                  type: string
                soft_delete:
                  type: boolean
            example:
              - id: 32
                operator_name: op 1 (25967)
                pin: "25967"
                user_id: 60
                created_at: 2023-02-27T09:18:56.905Z
                updated_at: 2023-07-13T07:24:37.943Z
                soft_delete: false
          examples:
            response:
              value:
                - id: 32
                  operator_name: op 1 (25967)
                  pin: "25967"
                  user_id: 60
                  created_at: 2023-02-27T09:18:56.905Z
                  updated_at: 2023-07-13T07:24:37.943Z
                  soft_delete: false
      summary: Retrieve a specific Operator.
      operationId: Find operator
      description: |-
        This endpoint can be used to find operator.

      tags:
        - Users
      parameters:
        - in: body
          name: request
          description: Find Operator payload
          required: true
          schema:
            $ref: '#/definitions/FindOperatorRequest'
      security:
        - basic: []
  /api/v3/users/profile:
    post:
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              id:
                type: number
              email:
                type: string
              name:
                type: string
              store_id:
                type: integer
                description: "can be null"
              client_id:
                type: number
              created_at:
                type: string
              updated_at:
                type: string
              payment_methods:
                type: object
                properties:
                  pos:
                    type: boolean
                  cash:
                    type: boolean
                  credit_card:
                    type: boolean
              department_id:
                type: number
              is_operator_enabled:
                type: boolean
              is_top_up_show:
                type: boolean
              menu_access:
                type: object
                properties:
                  top_up:
                    type: boolean
                  activation:
                    type: boolean
                  other_transaction:
                    type: boolean
              first_name:
                type: string
                description: "can be null"
              last_name:
                type: string
                description: "can be null"
              phone_number:
                type: string
                description: "can be null"
              cell_number:
                type: string
                description: "can be null"
              terms_and_conditions:
                type: boolean
              enable_promotions:
                type: boolean
              title:
                type: string
                description: "can be null"
              soft_delete:
                type: boolean
              store_filter_id:
                type: number
              provider:
                type: string
              uid:
                type: string
              tokens:
                type: string
                description: "can be null"
              enable_request_id:
                type: boolean
              operators:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: number
                    operator_name:
                      type: string
                    pin:
                      type: string
                    user_id:
                      type: number
                    created_at:
                      type: string
                    updated_at:
                      type: string
                    soft_delete:
                      type: boolean
              store:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  code:
                    type: string
                  url:
                    type: string
                  client_id:
                    type: number
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  fx_fees:
                    type: number
                  fx_label:
                    type: string
                  fx_enable:
                    type: boolean
                  monetary_campaign_id:
                    type: number
                  store_front_link:
                    type: string
                  soft_delete:
                    type: boolean
                  activation_payment_link:
                    type: string
                  top_up_payment_link:
                    type: string
                  max_value:
                    type: number
                  min_value:
                    type: number
                  gift_card_values:
                    type: string
                  experiences:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                        sku:
                          type: string
                        title:
                          type: string
                        campaign_id:
                          type: number
                        amount:
                          type: string
                        currency:
                          type: string
                        monetary_campaign_id:
                          type: integer
                          description: "can be null"
                        store_id:
                          type: number
                        created_at:
                          type: string
                        updated_at:
                          type: string
                        soft_delete:
                          type: boolean
            example:
              id: 60
              email: mehrufd2.0@gmail.com
              name: mehruFD
              store_id: null
              client_id: 3
              created_at: 2023-02-27T08:28:44.272Z
              updated_at: 2024-08-14T19:13:40.652Z
              payment_methods:
                pos: true
                cash: true
                credit_card: true
              department_id: 52
              is_operator_enabled: true
              is_top_up_show: true
              menu_access:
                top_up: true
                activation: true
                other_transaction: false
              first_name: null
              last_name: null
              phone_number: null
              cell_number: null
              terms_and_conditions: false
              enable_promotions: false
              title: null
              soft_delete: false
              store_filter_id: 11
              provider: email
              uid: 60440f4d516a2d74a538e79289c335
              tokens: null
              enable_request_id: false
              operators:
                - id: 32
                  operator_name: op 1 (25967)
                  pin: "25967"
                  user_id: 60
                  created_at: 2023-02-27T09:18:56.905Z
                  updated_at: 2023-07-13T07:24:37.943Z
                  soft_delete: false
              store:
                id: 11
                name: dev-store-1
                code: dev-1
                url: ""
                client_id: 3
                created_at: 2023-01-27T09:19:35.641Z
                updated_at: 2024-06-21T07:22:08.578Z
                fx_fees: 4
                fx_label: mehru
                fx_enable: true
                monetary_campaign_id: 61
                store_front_link: https://testing-admin.techsembly.com
                soft_delete: false
                activation_payment_link: http://localhost:3000/card_activation?sku=005672
                top_up_payment_link: http://localhost:3000/card_topup?sku=005672
                max_value: 100
                min_value: 10
                gift_card_values: 5,10,15,20, 19.11111
                experiences:
                  - id: 1
                    sku: die
                    title: sky dive
                    campaign_id: 61
                    amount: "1600.0"
                    currency: AED
                    monetary_campaign_id: null
                    store_id: 11
                    created_at: 2023-02-27T08:52:55.355Z
                    updated_at: 2023-02-27T08:52:55.355Z
                    soft_delete: false
          examples:
            response:
              value:
                id: 60
                email: mehrufd2.0@gmail.com
                name: mehruFD
                store_id: null
                client_id: 3
                created_at: 2023-02-27T08:28:44.272Z
                updated_at: 2024-08-14T19:13:40.652Z
                payment_methods:
                  pos: true
                  cash: true
                  credit_card: true
                department_id: 52
                is_operator_enabled: true
                is_top_up_show: true
                menu_access:
                  top_up: true
                  activation: true
                  other_transaction: false
                first_name: null
                last_name: null
                phone_number: null
                cell_number: null
                terms_and_conditions: false
                enable_promotions: false
                title: null
                soft_delete: false
                store_filter_id: 11
                provider: email
                uid: 60440f4d516a2d74a538e79289c335
                tokens: null
                enable_request_id: false
                operators:
                  - id: 32
                    operator_name: op 1 (25967)
                    pin: "25967"
                    user_id: 60
                    created_at: 2023-02-27T09:18:56.905Z
                    updated_at: 2023-07-13T07:24:37.943Z
                    soft_delete: false
                store:
                  id: 11
                  name: dev-store-1
                  code: dev-1
                  url: ""
                  client_id: 3
                  created_at: 2023-01-27T09:19:35.641Z
                  updated_at: 2024-06-21T07:22:08.578Z
                  fx_fees: 4
                  fx_label: mehru
                  fx_enable: true
                  monetary_campaign_id: 61
                  store_front_link: https://testing-admin.techsembly.com
                  soft_delete: false
                  activation_payment_link: http://localhost:3000/card_activation?sku=005672
                  top_up_payment_link: http://localhost:3000/card_topup?sku=005672
                  max_value: 100
                  min_value: 10
                  gift_card_values: 5,10,15,20, 19.11111
                  experiences:
                    - id: 1
                      sku: die
                      title: sky dive
                      campaign_id: 61
                      amount: "1600.0"
                      currency: AED
                      monetary_campaign_id: null
                      store_id: 11
                      created_at: 2023-02-27T08:52:55.355Z
                      updated_at: 2023-02-27T08:52:55.355Z
                      soft_delete: false
      summary: Retrieve User Profile.
      operationId: Get User Profile
      description: >-
        This endpoint can be used to get user profile.

      tags:
        - Users
      parameters:
        - in: body
          name: request
          description: Retrieve User profile payload
          required: true
          schema:
            $ref: '#/definitions/UserProfileRequest'
      security:
        - basic: []
tags:
  - name: Clients
    description: Clients management.
  - name: Gift Cards
    description: Gift Cards management.
  - name: Operators
    description: Delete a specific Operator.
  - name: Transaction Reason
    description: CRUD operations for Transaction Reason.
  - name: Users
    description: Retrieve User profile and Operator.
  - name: Experiences
    description: Experiences CRUD operations for a specific store.
  - name: Departments
    description: Departments CRUD operations for a specific store.  
schemes:
  - https
host: tsgifts-staging.techsembly.com
securityDefinitions:
  basic:
    type: basic
definitions:
  UserProfileRequest:
    type: object
    required:
      - email
    properties:
      email:
        type: string
        description: "User email"
        example: "mehrufd2.0@gmail.com"
  FindOperatorRequest:
    type: object
    required:
      - operator_name
      - pin
      - email
    properties:
      operator_name:
        type: string
        description: Name of operator
        example: "op 1 (25967)"
      pin:
        type: string
        description: Operator pin
        example: "25967"
      email:
        type: string
        description: operator user email
        example: "mehrufd2.0@gmail.com"
  TransactionReasonCreateRequest:
    type: object
    required:
      - transaction_reason
    properties:
      transaction_reason:
        type: object
        required:
          - transaction_reason
          - transaction_type
        properties:
          transaction_reason:
            type: string
            description: Name of the transaction reason
            example: "Cash Back"
          transaction_type:
            type: string
            description: Type of the transaction (credit or debit)
            enum:
              - credit
              - debit
            example: "credit"
  ExperiencesCreateRequest:
    type: object
    required:
      - experience
    properties:
      experience:
        type: object
        required:
          - sku
          - title
          - currency
          - amount
          - campaign_id
        properties:
          sku:
            type: string
            description: Unique identifier for the experience
            example: "new_experience"
          title:
            type: string
            description: Display name of the experience
            example: "new experience"
          currency:
            type: string
            description: ISO currency code
            example: "USD"
          amount:
            type: number
            format: float
            description: Price of the experience
            example: 12
          campaign_id:
            type: string
            description: Associated campaign identifier
            example: "61"
  DepartmentCreateRequest:
    type: object
    required:
      - department
    properties:
      department:
        type: object
        required:
          - department_name
          - department_description
        properties:
          department_name:
            type: string
            description: Name of the department
            example: "department"
          department_description:
            type: string
            description: Description of the department
            example: "temp department"
  GiftCardRedeemRequest:
    type: object
    required:
      - type
      - number
      - pin
      - store_id
      - sku
      - transaction_reason
      - currency
      - creator_attributes
      - operator
    properties:
      type:
        type: string
        description: Type of gift card transaction
        example: "experiences"
      number:
        type: string
        description: Gift card number
        example: "791400114701023414"
      pin:
        type: string
        description: Gift card PIN
        example: "69337"
      amount:
        type: string
        description: Amount to redeem
        example: ""
      store_id:
        type: integer
        description: Store ID
        example: 11
      sku:
        type: string
        description: SKU of the product/service
        example: "swim"
      transaction_reason:
        type: string
        description: Reason for redemption
        example: "Redeem"
      external_invoice_id:
        type: string
        description: External invoice ID for reference
        example: ""
      notes:
        type: string
        description: Additional notes for redemption
        example: "redeeming experience"
      currency:
        type: string
        description: Currency code
        example: "AED"
      creator_attributes:
        type: object
        required:
          - creator_email
          - creator_role
        properties:
          creator_email:
            type: string
            format: email
            example: "user@email.com"
          creator_role:
            type: string
            example: "front_desk"
      operator:
        type: object
        required:
          - operator_name
          - operator_pin
          - id
        properties:
          operator_name:
            type: string
            description: Operator’s display name
            example: "op 1 (25967)"
          operator_pin:
            type: string
            description: Operator’s PIN
            example: "25967"
          id:
            type: integer
            description: Operator ID
            example: 32
  SendEmailRequest:
    type: object
    required:
      - trasanction_id
      - recipient_emails
    properties:
      trasanction_id:
        type: integer
        example: 30334
      recipient_emails:
        type: string
        example: "user@email.com"  
  FindActivationGiftCard:
    type: object
    required:
      - number
    properties:
      number:
        type: string
        description: Gift Card number
        example: "488809720401023411"
  FindGiftCardRequest:
    type: object
    required:
      - number
      - check_status
    properties:
      number:
        type: string
        description: Gift Card number
        example: "420646903701023412"
      check_status:
        type: boolean
        example: true
  GiftCardActivationRequest:
    type: object
    required:
      - store_name
      - number
      - store_id
      - amount
      - currency
      - ts_payment_method
      - sku
      - gift_card
      - credential
      - creator_attributes
    properties:
      store_name:
        type: string
        description: Name of the store
        example: "hong kong"
      number:
        type: string
        description: Gift card number
        example: "663455564601023410"
      store_id:
        type: integer
        description: Store ID
        example: 11
      amount:
        type: string
        description: Activation amount
        example: "20.00"
      currency:
        type: string
        description: Currency code
        example: "USD"
      ts_payment_method:
        type: string
        description: Payment method used for activation
        example: "cash"
      sku:
        type: string
        description: SKU associated with the gift card
        example: "nil"
      gift_card:
        type: object
        required:
          - campaign_id
          - card_type
          - currency
          - delivery_status
          - gift_card_number
          - pin
          - notes
          - product_name
          - select_payment_methods
          - value
          - creator_attributes
          - operator_id
          - order_number
          - status
          - invoice_id
          - store_name
        properties:
          campaign_id:
            type: integer
            example: 61
          card_type:
            type: string
            example: "monetary"
          currency:
            type: string
            example: "USD"
          delivery_status:
            type: string
            example: "pickUp"
          gift_card_number:
            type: string
            example: "663455564601023410"
          pin:
            type: string
            example: "15786"
          notes:
            type: string
            example: "dev activating"
          product_name:
            type: string
            example: "Gift Card"
          select_payment_methods:
            type: string
            example: "cash"
          skus:
            type: array
            items:
              type: string
            example: []
          value:
            type: string
            example: "20.00"
          creator_attributes:
            type: object
            required:
              - creator_email
              - creator_role
            properties:
              creator_email:
                type: string
                format: email
                example: "user@email.com"
              creator_role:
                type: string
                example: "front_desk"
          operator_id:
            type: integer
            example: 32
          order_number:
            type: string
            example: "R548180153"
          status:
            type: string
            example: "active"
          invoice_id:
            type: string
            example: "1231234"
          store_name:
            type: string
            example: "hong kong"
      credential:
        type: object
        required:
          - ts_email
          - ts_password
        properties:
          ts_email:
            type: string
            format: email
            example: "mehrufd2.0@gmail.com"
          ts_password:
            type: string
            description: Base64 encoded password
            example: "bWVocnVmZDIuMEBnbWFpbC5jb20="
      creator_attributes:
        type: object
        required:
          - creator_email
          - creator_role
        properties:
          creator_email:
            type: string
            format: email
            example: "user@email.com"
          creator_role:
            type: string
            example: "front_desk"
  GiftCardRefundRequest:
    type: object
    required:
      - transaction_id
      - notes
      - amount
      - creator_email
      - creator_role
    properties:
      transaction_id:
        type: integer
        description: ID of the original gift card transaction
        example: 30325
      notes:
        type: string
        description: Notes or reason for the refund
        example: "refunding"
      amount:
        type: string
        description: Refund amount
        example: "2"
      creator_email:
        type: string
        format: email
        description: Email of the user initiating the refund
        example: "navisi9055@secbuf.com"
      creator_role:
        type: string
        description: Role of the user initiating the refund
        example: "client"
  UpdateGiftCardRequest:
    type: object
    required:
      - gift_card
    properties:
      gift_card:
        type: object
        description: All fields are optional — include only the ones you want to update.
        properties:
          status:
            type: string
            description: New status of the gift card (e.g. active, blocked, canceled, lost).
            example: "blocked"
          expiry_date:
            type: string
            format: date-time
            description: New expiry date for the gift card
            example: "2027-12-31T23:59:59.000Z"
          start_date:
            type: string
            format: date
            description: New start date for the gift card
            example: "2026-01-01"
          end_date:
            type: string
            format: date-time
            description: New end date for the gift card
            example: "2027-12-31T23:59:59.000Z"
          delivery_status:
            type: string
            description: New delivery status (pending, printing, transit, delivered, pickUp).
            example: "delivered"  
          transitions_attributes:
            type: array
            description: List of transitions for the gift card (required when updating status).
            items:
              type: object
              required:
                - transition_state_name
                - notes
                - pervious_state
                - current_state
                - creator_attributes
              properties:
                transition_state_name:
                  type: string
                  description: Name of the transition state
                  example: "status"
                notes:
                  type: string
                  description: Notes for the transition
                  example: "dsa"
                pervious_state:
                  type: string
                  description: Previous state of the gift card
                  example: "active"
                current_state:
                  type: string
                  description: Current state of the gift card
                  example: "blocked"
                creator_attributes:
                  type: object
                  required:
                    - creator_email
                    - creator_role
                  properties:
                    creator_email:
                      type: string
                      format: email
                      description: Email of the user who made the change
                      example: "dev@client.com"
                    creator_role:
                      type: string
                      description: Role of the creator
                      example: "client"
  UpdateGiftCardStatusRequest:
    type: object
    required:
      - number
      - pin
      - status
      - store_id
      - transitions_attributes
    properties:
      number:
        type: string
        description: Gift card number
        example: "456038848301023363"
      pin:
        type: string
        description: Gift card PIN
        example: "52169"
      status:
        type: string
        description: New status of the gift card
        example: "blocked"
      store_id:
        type: integer
        description: Store ID where the gift card belongs
        example: 11
      transitions_attributes:
        type: array
        items:
          type: object
          required:
            - transition_state_name
            - notes
            - pervious_state
            - current_state
            - creator_attributes
          properties:
            transition_state_name:
              type: string
              description: Name of the state being changed
              example: "status"
            notes:
              type: string
              description: Reason or notes for the transition
              example: "blocked from frontdesk"
            pervious_state:
              type: string
              description: Previous state of the gift card
              example: "active"
            current_state:
              type: string
              description: New state of the gift card
              example: "blocked"
            creator_attributes:
              type: object
              required:
                - creator_email
                - creator_role
              properties:
                creator_email:
                  type: string
                  format: email
                  example: "client@google.com"
                creator_role:
                  type: string
                  example: "client"
  BulkGiftCardActivationRequest:
    type: object
    required:
      - bulk_activation_params
    properties:
      bulk_activation_params:
        type: array
        items:
          type: object
          required:
            - gift_card
            - store_id
          properties:
            gift_card:
              type: object
              required:
                - campaign_id
                - card_type
                - creator_attributes
                - currency
                - delivery_status
                - gift_card_number
                - invoice_id
                - product_name
                - recipient_first_name
                - recipient_last_name
                - shipping_address_attributes
                - skus
                - status
                - store_id
                - value
              properties:
                campaign_id:
                  type: string
                  example: "61"
                card_type:
                  type: string
                  example: "monetary"
                creator_attributes:
                  type: object
                  required:
                    - creator_email
                    - creator_role
                  properties:
                    creator_email:
                      type: string
                      example: ""
                    creator_role:
                      type: string
                      example: ""
                currency:
                  type: string
                  example: "USD"
                delivery_status:
                  type: string
                  example: "pickUp"
                gift_card_number:
                  type: string
                  example: "456038848301023363"
                invoice_id:
                  type: integer
                  example: 8
                notes:
                  type: string
                  example: "hello"
                order_number:
                  type: string
                  example: "order#1"
                product_name:
                  type: string
                  example: "CARD"
                recipient_first_name:
                  type: string
                  example: "FN"
                recipient_last_name:
                  type: string
                  example: "LN"
                shipping_address_attributes:
                  type: object
                  required:
                    - address1
                    - address2
                  properties:
                    address1:
                      type: string
                      example: "address1"
                    address2:
                      type: string
                      example: "address2"
                    city:
                      type: string
                      example: ""
                    country:
                      type: string
                      example: ""
                    firstName:
                      type: string
                      example: ""
                    lastName:
                      type: string
                      example: ""
                    state:
                      type: string
                      example: ""
                    state_name:
                      type: string
                      example: ""
                    zipcode:
                      type: string
                      example: ""
                skus:
                  type: array
                  items:
                    type: string
                  example: []
                status:
                  type: string
                  example: "active"
                store_id:
                  type: string
                  example: "11"
                value:
                  type: number
                  example: 55.5
            store_id:
              type: string
              example: "11"
  GiftCardCheckBalance:
    type: object
    required:
      - number
      - pin
    properties:
      number:
        type: string
        example: "791400114701023414"
      pin:
        type: string
        example: "69337"
  CreateMonetaryGiftCardRequest:
    type: object
    required:
      - card_type
      - value
      - currency
      - delivery_mode
      - campaign_code
      - from_address
      - invoice_id
      - product_name
      - recipient_email
      - recipient_first_name
      - recipient_last_name
      - send_gift_card_via
      - store_id
      - creator_attributes
      - request_id
    properties:
      card_type:
        type: string
        description: Type of gift card
        example: "monetary"
      value:
        type: string
        description: Value of the gift card
        example: "1000"
      currency:
        type: string
        description: Currency code
        example: "USD"
      delivery_mode:
        type: string
        description: Mode of delivery
        example: "digital"
      campaign_code:
        type: string
        description: Associated campaign code
        example: "dev-1"
      from_address:
        type: string
        format: email
        description: Sender email
        example: "wyfosykyp@mailinator.com"
      invoice_id:
        type: string
        description: Invoice ID
        example: "sk-123"
      notes:
        type: string
        description: Optional notes
        example: "werwe"
      product_name:
        type: string
        description: Name of the product
        example: "testing"
      receipient_phone_number:
        type: string
        description: Recipient phone number
        example: ""
      recipient_email:
        type: string
        format: email
        description: Recipient email
        example: "wyfosykyp@mailinator.com"
      recipient_first_name:
        type: string
        description: Recipient first name
        example: "Darrel"
      recipient_last_name:
        type: string
        description: Recipient last name
        example: "Wiggins"
      send_gift_card_via:
        type: string
        description: Method to send gift card
        example: "email"
      skus:
        type: array
        items:
          type: string
        description: Optional SKUs for the gift card
        example: []
      message:
        type: string
        description: Optional message to recipient
        example: ""
      store_id:
        type: string
        description: Store ID where the gift card is created
        example: "11"
      creator_attributes:
        type: object
        required:
          - creator_email
          - creator_role
        properties:
          creator_email:
            type: string
            format: email
            example: "dev@tsclient.com"
          creator_role:
            type: string
            example: "1234"
      request_id:
        type: string
        description: Unique request ID
        example: "1234"
      valid_from:
        type: string
        format: date-time
        description: "valid from date for the gift card"
        example: "2024-08-18"
      expiry_date:
        type: string
        format: date-time
        description: "expiry date for the gift card"
        example: "2024-08-18"
      one_time:
        type: boolean
        description: "Boolean representing if a card is one time used."
        example: false
      email_opt_in:
        type: boolean
        description: "Boolean representing if email send to recipient or not."
        example: false
  SendSmsRequest:
    type: object
    required:
      - to_number
      - payment_link
    properties:
      to_number:
        type: string
        example: "+923005322600"

      payment_link:
        type: string
        example: "payment_link"
  ClientSettingsRequest:
    type: object
    required:
      - client
      - user
    properties:
      client:
        type: object
        required:
          - cancel_transaction_reason_id
          - from_number
          - message_body
        properties:
          cancel_transaction_reason_id:
            type: string
            description: Reason ID for canceling the transaction
            example: "100"
          from_number:
            type: string
            description: Sender phone number
            example: "+15618232994"
          message_body:
            type: string
            description: Message body containing placeholders (e.g., {{link}})
            example: "payment url {{link}}"
      user:
        type: object
        required:
          - enable_request_id
        properties:
          enable_request_id:
            type: boolean
            description: Flag indicating whether request ID should be enforced
            example: false
