From c4700435b1e1dcb9103e1586c4486f2bf30e9189 Mon Sep 17 00:00:00 2001 From: Vicary A Date: Thu, 9 May 2024 19:01:45 +0800 Subject: [PATCH] fix(package/cli): refine generated schema types --- .../gnt/app/1588-infinite-fetch/gqty/index.ts | 4 +- .../app/components/CscCharactersSearch.tsx | 2 +- examples/gnt/gqty/index.ts | 4 +- examples/gnt/gqty/schema.generated.ts | 125 +- examples/gnt/package.json | 2 +- examples/react/api/graphql.ts | 2 +- .../react/src/graphql/schema.generated.ts | 112 +- examples/vite-react/package.json | 7 +- examples/vite-react/src/gqty/index.ts | 4 +- .../vite-react/src/gqty/schema.generated.ts | 20927 +++++++++++++++- package.json | 5 +- packages/cli/package.json | 16 + packages/cli/src/generate.ts | 118 +- packages/cli/test/generate.test.ts | 211 +- .../cli/test/inspectWriteGenerate.test.ts | 121 +- packages/cli/test/writeGenerate.test.ts | 28 +- pnpm-lock.yaml | 72 +- 17 files changed, 21217 insertions(+), 543 deletions(-) diff --git a/examples/gnt/app/1588-infinite-fetch/gqty/index.ts b/examples/gnt/app/1588-infinite-fetch/gqty/index.ts index 0e411ac07..05384da0a 100644 --- a/examples/gnt/app/1588-infinite-fetch/gqty/index.ts +++ b/examples/gnt/app/1588-infinite-fetch/gqty/index.ts @@ -54,8 +54,8 @@ const cache = new Cache( * allowing soft refetches in background. */ { - maxAge: 0, - staleWhileRevalidate: 5 * 60 * 1000, + maxAge: 5000, + staleWhileRevalidate: 30 * 60 * 1000, normalization: true, } ); diff --git a/examples/gnt/app/components/CscCharactersSearch.tsx b/examples/gnt/app/components/CscCharactersSearch.tsx index b75e1c724..55bf50147 100644 --- a/examples/gnt/app/components/CscCharactersSearch.tsx +++ b/examples/gnt/app/components/CscCharactersSearch.tsx @@ -2,7 +2,7 @@ import { useState, type FunctionComponent } from 'react'; import Button from '~/components/tailwindui/Button'; -import type { Character, Characters, Maybe } from '~/gqty'; +import type { Character, Maybe } from '~/gqty'; import { useQuery } from '~/gqty/react'; import Avatar from './Avatar'; import Card from './Card'; diff --git a/examples/gnt/gqty/index.ts b/examples/gnt/gqty/index.ts index c5c4bb911..25589719f 100644 --- a/examples/gnt/gqty/index.ts +++ b/examples/gnt/gqty/index.ts @@ -55,8 +55,8 @@ const cache = new Cache( * allowing soft refetches in background. */ { - maxAge: 0, - staleWhileRevalidate: 5 * 60 * 1000, + maxAge: 5000, + staleWhileRevalidate: 30 * 60 * 1000, normalization: true, } ); diff --git a/examples/gnt/gqty/schema.generated.ts b/examples/gnt/gqty/schema.generated.ts index ec868660f..bb857eb9b 100644 --- a/examples/gnt/gqty/schema.generated.ts +++ b/examples/gnt/gqty/schema.generated.ts @@ -2,6 +2,8 @@ * GQty AUTO-GENERATED CODE: PLEASE DO NOT MODIFY MANUALLY */ +import { type ScalarsEnumsHash } from 'gqty'; + export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { @@ -13,15 +15,24 @@ export type MakeOptional = Omit & { export type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; +export type MakeEmpty< + T extends { [key: string]: unknown }, + K extends keyof T +> = { [_ in K]?: never }; +export type Incremental = + | T + | { + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; /** All built-in and custom scalars, mapped to their actual values */ export interface Scalars { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; + ID: { input: string; output: string }; + String: { input: string; output: string }; + Boolean: { input: boolean; output: boolean }; + Int: { input: number; output: number }; + Float: { input: number; output: number }; /** The `Upload` scalar type represents a file upload. */ - Upload: any; + Upload: { input: any; output: any }; } export enum CacheControlScope { @@ -30,25 +41,25 @@ export enum CacheControlScope { } export interface FilterCharacter { - gender?: InputMaybe; - name?: InputMaybe; - species?: InputMaybe; - status?: InputMaybe; - type?: InputMaybe; + gender?: InputMaybe; + name?: InputMaybe; + species?: InputMaybe; + status?: InputMaybe; + type?: InputMaybe; } export interface FilterEpisode { - episode?: InputMaybe; - name?: InputMaybe; + episode?: InputMaybe; + name?: InputMaybe; } export interface FilterLocation { - dimension?: InputMaybe; - name?: InputMaybe; - type?: InputMaybe; + dimension?: InputMaybe; + name?: InputMaybe; + type?: InputMaybe; } -export const scalarsEnumsHash: import('gqty').ScalarsEnumsHash = { +export const scalarsEnumsHash: ScalarsEnumsHash = { Boolean: true, CacheControlScope: true, ID: true, @@ -154,7 +165,7 @@ export interface Character { /** * Time at which the character was created in the database. */ - created?: Maybe; + created?: Maybe; /** * Episodes in which this character appeared. */ @@ -162,16 +173,16 @@ export interface Character { /** * The gender of the character ('Female', 'Male', 'Genderless' or 'unknown'). */ - gender?: Maybe; + gender?: Maybe; /** * The id of the character. */ - id?: Maybe; + id?: Maybe; /** * Link to the character's image. * All images are 300x300px and most are medium shots or portraits since they are intended to be used as avatars. */ - image?: Maybe; + image?: Maybe; /** * The character's last known location */ @@ -179,7 +190,7 @@ export interface Character { /** * The name of the character. */ - name?: Maybe; + name?: Maybe; /** * The character's origin location */ @@ -187,15 +198,15 @@ export interface Character { /** * The species of the character. */ - species?: Maybe; + species?: Maybe; /** * The status of the character ('Alive', 'Dead' or 'unknown'). */ - status?: Maybe; + status?: Maybe; /** * The type or subspecies of the character. */ - type?: Maybe; + type?: Maybe; } export interface Characters { @@ -209,7 +220,7 @@ export interface Episode { /** * The air date of the episode. */ - air_date?: Maybe; + air_date?: Maybe; /** * List of characters who have been seen in the episode. */ @@ -217,19 +228,19 @@ export interface Episode { /** * Time at which the episode was created in the database. */ - created?: Maybe; + created?: Maybe; /** * The code of the episode. */ - episode?: Maybe; + episode?: Maybe; /** * The id of the episode. */ - id?: Maybe; + id?: Maybe; /** * The name of the episode. */ - name?: Maybe; + name?: Maybe; } export interface Episodes { @@ -243,19 +254,19 @@ export interface Info { /** * The length of the response. */ - count?: Maybe; + count?: Maybe; /** * Number of the next page (if it exists) */ - next?: Maybe; + next?: Maybe; /** * The amount of pages. */ - pages?: Maybe; + pages?: Maybe; /** * Number of the previous page (if it exists) */ - prev?: Maybe; + prev?: Maybe; } export interface Location { @@ -263,19 +274,19 @@ export interface Location { /** * Time at which the location was created in the database. */ - created?: Maybe; + created?: Maybe; /** * The dimension in which the location is located. */ - dimension?: Maybe; + dimension?: Maybe; /** * The id of the location. */ - id?: Maybe; + id?: Maybe; /** * The name of the location. */ - name?: Maybe; + name?: Maybe; /** * List of characters who have been last seen in the location. */ @@ -283,7 +294,7 @@ export interface Location { /** * The type of the location. */ - type?: Maybe; + type?: Maybe; } export interface Locations { @@ -301,53 +312,53 @@ export interface Query { /** * Get a specific character by ID */ - character: (args: { id: Scalars['ID'] }) => Maybe; + character: (args: { id: Scalars['ID']['input'] }) => Maybe; /** * Get the list of all characters */ characters: (args?: { filter?: Maybe; - page?: Maybe; + page?: Maybe; }) => Maybe; /** * Get a list of characters selected by ids */ charactersByIds: (args: { - ids: Array; + ids: Array; }) => Maybe>>; /** * Get a specific episode by ID */ - episode: (args: { id: Scalars['ID'] }) => Maybe; + episode: (args: { id: Scalars['ID']['input'] }) => Maybe; /** * Get the list of all episodes */ episodes: (args?: { filter?: Maybe; - page?: Maybe; + page?: Maybe; }) => Maybe; /** * Get a list of episodes selected by ids */ episodesByIds: (args: { - ids: Array; + ids: Array; }) => Maybe>>; /** * Get a specific locations by ID */ - location: (args: { id: Scalars['ID'] }) => Maybe; + location: (args: { id: Scalars['ID']['input'] }) => Maybe; /** * Get the list of all locations */ locations: (args?: { filter?: Maybe; - page?: Maybe; + page?: Maybe; }) => Maybe; /** * Get a list of locations selected by ids */ locationsByIds: (args: { - ids: Array; + ids: Array; }) => Maybe>>; } @@ -361,10 +372,16 @@ export interface GeneratedSchema { subscription: Subscription; } -export type MakeNullable = { - [K in keyof T]: T[K] | undefined; -}; +type Enums = {}; -export interface ScalarsEnums extends MakeNullable { - CacheControlScope: CacheControlScope | undefined; -} +export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; +} & Enums; + +export type OutputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } + ? Scalars[Key]['output'] + : never; +} & Enums; diff --git a/examples/gnt/package.json b/examples/gnt/package.json index 978ca611c..75822141f 100644 --- a/examples/gnt/package.json +++ b/examples/gnt/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "codegen": "dotenv -c local -- bash -c 'pnpm exec gqty --no-react -H apiKey:$NEXT_PUBLIC_SUPABASE_API_KEY $NEXT_PUBLIC_SUPABASE_ENDPOINT'", + "codegen": "dotenv -c local -- bash -c 'pnpm exec gqty --no-react https://rickandmortyapi.com/graphql'", "dev": "next dev", "build": "next build", "start": "next start", diff --git a/examples/react/api/graphql.ts b/examples/react/api/graphql.ts index 9f0da26af..80eec43e2 100644 --- a/examples/react/api/graphql.ts +++ b/examples/react/api/graphql.ts @@ -105,7 +105,7 @@ const paginatedData: { }[] = new Array(200).fill(0).map((_, index) => { return { id: index + '', - name: faker.name.firstName(), + name: faker.person.firstName(), }; }); diff --git a/examples/react/src/graphql/schema.generated.ts b/examples/react/src/graphql/schema.generated.ts index af6e96f2a..f437cef69 100644 --- a/examples/react/src/graphql/schema.generated.ts +++ b/examples/react/src/graphql/schema.generated.ts @@ -2,7 +2,7 @@ * GQty AUTO-GENERATED CODE: PLEASE DO NOT MODIFY MANUALLY */ -import { SchemaUnionsKey } from 'gqty'; +import { SchemaUnionsKey, type ScalarsEnumsHash } from 'gqty'; export type Maybe = T | null; export type InputMaybe = Maybe; @@ -15,24 +15,33 @@ export type MakeOptional = Omit & { export type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; +export type MakeEmpty< + T extends { [key: string]: unknown }, + K extends keyof T +> = { [_ in K]?: never }; +export type Incremental = + | T + | { + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; /** All built-in and custom scalars, mapped to their actual values */ export interface Scalars { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; + ID: { input: string; output: string }; + String: { input: string; output: string }; + Boolean: { input: boolean; output: boolean }; + Int: { input: number; output: number }; + Float: { input: number; output: number }; /** The `Upload` scalar type represents a file upload. */ - Upload: File; + Upload: { input: File; output: File }; } /** ConnectionArgs description! */ export interface ConnectionArgs { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; /** @deprecated asd */ - last?: InputMaybe; + last?: InputMaybe; } /** Dog Type */ @@ -45,11 +54,11 @@ export enum DogType { /** Input Type Example XD */ export interface inputTypeExample { - a: Scalars['String']; - other?: InputMaybe; + a: Scalars['String']['input']; + other?: InputMaybe; } -export const scalarsEnumsHash: import('gqty').ScalarsEnumsHash = { +export const scalarsEnumsHash: ScalarsEnumsHash = { Boolean: true, DogType: true, ID: true, @@ -130,8 +139,8 @@ export const generatedSchema = { */ export interface Dog { __typename?: 'Dog'; - id: ScalarsEnums['ID']; - name: ScalarsEnums['String']; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; owner?: Maybe; } @@ -148,13 +157,13 @@ export interface Human { /** * @defaultValue `"Hello World"` */ - a?: Maybe; - }) => Maybe; - id: ScalarsEnums['ID']; + a?: Maybe; + }) => Maybe; + id: Scalars['ID']['output']; /** * Human Name */ - name: ScalarsEnums['String']; + name: Scalars['String']['output']; } /** @@ -171,10 +180,10 @@ export interface HumansConnection { */ export interface PageInfo { __typename?: 'PageInfo'; - endCursor?: Maybe; - hasNextPage: ScalarsEnums['Boolean']; - hasPreviousPage: ScalarsEnums['Boolean']; - startCursor?: Maybe; + endCursor?: Maybe; + hasNextPage: Scalars['Boolean']['output']; + hasPreviousPage: Scalars['Boolean']['output']; + startCursor?: Maybe; } export interface Species { @@ -187,23 +196,28 @@ export interface Species { */ export interface Mutation { __typename?: 'Mutation'; - createHuman: (args: { id: Scalars['ID']; name: Scalars['String'] }) => Human; - other: (args: { arg: inputTypeExample }) => Maybe; + createHuman: (args: { + id: Scalars['ID']['input']; + name: Scalars['String']['input']; + }) => Human; + other: (args: { arg: inputTypeExample }) => Maybe; renameDog: (args: { /** * Dog Id */ - id: Scalars['ID']; - name: Scalars['String']; + id: Scalars['ID']['input']; + name: Scalars['String']['input']; }) => Maybe; renameHuman: (args: { - id: Scalars['ID']; - name: Scalars['String']; + id: Scalars['ID']['input']; + name: Scalars['String']['input']; }) => Maybe; sendNotification: (args: { - message: Scalars['String']; - }) => ScalarsEnums['Boolean']; - uploadFile: (args: { file: Scalars['Upload'] }) => ScalarsEnums['String']; + message: Scalars['String']['input']; + }) => Scalars['Boolean']['output']; + uploadFile: (args: { + file: Scalars['Upload']['input']; + }) => Scalars['String']['output']; } /** @@ -213,12 +227,12 @@ export interface Query { __typename?: 'Query'; dogs: Array; emptyHumanArray: Array; - emptyScalarArray: Array; + emptyScalarArray: Array; /** * Expected Error! */ - expectedError: ScalarsEnums['Boolean']; - expectedNullableError?: Maybe; + expectedError: Scalars['Boolean']['output']; + expectedNullableError?: Maybe; human1: Human; human1Other: Human; humans: Array; @@ -228,14 +242,14 @@ export interface Query { */ input: ConnectionArgs; }) => HumansConnection; - stringList: Array; - thirdTry: ScalarsEnums['Boolean']; - time: ScalarsEnums['String']; + stringList: Array; + thirdTry: Scalars['Boolean']['output']; + time: Scalars['String']['output']; } export interface Subscription { __typename?: 'Subscription'; - newNotification: ScalarsEnums['String']; + newNotification: Scalars['String']['output']; } export interface $Species { @@ -249,10 +263,16 @@ export interface GeneratedSchema { subscription: Subscription; } -export type MakeNullable = { - [K in keyof T]: T[K] | undefined; -}; +type Enums = {}; -export interface ScalarsEnums extends MakeNullable { - DogType: DogType | undefined; -} +export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; +} & Enums; + +export type OutputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } + ? Scalars[Key]['output'] + : never; +} & Enums; diff --git a/examples/vite-react/package.json b/examples/vite-react/package.json index eba34e3d7..29118f50d 100644 --- a/examples/vite-react/package.json +++ b/examples/vite-react/package.json @@ -5,9 +5,12 @@ "scripts": { "build": "tsc && vite build", "dev": "vite", - "generate": "gqty generate", + "generate": "gqty --no-install https://gql.omniwe.com", "serve": "vite preview" }, + "gqty": { + "destination": "src/gqty/index.ts" + }, "dependencies": { "@gqty/cli": "workspace:^", "@gqty/react": "workspace:^", @@ -20,6 +23,8 @@ "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.2.1", + "graphql": "^16.8.1", + "typescript": "^5.4.5", "vite": "^5.2.11" } } diff --git a/examples/vite-react/src/gqty/index.ts b/examples/vite-react/src/gqty/index.ts index fd6e38bef..c8b3dac9e 100644 --- a/examples/vite-react/src/gqty/index.ts +++ b/examples/vite-react/src/gqty/index.ts @@ -39,8 +39,8 @@ const cache = new Cache( * stale-while-revalidate. */ { - maxAge: 0, - staleWhileRevalidate: 5 * 60 * 1000, + maxAge: 5000, + staleWhileRevalidate: 30 * 60 * 1000, normalization: true, } ); diff --git a/examples/vite-react/src/gqty/schema.generated.ts b/examples/vite-react/src/gqty/schema.generated.ts index ec868660f..bf81e52a2 100644 --- a/examples/vite-react/src/gqty/schema.generated.ts +++ b/examples/vite-react/src/gqty/schema.generated.ts @@ -2,6 +2,8 @@ * GQty AUTO-GENERATED CODE: PLEASE DO NOT MODIFY MANUALLY */ +import { SchemaUnionsKey, type ScalarsEnumsHash } from 'gqty'; + export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { @@ -13,346 +15,20783 @@ export type MakeOptional = Omit & { export type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; +export type MakeEmpty< + T extends { [key: string]: unknown }, + K extends keyof T +> = { [_ in K]?: never }; +export type Incremental = + | T + | { + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; /** All built-in and custom scalars, mapped to their actual values */ export interface Scalars { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - /** The `Upload` scalar type represents a file upload. */ - Upload: any; + ID: { input: string; output: string }; + String: { input: string; output: string }; + Boolean: { input: boolean; output: boolean }; + Int: { input: number; output: number }; + Float: { input: number; output: number }; + /** The `AWSDateTime` scalar type provided by AWS AppSync, represents a valid ***extended*** [ISO 8601 DateTime](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) string. In other words, this scalar type accepts datetime strings of the form `YYYY-MM-DDThh:mm:ss.SSSZ`. The scalar can also accept "negative years" of the form `-YYYY` which correspond to years before `0000`. For example, "**-2017-01-01T00:00Z**" and "**-9999-01-01T00:00Z**" are both valid datetime strings. The field after the two digit seconds field is a nanoseconds field. It can accept between 1 and 9 digits. So, for example, "**1970-01-01T12:00:00.2Z**", "**1970-01-01T12:00:00.277Z**" and "**1970-01-01T12:00:00.123456789Z**" are all valid datetime strings. The seconds and nanoseconds fields are optional (the seconds field must be specified if the nanoseconds field is to be used). The [time zone offset](https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators) is compulsory for this scalar. The time zone offset must either be `Z` (representing the UTC time zone) or be in the format `±hh:mm:ss`. The seconds field in the timezone offset will be considered valid even though it is not part of the ISO 8601 standard. */ + AWSDateTime: { input: any; output: any }; + /** The `AWSEmail` scalar type provided by AWS AppSync, represents an Email address string that complies with [RFC 822](https://www.ietf.org/rfc/rfc822.txt). For example, "**username@example.com**" is a valid Email address. */ + AWSEmail: { input: any; output: any }; + /** The `AWSJSON` scalar type provided by AWS AppSync, represents a JSON string that complies with [RFC 8259](https://tools.ietf.org/html/rfc8259). Maps like "**{\\"upvotes\\": 10}**", lists like "**[1,2,3]**", and scalar values like "**\\"AWSJSON example string\\"**", "**1**", and "**true**" are accepted as valid JSON and will automatically be parsed and loaded in the resolver mapping templates as Maps, Lists, or Scalar values rather than as the literal input strings. Invalid JSON strings like "**{a: 1}**", "**{'a': 1}**" and "**Unquoted string**" will throw GraphQL validation errors. */ + AWSJSON: { input: any; output: any }; + /** The `AWSPhone` scalar type provided by AWS AppSync, represents a valid Phone Number. Phone numbers are serialized and deserialized as Strings. Segments of the phone number may be whitespace delimited or hyphenated. The number can specify a country code at the beginning. However, United States numbers without country codes are still considered to be valid. */ + AWSPhone: { input: any; output: any }; + /** The `AWSURL` scalar type provided by AWS AppSync, represents a valid URL string (Ex: ). The URL may use any scheme and may also be a local URL (Ex: ). URLs without schemes like "**amazon.com**" or "**www.amazon.com**" are considered invalid. URLs which contain double slashes (two consecutive forward slashes) in their path are also considered invalid. */ + AWSURL: { input: any; output: any }; +} + +export enum AccountHolderType { + company = 'company', + individual = 'individual', +} + +export interface AddOnProductFilterInput { + active?: InputMaybe; + amount?: InputMaybe; + cost?: InputMaybe; + id?: InputMaybe; + ignoreStock?: InputMaybe; + name?: InputMaybe; + productId?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + sku?: InputMaybe; + type?: InputMaybe; + unitPrice?: InputMaybe; + weight?: InputMaybe; +} + +export interface AddOnProductInput { + active: Scalars['Boolean']['input']; + amount?: InputMaybe; + barcode?: InputMaybe; + cost?: InputMaybe; + description?: InputMaybe; + hashtags?: InputMaybe>; + ignoreStock: Scalars['Boolean']['input']; + medias?: InputMaybe>; + name: Scalars['String']['input']; + productId?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + purchaseLimit?: InputMaybe; + quantity?: InputMaybe; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + type: AddOnProductType; + unitPrice: Scalars['Float']['input']; + weight?: InputMaybe; +} + +export enum AddOnProductType { + AMOUNT = 'AMOUNT', + PRODUCT = 'PRODUCT', +} + +export interface AddressInput { + city?: InputMaybe; + country: Country; + district?: InputMaybe; + email?: InputMaybe; + lines?: InputMaybe>; + /** Short display name of the address, e.g. 'Home'. */ + name?: InputMaybe; + person?: InputMaybe; + tel?: InputMaybe; +} + +export interface AgencyServiceApplicationInput { + serviceId: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; +} + +export interface AgencyServiceInput { + active?: InputMaybe; + description?: InputMaybe; + title: Scalars['String']['input']; +} + +export interface AnalysisToolFilterInput { + active?: InputMaybe; + context?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface AnalysisToolInput { + active?: InputMaybe; + context: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + type: Scalars['String']['input']; +} + +export interface ApplicationCommentInput { + content: Scalars['String']['input']; +} + +export enum ApplicationStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export enum AppointmentAttendanceStatus { + ATTENDED = 'ATTENDED', + NO_SHOW = 'NO_SHOW', + PENDING = 'PENDING', +} + +export interface AppointmentCreateInput { + customerId?: InputMaybe; + metadata?: InputMaybe>; + orderItemId: Scalars['ID']['input']; + remark?: InputMaybe; + serviceBundleId?: InputMaybe; + serviceId: Scalars['ID']['input']; + serviceLocationId: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; +} + +export enum AppointmentStatus { + CANCELLED = 'CANCELLED', + CONFIRMED = 'CONFIRMED', + PENDING = 'PENDING', +} + +export interface AppointmentUpdateInput { + metadata?: InputMaybe>; + remark?: InputMaybe; +} + +export interface AttendanceCreateInput { + createdAt?: InputMaybe; + direction: AttendanceDirection; + metadata?: InputMaybe>; + shopId: Scalars['ID']['input']; + staffId: Scalars['ID']['input']; +} + +export enum AttendanceDirection { + IN = 'IN', + OUT = 'OUT', +} + +export interface AttendanceFilterInput { + createdAt?: InputMaybe; + direction?: InputMaybe; + shopId?: InputMaybe; + staffId?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface AttributeFilterInput { + key: Scalars['String']['input']; + operator: AttributeFilterOperator; + value: Array; +} + +export enum AttributeFilterOperator { + BETWEEN = 'BETWEEN', + IN = 'IN', + MATCH = 'MATCH', +} + +export interface BankAccountInput { + account_holder_name?: InputMaybe; + account_holder_type?: InputMaybe; + account_number?: InputMaybe; + branch_number?: InputMaybe; + country?: InputMaybe; + currency?: InputMaybe; + routing_number?: InputMaybe; +} + +export enum BatchAssignmentOperator { + SET = 'SET', + UNSET = 'UNSET', +} + +export enum BatchOperator { + ADD = 'ADD', + SET = 'SET', + TIMES = 'TIMES', + UNSET = 'UNSET', +} + +export interface BundleProductCreateInput { + active?: InputMaybe; + barcode?: InputMaybe; + collectionCodes?: InputMaybe>; + cost?: InputMaybe; + description?: InputMaybe; + hashtags: Array; + ignoreStock?: InputMaybe; + medias: Array; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + name: Scalars['String']['input']; + primarySortIndex?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + quantity?: InputMaybe; + rewriteUri?: InputMaybe; + salesChannels?: InputMaybe>; + sections: Array; + shippingZoneIds?: InputMaybe>; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + subtitle?: InputMaybe; + suggestedRetailPrice?: InputMaybe; + unitPrice: Scalars['Float']['input']; + weight?: InputMaybe; +} + +export interface BundleProductUpdateInput { + active?: InputMaybe; + barcode?: InputMaybe; + collectionCodes?: InputMaybe>; + cost?: InputMaybe; + description?: InputMaybe; + hashtags?: InputMaybe>; + ignoreStock?: InputMaybe; + medias?: InputMaybe>; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + name?: InputMaybe; + primarySortIndex?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + quantity?: InputMaybe; + rewriteUri?: InputMaybe; + salesChannels?: InputMaybe>; + sections?: InputMaybe>; + shippingZoneIds?: InputMaybe>; + sku?: InputMaybe; + subtitle?: InputMaybe; + suggestedRetailPrice?: InputMaybe; + unitPrice?: InputMaybe; + weight?: InputMaybe; +} + +export interface CampaignActionFilterInput { + active?: InputMaybe; + content?: InputMaybe; + createdAt?: InputMaybe; + createdBy?: InputMaybe; + id?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; + updatedBy?: InputMaybe; +} + +export interface CampaignActionInput { + content: Scalars['String']['input']; + id?: InputMaybe; + richContent?: InputMaybe; + type: CampaignActionType; +} + +export enum CampaignActionType { + EMAIL = 'EMAIL', + PUSH = 'PUSH', + SMS = 'SMS', +} + +export interface CampaignFilterInput { + actionTypes?: InputMaybe; + active?: InputMaybe; + content?: InputMaybe; + couponId?: InputMaybe; + createdAt?: InputMaybe; + excludedHashtags?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + shopId?: InputMaybe; + targetHashtags?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum CampaignMatchMode { + ALL = 'ALL', + ANY = 'ANY', +} + +export enum CampaignRecipientActionStatus { + COMPLETED = 'COMPLETED', + FAILED = 'FAILED', + OPTOUT = 'OPTOUT', +} + +export interface CampaignRecipientFilterInput { + actionTypes?: InputMaybe; + active?: InputMaybe; + campaignId?: InputMaybe; + contact?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + referenceId?: InputMaybe; + responseMessage?: InputMaybe; + sendingStatus?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export enum CampaignRecipientStatus { + COMPLETED = 'COMPLETED', + FAILED = 'FAILED', + PENDING = 'PENDING', +} + +export interface CampaignSetInput { + actionType?: InputMaybe; + actionTypes?: InputMaybe>; + actions?: InputMaybe>; + content?: InputMaybe; + /** Optional parent coupon to be assigned to matching users. */ + couponId?: InputMaybe; + /** Optional parent coupons to be assigned to matching users. */ + couponIds?: InputMaybe>; + excludedHashtags?: InputMaybe>; + excludedMatchMode?: InputMaybe; + /** Customers must have all the target hashtags to be included in the campaign. */ + matchMode?: InputMaybe; + name?: InputMaybe; + richContent?: InputMaybe; + shopId: Scalars['ID']['input']; + /** Customer with these hashtags will be included in the campaign. */ + targetHashtags?: InputMaybe>; + targetMatchMode?: InputMaybe; + thumbnail?: InputMaybe; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface CashFlowFilterInput { + amount?: InputMaybe; + createdAt?: InputMaybe; + deviceId?: InputMaybe; + direction?: InputMaybe; + id?: InputMaybe; + remark?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface CashFlowInput { + amount: Scalars['Float']['input']; + deviceId: Scalars['String']['input']; + direction: ShopCashFlowDirection; + remark?: InputMaybe; + shopId: Scalars['ID']['input']; +} + +export enum CashVoucherCodeStatus { + READY = 'READY', + USED = 'USED', + VOIDED = 'VOIDED', +} + +export interface CashVoucherSetInput { + active?: InputMaybe; + companyId: Scalars['ID']['input']; + description: Scalars['String']['input']; + name: Scalars['String']['input']; + numberOfVoucher: Scalars['Int']['input']; + singleVoucherValue: Scalars['Float']['input']; + thumbnail?: InputMaybe; + unitPrice: Scalars['Float']['input']; + validFor?: InputMaybe; +} + +export interface ChannelFilterInput { + active?: InputMaybe; + code?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + pin?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ChannelMessageFilterInput { + active?: InputMaybe; + channelId?: InputMaybe; + channelPlayerId?: InputMaybe; + channelType?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + pin?: InputMaybe; + readChannelPlayerIds?: InputMaybe; + shopId?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ChannelMessageSetInput { + channelId: Scalars['ID']['input']; + channelPlayerId: Scalars['String']['input']; + /** + * TEXT: message content + * IMAGE/VIDEO/LINK/FILE: url + */ + content?: InputMaybe; + pin?: InputMaybe; + type?: InputMaybe; +} + +export enum ChannelMessageType { + FILE = 'FILE', + IMAGE = 'IMAGE', + LINK = 'LINK', + TEXT = 'TEXT', + VIDEO = 'VIDEO', +} + +export interface ChannelPlayerSetInput { + channelId: Scalars['ID']['input']; + email: Scalars['String']['input']; + name: Scalars['String']['input']; + picture?: InputMaybe; + userId?: InputMaybe; +} + +export interface ChannelSetInput { + active?: InputMaybe; + code: Scalars['String']['input']; + metadata?: InputMaybe>; + pin?: InputMaybe; + shopId: Scalars['ID']['input']; + type?: InputMaybe; +} + +export enum ChannelType { + GENERAL = 'GENERAL', + ORDER = 'ORDER', + SYSTEM = 'SYSTEM', +} + +export interface CheckoutAddOnProductInput { + id: Scalars['ID']['input']; + quantity: Scalars['Int']['input']; +} + +export interface CheckoutAdjustmentInput { + amount: Scalars['Float']['input']; + description?: InputMaybe; + referenceId?: InputMaybe; + sortIndex: Scalars['Int']['input']; + typename?: InputMaybe; +} + +export interface CheckoutBundleProductInput { + /** Bundle Product ID */ + id: Scalars['ID']['input']; + /** An array of flattened ID of BundleProductOption. */ + options: Array; + sku?: InputMaybe; +} + +export interface CheckoutBundleProductOptionInput { + /** Option Id */ + id: Scalars['ID']['input']; + modifiers?: InputMaybe>; + remark?: InputMaybe; + sku?: InputMaybe; + variationId: Scalars['ID']['input']; +} + +export interface CheckoutCashVoucherInput { + cashVoucherId: Scalars['ID']['input']; + id?: InputMaybe; + quantity: Scalars['Int']['input']; +} + +export interface CheckoutCreateOfflineInput { + billingAddress?: InputMaybe; + cashier?: InputMaybe; + couponDiscount?: InputMaybe; + coupons?: InputMaybe; + createdAt: Scalars['AWSDateTime']['input']; + currency: Scalars['String']['input']; + customer?: InputMaybe; + deviceId?: InputMaybe; + discounts?: InputMaybe; + /** Customer earns member points for this checkout */ + gainMemberPoints?: InputMaybe; + id: Scalars['ID']['input']; + isInSitu?: InputMaybe; + isPreOrder?: InputMaybe; + items?: InputMaybe>; + memberPoints?: InputMaybe; + metadata?: InputMaybe>; + order?: InputMaybe; + pickUpAddressId?: InputMaybe; + referenceNo: Scalars['String']['input']; + salespersonId?: InputMaybe; + shippingAddress?: InputMaybe; + shippingFee: Scalars['Float']['input']; + shippingProviderId?: InputMaybe; + shopDiscount?: InputMaybe; + shopId: Scalars['ID']['input']; + staffId?: InputMaybe; + subtotal: Scalars['Float']['input']; + taxFee: Scalars['Float']['input']; + total: Scalars['Float']['input']; + totalAdjustments?: InputMaybe>; + updatedAt: Scalars['AWSDateTime']['input']; +} + +export interface CheckoutCreateOfflineInvoiceInput { + change: Scalars['Float']['input']; + createdAt: Scalars['AWSDateTime']['input']; + credential: Scalars['String']['input']; + id: Scalars['String']['input']; + paymentMethod?: InputMaybe; + provider?: InputMaybe; + status: OrderInvoiceStatus; + total: Scalars['Float']['input']; + updatedAt: Scalars['AWSDateTime']['input']; +} + +export interface CheckoutCreateOfflineItemInput { + bundleProduct?: InputMaybe; + createdAt?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + media?: InputMaybe; + metadata?: InputMaybe>; + metadataFields?: InputMaybe>; + productVariationId?: InputMaybe; + quantity: Scalars['Int']['input']; + remark?: InputMaybe; + sku?: InputMaybe; + unitPrice: Scalars['Float']['input']; + updatedAt?: InputMaybe; +} + +export interface CheckoutCreateOfflineOrderInput { + createdAt: Scalars['AWSDateTime']['input']; + id: Scalars['String']['input']; + internalRemark?: InputMaybe; + internalRemarkMedias?: InputMaybe>; + invoices?: InputMaybe>; + kitchenStatus?: InputMaybe; + remark?: InputMaybe; + remarkMedias?: InputMaybe>; + totalAdjustments?: InputMaybe>; + updatedAt: Scalars['AWSDateTime']['input']; +} + +export interface CheckoutCreateOfflineUserInput { + email?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +} + +export interface CheckoutFilterInput { + status?: InputMaybe; +} + +export interface CheckoutInput { + billingAddress?: InputMaybe; + cashier?: InputMaybe; + customerId?: InputMaybe; + deviceId?: InputMaybe; + internalRemark?: InputMaybe; + internalRemarkMedias?: InputMaybe>; + memberPoints?: InputMaybe; + metadata?: InputMaybe>; + pickUpAddressId?: InputMaybe; + referenceNo?: InputMaybe; + remark?: InputMaybe; + remarkMedias?: InputMaybe>; + salespersonId?: InputMaybe; + /** Coupon will be remove if no couponId received. */ + shippingAddress?: InputMaybe; + shippingProviderId?: InputMaybe; + shopId: Scalars['ID']['input']; + staffId?: InputMaybe; + tableId?: InputMaybe; + totalAdjustments?: InputMaybe>; +} + +export interface CheckoutItemCreateInput { + bundleProduct?: InputMaybe; + description?: InputMaybe; + /** F&B checkout item ID */ + fnbCheckoutItemId?: InputMaybe; + metadata?: InputMaybe>; + modifiers?: InputMaybe>; + productVariationId?: InputMaybe; + quantity: Scalars['Int']['input']; + remark?: InputMaybe; + serviceBundle?: InputMaybe; + unitPrice?: InputMaybe; +} + +export interface CheckoutItemInput { + bundleProduct?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + metadata?: InputMaybe>; + productVariationId?: InputMaybe; + quantity?: InputMaybe; + remark?: InputMaybe; + serviceBundle?: InputMaybe; + unitPrice?: InputMaybe; +} + +export interface CheckoutItemModifierInput { + name: Scalars['String']['input']; + option: Scalars['String']['input']; +} + +export enum CheckoutItemSetOperator { + ADD = 'ADD', + SET = 'SET', + SUBTRACT = 'SUBTRACT', +} + +export interface CheckoutPayInput { + charge?: InputMaybe; + credentialId?: InputMaybe; + invoiceId: Scalars['ID']['input']; + isSavingPaymentSource?: InputMaybe; + metadata?: InputMaybe>; + paymentDetail?: InputMaybe; + provider: PaymentProvider; + token?: InputMaybe; +} + +export interface CheckoutPaymentInput { + charge?: InputMaybe; + credentialId?: InputMaybe; + paymentMethodId?: InputMaybe; + provider: PaymentProvider; +} + +export interface CheckoutRoundingPolicyInput { + maximumFractionDigits: Scalars['Int']['input']; + strategy: CheckoutRoundingStrategy; +} + +export enum CheckoutRoundingStrategy { + CEILING = 'CEILING', + FLOOR = 'FLOOR', + ROUND = 'ROUND', +} + +export interface CheckoutServiceBundleInput { + /** Service Bundle ID */ + id: Scalars['ID']['input']; + services: Array; +} + +export interface CheckoutServiceInput { + bundleProductId?: InputMaybe; + /** Service ID */ + id: Scalars['ID']['input']; + /** for bundleProduct */ + options?: InputMaybe>; + serviceLocationId?: InputMaybe; + /** for service */ + serviceOptions?: InputMaybe>; + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface CheckoutServiceOptionInput { + /** Option Id */ + id: Scalars['ID']['input']; +} + +export enum CheckoutStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export enum CollectionBulkAction { + DELETE = 'DELETE', +} + +export interface CollectionFilterInput { + active?: InputMaybe; + code?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + parentId?: InputMaybe; + rewriteUri?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface CollectionInput { + active?: InputMaybe; + /** Common code for the collection to be addressed by products and discounts. */ + code?: InputMaybe; + dailyAvailability?: InputMaybe; + description?: InputMaybe; + media?: InputMaybe; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + name: Scalars['String']['input']; + /** For layered collection */ + parentId?: InputMaybe; + productIds?: InputMaybe>; + products?: InputMaybe>; + rewriteUri?: InputMaybe; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; + thumbnail?: InputMaybe; +} + +export interface CollectionParentSetInput { + id: Scalars['ID']['input']; + parentId?: InputMaybe; + sortIndex?: InputMaybe; +} + +export interface CollectionProductInput { + id: Scalars['ID']['input']; + sortIndex?: InputMaybe; +} + +export interface CompanyCouponFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + discardSubsequent?: InputMaybe; + enabled?: InputMaybe; + handle?: InputMaybe; + id?: InputMaybe; + isRedeemable?: InputMaybe; + memberPointCost?: InputMaybe; + membersOnly?: InputMaybe; + name?: InputMaybe; + publishAt?: InputMaybe; + publishLimit?: InputMaybe; + publishThru?: InputMaybe; + remark?: InputMaybe; + resolveCode?: InputMaybe; + updatedAt?: InputMaybe; + validAt?: InputMaybe; + validForPeriod?: InputMaybe; + validThru?: InputMaybe; +} + +export interface CompanyHashtagScheduleInput { + hashtags: Array; + validAt: Scalars['AWSDateTime']['input']; + validThru?: InputMaybe; +} + +export interface CompanyMemberMetadataFieldInput { + /** Index */ + key: Scalars['String']['input']; + metadata?: InputMaybe>; + /** Column Name */ + name: Scalars['String']['input']; + required: Scalars['Boolean']['input']; + type: CompanyMemberMetadataFieldType; + unique?: InputMaybe; + values: Array; + visible?: InputMaybe; +} + +export enum CompanyMemberMetadataFieldType { + CHECKBOX = 'CHECKBOX', + COLOR = 'COLOR', + DATE = 'DATE', + DATETIME = 'DATETIME', + EMAIL = 'EMAIL', + HTML = 'HTML', + IMAGE = 'IMAGE', + LIST_MULTIPLE = 'LIST_MULTIPLE', + LIST_SINGLE = 'LIST_SINGLE', + MONTH = 'MONTH', + NUMBER = 'NUMBER', + PASSWORD = 'PASSWORD', + RADIO = 'RADIO', + TEL = 'TEL', + TEXT = 'TEXT', + TEXT_MULTIPLE = 'TEXT_MULTIPLE', + TIME = 'TIME', + URL = 'URL', + WEEK = 'WEEK', + YEAR = 'YEAR', +} + +export interface CompanyMemberTierFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + expiryType?: InputMaybe; + extensionAmount?: InputMaybe; + extensionMonths?: InputMaybe; + extensionType?: InputMaybe; + id?: InputMaybe; + isDefault?: InputMaybe; + level?: InputMaybe; + memberPointActive?: InputMaybe; + memberPointPerUnit?: InputMaybe; + memberPointUnitPrice?: InputMaybe; + name?: InputMaybe; + updatedAt?: InputMaybe; + upgradeConditionAmount?: InputMaybe; + upgradeConditionMonths?: InputMaybe; + upgradeConditionType?: InputMaybe; + validMonths?: InputMaybe; +} + +export interface CompanyMemberTierInput { + companyId: Scalars['ID']['input']; + expiryType?: InputMaybe; + extensionAmount?: InputMaybe; + extensionMonths?: InputMaybe; + extensionType?: InputMaybe; + isDefault?: InputMaybe; + level: Scalars['Int']['input']; + memberPointActive?: InputMaybe; + memberPointPerUnit?: InputMaybe; + memberPointUnitPrice?: InputMaybe; + name: Scalars['String']['input']; + upgradeConditionAmount?: InputMaybe; + upgradeConditionMonths?: InputMaybe; + upgradeConditionType?: InputMaybe; + upgradeConditions?: InputMaybe>; + validMonths?: InputMaybe; +} + +export enum CompanyReceivePurchaseStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + VOIDED = 'VOIDED', +} + +export interface CompanyShopContactEmailsFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + email?: InputMaybe; + id?: InputMaybe; + shopId?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; + verified?: InputMaybe; +} + +export interface CompanyShopCredentialInput { + email: Scalars['String']['input']; + password: Scalars['String']['input']; + username: Scalars['String']['input']; +} + +export interface CompanyShopInput { + address?: InputMaybe; + agentId?: InputMaybe; + allowGuestCheckout?: InputMaybe; + allowMemberPointCheckout?: InputMaybe; + autoConfirm?: InputMaybe; + autoConfirmRegistration?: InputMaybe; + checkoutRounding?: InputMaybe; + contactEmail?: InputMaybe; + contactEmails?: InputMaybe>; + customDomain?: InputMaybe; + deliveryNoteAutoComplete?: InputMaybe; + domain?: InputMaybe; + hasRegistrationEmail?: InputMaybe; + icoMedia?: InputMaybe; + locale?: InputMaybe; + logoMedia?: InputMaybe; + lowStock?: InputMaybe; + maxDeviceCount?: InputMaybe; + memberMetadataFields?: InputMaybe>; + /** A graceful period to be safe from point clearance, ISO duration. */ + memberPointClearanceGracefulPeriod?: InputMaybe; + memberPointReleaseDelay?: InputMaybe; + memberPointReleasePolicy?: InputMaybe; + memberPointUseActive?: InputMaybe; + memberPointUsePerUnit?: InputMaybe; + memberPointUseUnitPoint?: InputMaybe; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + nameEN?: InputMaybe; + /** Specify null for indefinite pending orders */ + orderExpiry?: InputMaybe; + /** In days, how long pending orders will be kept before automatically cancelled. */ + orderExpiryDay?: InputMaybe; + overStock?: InputMaybe; + rasterLogoMedia?: InputMaybe; + referenceNoLength?: InputMaybe; + referenceNoPrefix?: InputMaybe; + registrationMessages?: InputMaybe>; + remarks?: InputMaybe; + returnWarehouseId?: InputMaybe; + stockWarehouseId?: InputMaybe; + /** admin only */ + stripeRateExpression?: InputMaybe; + timezone?: InputMaybe; + transferWarehouseId?: InputMaybe; + type?: InputMaybe; + underStock?: InputMaybe; + useCollectionProductSortIndex?: InputMaybe; + welcomeMessages?: InputMaybe>; +} + +export interface CompanyStaffCreateInput { + active?: InputMaybe; + address?: InputMaybe; + code: Scalars['String']['input']; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + password: Scalars['String']['input']; + phoneNumber?: InputMaybe; + role: StaffRole; + shopId: Scalars['ID']['input']; + startedAt?: InputMaybe; + startedThru?: InputMaybe; + thumbnail?: InputMaybe; +} + +export interface CompanyStaffFilterInput { + code?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + phoneNumber?: InputMaybe; + role?: InputMaybe; + shopId?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface CompanyStaffUpdateInput { + address?: InputMaybe; + code?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + password?: InputMaybe; + phoneNumber?: InputMaybe; + role?: InputMaybe; + shopId?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; + thumbnail?: InputMaybe; +} + +export enum CompanyStockTransferStatus { + COMPLETED = 'COMPLETED', + IN_TRANSIT = 'IN_TRANSIT', + PENDING = 'PENDING', + VOIDED = 'VOIDED', +} + +export enum CompanyStocktakeStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + FAILED = 'FAILED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export interface CompanyUpdateInput { + defaultMemberHashtagSchedules?: InputMaybe< + Array + >; + memberPointResetDates?: InputMaybe>; + memberPointResetGracefulPeriod?: InputMaybe; +} + +export enum CompanyWarehouseTypes { + RESERVE = 'RESERVE', + STOCK = 'STOCK', + TRANSFER = 'TRANSFER', +} + +export interface ContactEmailInput { + email: Scalars['AWSEmail']['input']; + type: ShopContactEmailType; +} + +export enum Country { + ABW = 'ABW', + AFG = 'AFG', + AGO = 'AGO', + AIA = 'AIA', + ALA = 'ALA', + ALB = 'ALB', + AND = 'AND', + ARE = 'ARE', + ARG = 'ARG', + ARM = 'ARM', + ASM = 'ASM', + ATA = 'ATA', + ATF = 'ATF', + ATG = 'ATG', + AUS = 'AUS', + AUT = 'AUT', + AZE = 'AZE', + BDI = 'BDI', + BEL = 'BEL', + BEN = 'BEN', + BES = 'BES', + BFA = 'BFA', + BGD = 'BGD', + BGR = 'BGR', + BHR = 'BHR', + BHS = 'BHS', + BIH = 'BIH', + BLM = 'BLM', + BLR = 'BLR', + BLZ = 'BLZ', + BMU = 'BMU', + BOL = 'BOL', + BRA = 'BRA', + BRB = 'BRB', + BRN = 'BRN', + BTN = 'BTN', + BVT = 'BVT', + BWA = 'BWA', + CAF = 'CAF', + CAN = 'CAN', + CCK = 'CCK', + CHE = 'CHE', + CHL = 'CHL', + CHN = 'CHN', + CIV = 'CIV', + CMR = 'CMR', + COD = 'COD', + COG = 'COG', + COK = 'COK', + COL = 'COL', + COM = 'COM', + CPV = 'CPV', + CRI = 'CRI', + CUB = 'CUB', + CUW = 'CUW', + CXR = 'CXR', + CYM = 'CYM', + CYP = 'CYP', + CZE = 'CZE', + DEU = 'DEU', + DJI = 'DJI', + DMA = 'DMA', + DNK = 'DNK', + DOM = 'DOM', + DZA = 'DZA', + ECU = 'ECU', + EGY = 'EGY', + ERI = 'ERI', + ESH = 'ESH', + ESP = 'ESP', + EST = 'EST', + ETH = 'ETH', + FIN = 'FIN', + FJI = 'FJI', + FLK = 'FLK', + FRA = 'FRA', + FRO = 'FRO', + FSM = 'FSM', + GAB = 'GAB', + GBR = 'GBR', + GEO = 'GEO', + GGY = 'GGY', + GHA = 'GHA', + GIB = 'GIB', + GIN = 'GIN', + GLP = 'GLP', + GMB = 'GMB', + GNB = 'GNB', + GNQ = 'GNQ', + GRC = 'GRC', + GRD = 'GRD', + GRL = 'GRL', + GTM = 'GTM', + GUF = 'GUF', + GUM = 'GUM', + GUY = 'GUY', + HKG = 'HKG', + HMD = 'HMD', + HND = 'HND', + HRV = 'HRV', + HTI = 'HTI', + HUN = 'HUN', + IDN = 'IDN', + IMN = 'IMN', + IND = 'IND', + IOT = 'IOT', + IRL = 'IRL', + IRN = 'IRN', + IRQ = 'IRQ', + ISL = 'ISL', + ISR = 'ISR', + ITA = 'ITA', + JAM = 'JAM', + JEY = 'JEY', + JOR = 'JOR', + JPN = 'JPN', + KAZ = 'KAZ', + KEN = 'KEN', + KGZ = 'KGZ', + KHM = 'KHM', + KIR = 'KIR', + KNA = 'KNA', + KOR = 'KOR', + KWT = 'KWT', + LAO = 'LAO', + LBN = 'LBN', + LBR = 'LBR', + LBY = 'LBY', + LCA = 'LCA', + LIE = 'LIE', + LKA = 'LKA', + LSO = 'LSO', + LTU = 'LTU', + LUX = 'LUX', + LVA = 'LVA', + MAC = 'MAC', + MAF = 'MAF', + MAR = 'MAR', + MCO = 'MCO', + MDA = 'MDA', + MDG = 'MDG', + MDV = 'MDV', + MEX = 'MEX', + MHL = 'MHL', + MKD = 'MKD', + MLI = 'MLI', + MLT = 'MLT', + MMR = 'MMR', + MNE = 'MNE', + MNG = 'MNG', + MNP = 'MNP', + MOZ = 'MOZ', + MRT = 'MRT', + MSR = 'MSR', + MTQ = 'MTQ', + MUS = 'MUS', + MWI = 'MWI', + MYS = 'MYS', + MYT = 'MYT', + NAM = 'NAM', + NCL = 'NCL', + NER = 'NER', + NFK = 'NFK', + NGA = 'NGA', + NIC = 'NIC', + NIU = 'NIU', + NLD = 'NLD', + NOR = 'NOR', + NPL = 'NPL', + NRU = 'NRU', + NZL = 'NZL', + OMN = 'OMN', + PAK = 'PAK', + PAN = 'PAN', + PCN = 'PCN', + PER = 'PER', + PHL = 'PHL', + PLW = 'PLW', + PNG = 'PNG', + POL = 'POL', + PRI = 'PRI', + PRK = 'PRK', + PRT = 'PRT', + PRY = 'PRY', + PSE = 'PSE', + PYF = 'PYF', + QAT = 'QAT', + REU = 'REU', + ROU = 'ROU', + RUS = 'RUS', + RWA = 'RWA', + SAU = 'SAU', + SDN = 'SDN', + SEN = 'SEN', + SGP = 'SGP', + SGS = 'SGS', + SHN = 'SHN', + SJM = 'SJM', + SLB = 'SLB', + SLE = 'SLE', + SLV = 'SLV', + SMR = 'SMR', + SOM = 'SOM', + SPM = 'SPM', + SRB = 'SRB', + SSD = 'SSD', + STP = 'STP', + SUR = 'SUR', + SVK = 'SVK', + SVN = 'SVN', + SWE = 'SWE', + SWZ = 'SWZ', + SXM = 'SXM', + SYC = 'SYC', + SYR = 'SYR', + TCA = 'TCA', + TCD = 'TCD', + TGO = 'TGO', + THA = 'THA', + TJK = 'TJK', + TKL = 'TKL', + TKM = 'TKM', + TLS = 'TLS', + TON = 'TON', + TTO = 'TTO', + TUN = 'TUN', + TUR = 'TUR', + TUV = 'TUV', + TWN = 'TWN', + TZA = 'TZA', + UGA = 'UGA', + UKR = 'UKR', + UMI = 'UMI', + URY = 'URY', + USA = 'USA', + UZB = 'UZB', + VAT = 'VAT', + VCT = 'VCT', + VEN = 'VEN', + VGB = 'VGB', + VIR = 'VIR', + VNM = 'VNM', + VUT = 'VUT', + WLF = 'WLF', + WSM = 'WSM', + YEM = 'YEM', + ZAF = 'ZAF', + ZMB = 'ZMB', + ZWE = 'ZWE', +} + +export interface CouponActionInput { + actionId?: InputMaybe; + actionIds?: InputMaybe>; + actionType: CouponActionType; + actionValue?: InputMaybe; + actionValueType?: InputMaybe; +} + +export enum CouponActionType { + COLLECTION = 'COLLECTION', + FREE_SHIP = 'FREE_SHIP', + MEMBER_POINTS = 'MEMBER_POINTS', + ORDER = 'ORDER', + PRODUCT = 'PRODUCT', + PRODUCT_TAG = 'PRODUCT_TAG', + SINGLE_COLLECTION = 'SINGLE_COLLECTION', + SINGLE_PRODUCT = 'SINGLE_PRODUCT', + SINGLE_PRODUCT_TAG = 'SINGLE_PRODUCT_TAG', + TRIGGERED_ITEMS = 'TRIGGERED_ITEMS', +} + +export enum CouponActionValueType { + AMOUNT = 'AMOUNT', + FORMULA = 'FORMULA', + GIFT = 'GIFT', + PERCENTAGE = 'PERCENTAGE', +} + +export enum CouponApplyCode { + MAIN_CODE = 'MAIN_CODE', + SUB_CODE = 'SUB_CODE', +} + +export interface CouponInput { + actions: Array; + /** 可用 */ + active?: InputMaybe; + companyId: Scalars['ID']['input']; + /** 優惠劵內容 */ + description?: InputMaybe; + discardSubsequent?: InputMaybe; + enabled?: InputMaybe; + excludedDiscountIds?: InputMaybe>; + excludedProductIds?: InputMaybe>; + /** Human-readable key. 優惠劵編號 */ + handle: Scalars['String']['input']; + media?: InputMaybe; + memberLimit?: InputMaybe; + membersOnly?: InputMaybe; + metadata?: InputMaybe>; + /** 優惠劵名稱 */ + name: Scalars['String']['input']; + /** 領劵時限 由 */ + publishAt?: InputMaybe; + /** 領劵上限 */ + publishLimit?: InputMaybe; + /** 領劵時限 至 */ + publishThru?: InputMaybe; + /** 後台備註 */ + remark?: InputMaybe; + repeat?: InputMaybe; + resolveCode?: InputMaybe; + sortIndex?: InputMaybe; + triggers: Array; + usage?: InputMaybe; + /** 有效期 由 */ + validAt?: InputMaybe; + /** 有效期 ISO Duration */ + validForPeriod?: InputMaybe; + /** 有效期 至 */ + validThru?: InputMaybe; +} + +export interface CouponTriggerInput { + triggerId?: InputMaybe; + triggerIds?: InputMaybe>; + triggerType: CouponTriggerType; + triggerValue?: InputMaybe; + triggerValueType?: InputMaybe; +} + +export enum CouponTriggerType { + ALL = 'ALL', + BIRTH_MONTH = 'BIRTH_MONTH', + CHECKOUT_TAG = 'CHECKOUT_TAG', + COLLECTION = 'COLLECTION', + EXCLUDE_PRODUCT = 'EXCLUDE_PRODUCT', + MEMBER_TAG = 'MEMBER_TAG', + MEMBER_TIER = 'MEMBER_TIER', + ORDER = 'ORDER', + PRODUCT = 'PRODUCT', + PRODUCT_TAG = 'PRODUCT_TAG', + SHOP = 'SHOP', + TIME = 'TIME', +} + +export enum CouponTriggerValueType { + AMOUNT = 'AMOUNT', + QUANTITY = 'QUANTITY', +} + +export interface CredentialFilter { + createdAt?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + platforms?: InputMaybe>; + types?: InputMaybe>; + updatedAt?: InputMaybe; +} + +export interface CredentialFilterInput { + createdAt?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + platforms?: InputMaybe>; + types?: InputMaybe>; + updatedAt?: InputMaybe; +} + +export interface CredentialOCGCInput { + description?: InputMaybe; + identity: Scalars['String']['input']; + platforms?: InputMaybe; + secret?: InputMaybe; +} + +export interface CredentialSetInput { + active?: InputMaybe; + description?: InputMaybe; + identity: Scalars['String']['input']; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + platform: ShopCredentialPlatform; + secret: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + type: ShopCredentialType; +} + +export interface CreditNoteFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + currency?: InputMaybe; + id?: InputMaybe; + invoiceId?: InputMaybe; + orderId?: InputMaybe; + referenceNo?: InputMaybe; + shopId?: InputMaybe; + status?: InputMaybe; + total?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface CustomerAddressCreateInput { + country?: InputMaybe; + email?: InputMaybe; + isDefault?: InputMaybe; + lines: Array; + name?: InputMaybe; + person?: InputMaybe; + tel?: InputMaybe; +} + +export interface CustomerAddressUpdateInput { + country?: InputMaybe; + email?: InputMaybe; + isDefault?: InputMaybe; + lines?: InputMaybe>; + name?: InputMaybe; + person?: InputMaybe; + tel?: InputMaybe; +} + +export interface CustomerCredentialInput { + email?: InputMaybe; + mobile?: InputMaybe; + /** Validation of AWSPhone is outdated for HK, using awesome-phonenumber. */ + mobileV2?: InputMaybe; + password: Scalars['String']['input']; +} + +export interface CustomerFilterInput { + createdAt?: InputMaybe; + email?: InputMaybe; + hashtags?: InputMaybe>; + id?: InputMaybe; + lastLogin?: InputMaybe; + metadata?: InputMaybe>; + phoneNumber?: InputMaybe; + search?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface CustomerProfileInput { + addresses?: InputMaybe>; + familyName?: InputMaybe; + givenName?: InputMaybe; + hashTags?: InputMaybe>; + hashtags?: InputMaybe>; + isEmailVerified?: InputMaybe; + isPhoneNumberVerified?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + nickname?: InputMaybe; + oneSignalPlayerId?: InputMaybe; + phoneNumber?: InputMaybe; + picture?: InputMaybe; + title?: InputMaybe; +} + +export interface DailyAvailabilityInput { + /** ['0','1','2','3','4','5','6'] for 1=Monday to 0=Sunday. */ + daysOfWeek?: InputMaybe>; + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface DeliveryNoteCreateInput { + items: Array; + metadata?: InputMaybe>; + orderId: Scalars['ID']['input']; + shippingAddress?: InputMaybe; + shippingZoneId?: InputMaybe; + trackingNumber?: InputMaybe; +} + +export interface DeliveryNoteItemInput { + id?: InputMaybe; + orderItemId: Scalars['ID']['input']; + quantity: Scalars['Int']['input']; +} + +export interface DeliveryNoteSetInput { + items?: InputMaybe>; + meta?: InputMaybe; + metadata?: InputMaybe>; + orderId: Scalars['ID']['input']; + shippingAddress?: InputMaybe; + shippingZoneId?: InputMaybe; + trackingNumber?: InputMaybe; +} + +export enum DeliveryNoteStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', + VOIDED = 'VOIDED', +} + +export interface DeliveryNoteUpdateInput { + items?: InputMaybe>; + metadata?: InputMaybe>; + shippingAddress?: InputMaybe; + shippingZoneId?: InputMaybe; + trackingNumber?: InputMaybe; +} + +export interface DeliveryNotesFilterInput { + active?: InputMaybe; + address?: InputMaybe; + completedAt?: InputMaybe; + createdAt?: InputMaybe; + deliveryDetails?: InputMaybe; + id?: InputMaybe; + meta?: InputMaybe; + orderId?: InputMaybe; + shippingProvider?: InputMaybe; + shopId?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface DeviceConfigUpdateInput { + configs: Scalars['AWSJSON']['input']; +} + +export interface DiscountActionInput { + actionId?: InputMaybe; + actionIds?: InputMaybe>; + actionType: DiscountActionType; + actionValue?: InputMaybe; + actionValueType?: InputMaybe; +} + +export enum DiscountActionType { + COLLECTION = 'COLLECTION', + FREE_SHIP = 'FREE_SHIP', + MEMBER_POINTS = 'MEMBER_POINTS', + ORDER = 'ORDER', + PRODUCT = 'PRODUCT', + PRODUCT_TAG = 'PRODUCT_TAG', + SINGLE_COLLECTION = 'SINGLE_COLLECTION', + SINGLE_PRODUCT = 'SINGLE_PRODUCT', + SINGLE_PRODUCT_TAG = 'SINGLE_PRODUCT_TAG', + TRIGGERED_ITEMS = 'TRIGGERED_ITEMS', +} + +export enum DiscountActionValueType { + AMOUNT = 'AMOUNT', + FORMULA = 'FORMULA', + GIFT = 'GIFT', + PERCENTAGE = 'PERCENTAGE', +} + +export interface DiscountFilterInput { + active?: InputMaybe; + companyId?: InputMaybe; + createdAt?: InputMaybe; + description?: InputMaybe; + discardSubsequent?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + remark?: InputMaybe; + repeat?: InputMaybe; + search?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface DiscountInput { + actions: Array; + active?: InputMaybe; + companyId: Scalars['ID']['input']; + /** 優惠劵內容 */ + description?: InputMaybe; + /** 排除以後的優惠 */ + discardSubsequent?: InputMaybe; + excludedDiscountIds?: InputMaybe>; + excludedProductIds?: InputMaybe>; + membersOnly?: InputMaybe; + metadata?: InputMaybe>; + /** 優惠劵名稱 */ + name: Scalars['String']['input']; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + remark?: InputMaybe; + repeat?: InputMaybe; + sortIndex?: InputMaybe; + triggers: Array; +} + +export interface DiscountTriggerInput { + triggerId?: InputMaybe; + triggerIds?: InputMaybe>; + triggerType: DiscountTriggerType; + triggerValue?: InputMaybe; + triggerValueType?: InputMaybe; +} + +export enum DiscountTriggerType { + ALL = 'ALL', + BIRTH_MONTH = 'BIRTH_MONTH', + CHECKOUT_TAG = 'CHECKOUT_TAG', + COLLECTION = 'COLLECTION', + EXCLUDE_PRODUCT = 'EXCLUDE_PRODUCT', + MEMBER_TAG = 'MEMBER_TAG', + MEMBER_TIER = 'MEMBER_TIER', + ORDER = 'ORDER', + PRODUCT = 'PRODUCT', + PRODUCT_TAG = 'PRODUCT_TAG', + SHOP = 'SHOP', + TIME = 'TIME', +} + +export enum DiscountTriggerValueType { + AMOUNT = 'AMOUNT', + QUANTITY = 'QUANTITY', +} + +/** + * 1. For infinite durations, specify `null` in the seconds field. + * 2. Negative durations are allowed. + */ +export interface DurationInput { + days?: InputMaybe; + hours?: InputMaybe; + minutes?: InputMaybe; + months?: InputMaybe; + /** Specify `null` for infinite duration, use `0` for immediate triggers. */ + seconds?: InputMaybe; + weeks?: InputMaybe; + years?: InputMaybe; +} + +export enum ExpiryDateTypes { + DATE = 'DATE', + END_OF_MONTH = 'END_OF_MONTH', + START_OF_MONTH = 'START_OF_MONTH', +} + +export interface FilterInput { + operator: FilterOperator; + value: Array>; +} + +export enum FilterOperator { + BETWEEN = 'BETWEEN', + IN = 'IN', + LIKE = 'LIKE', + MATCH = 'MATCH', + NATCH = 'NATCH', + NIKE = 'NIKE', + NIN = 'NIN', + NLIKE = 'NLIKE', + NMATCH = 'NMATCH', +} + +export interface GiftPointAdjustmentConnectionFilterInput { + companyId?: InputMaybe; + createdAt?: InputMaybe; + direction?: InputMaybe; + expiryDate?: InputMaybe; + id?: InputMaybe; + shopId?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export enum GiftPointDirection { + INBOUND = 'INBOUND', + OUTBOUND = 'OUTBOUND', +} + +export interface GiftPointExportFilterInput { + /** 調整日期 */ + createdAt?: InputMaybe; + customerId?: InputMaybe; + /** 積分有效日期 - support BETWEEN only */ + memberPointResetDates?: InputMaybe; + /** 備註 (Remark) - support MATCH fulltext search only */ + metadataValue?: InputMaybe; +} + +export enum GiftPointStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', +} + +export enum HKPostMailType { + CC = 'CC', + D1 = 'D1', + PL = 'PL', +} + +export enum HKPostShipCode { + AEX = 'AEX', + APL = 'APL', + ARM = 'ARM', + EMS = 'EMS', + EMSMPB = 'EMSMPB', + LCP = 'LCP', + LPL = 'LPL', + LRM = 'LRM', + SMP = 'SMP', + SPL = 'SPL', + SRM = 'SRM', +} + +export interface HonorProductSerialFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + imei?: InputMaybe; + sku?: InputMaybe; + sn1?: InputMaybe; + sn2?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface IngredientInput { + companyId: Scalars['ID']['input']; + name: Scalars['String']['input']; +} + +export interface InventoryReportDataFilterInput { + sku?: InputMaybe; +} + +export enum InvoiceCreditNoteStatus { + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', +} + +export interface InvoiceFilterInput { + createdAt?: InputMaybe; + id?: InputMaybe; + orderId?: InputMaybe; + paymentMethod?: InputMaybe; + status?: InputMaybe; + total?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export enum MediaContentType { + GIF = 'GIF', + JPG = 'JPG', + PNG = 'PNG', + TIFF = 'TIFF', +} + +export enum MediaFitting { + CONTAIN = 'CONTAIN', + COVER = 'COVER', + RESIZE = 'RESIZE', +} + +export enum MediaGravity { + CENTER = 'CENTER', + CENTRE = 'CENTRE', + EAST = 'EAST', + NORTH = 'NORTH', + NORTHEAST = 'NORTHEAST', + NORTHWEST = 'NORTHWEST', + SOUTH = 'SOUTH', + SOUTHEAST = 'SOUTHEAST', + SOUTHWEST = 'SOUTHWEST', + WEST = 'WEST', +} + +export interface MediaInput { + alt?: InputMaybe; + id?: InputMaybe; + metadata?: InputMaybe>; + src?: InputMaybe; +} + +export enum MemberPointReleasePolicy { + ORDER_CONFIRM = 'ORDER_CONFIRM', + ORDER_PAYMENT_COMPLETE = 'ORDER_PAYMENT_COMPLETE', + ORDER_SHIPPING_PROCESSING = 'ORDER_SHIPPING_PROCESSING', +} + +export interface MemberTierUpgradeConditionInput { + type: UpgradeConditionType; + upgradeConditionAmount: Scalars['Int']['input']; + upgradeConditionMonths?: InputMaybe; +} + +export interface MetadataInput { + key: Scalars['String']['input']; + value: Scalars['String']['input']; +} + +export interface NavigationTemplateCreateInput { + active?: InputMaybe; + configs?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + type: NavigationTemplateType; +} + +export interface NavigationTemplateFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum NavigationTemplateType { + FOOTER = 'FOOTER', + HEADER = 'HEADER', +} + +export interface NavigationTemplateUpdateInput { + active?: InputMaybe; + configs?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; +} + +export interface NewsletterSubscriptionFilterInput { + active?: InputMaybe; + companyId?: InputMaybe; + contact?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + shopId?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface NewsletterSubscriptionSetInput { + active?: InputMaybe; + contact: Scalars['String']['input']; + shopId?: InputMaybe; + type?: InputMaybe; + userId?: InputMaybe; +} + +export enum OneTimeTokenStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + EXPIRED = 'EXPIRED', + PENDING = 'PENDING', +} + +export enum OneTimeTokenType { + CONTACT_EMAIL_VERIFY = 'CONTACT_EMAIL_VERIFY', + CUSTOMER_VERIFY = 'CUSTOMER_VERIFY', + MOBILE_VERIFICATION = 'MOBILE_VERIFICATION', + RESET_PASSWORD = 'RESET_PASSWORD', + USER_VERIFY = 'USER_VERIFY', + VERIFICATION = 'VERIFICATION', +} + +export interface OrderAdjustmentInput { + amount: Scalars['Float']['input']; + description: Scalars['String']['input']; +} + +export enum OrderAdjustmentTypes { + CompanyCoupons = 'CompanyCoupons', + CompanyDiscounts = 'CompanyDiscounts', + ShopShippingZones = 'ShopShippingZones', + ShopTaxZones = 'ShopTaxZones', + Text = 'Text', +} + +export enum OrderBulkAction { + EXPORT = 'EXPORT', +} + +export interface OrderCancelInput { + cancelReason: Scalars['String']['input']; +} + +export interface OrderCommentInput { + content: Scalars['String']['input']; + orderId?: InputMaybe; +} + +export interface OrderFilterInput { + active?: InputMaybe; + cancelReason?: InputMaybe; + companyId?: InputMaybe; + couponDiscount?: InputMaybe; + coupons?: InputMaybe; + createdAt?: InputMaybe; + customerId?: InputMaybe; + id?: InputMaybe; + isPreOrder?: InputMaybe; + kitchenStatus?: InputMaybe; + metadata?: InputMaybe>; + paymentProvider?: InputMaybe; + paymentStatus?: InputMaybe; + referenceNo?: InputMaybe; + remark?: InputMaybe; + search?: InputMaybe; + shippingFee?: InputMaybe; + shippingStatus?: InputMaybe; + shopDiscount?: InputMaybe; + shopId?: InputMaybe; + status?: InputMaybe; + subtotal?: InputMaybe; + taxFee?: InputMaybe; + total?: InputMaybe; + totalAdjustment?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum OrderInvoiceStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + OVERPAID = 'OVERPAID', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export interface OrderItemFilterInput { + addOnProductId?: InputMaybe; + bundleProductId?: InputMaybe; + checkoutItemId?: InputMaybe; + productId?: InputMaybe; + productVariationId?: InputMaybe; + serviceBundleId?: InputMaybe; +} + +export interface OrderUpdateInput { + billingAddress?: InputMaybe; + internalRemark?: InputMaybe; + internalRemarkMedias?: InputMaybe>; + remark?: InputMaybe; + remarkMedias?: InputMaybe>; + shippingAddress?: InputMaybe; +} + +export enum PageBulkAction { + DELETE = 'DELETE', +} + +export interface PageFilterInput { + active?: InputMaybe; + atFooter?: InputMaybe; + atHeader?: InputMaybe; + atMenu?: InputMaybe; + createdAt?: InputMaybe; + display?: InputMaybe; + group?: InputMaybe; + hashtags?: InputMaybe; + href?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + rewriteUri?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface PageInput { + active?: InputMaybe; + atFooter?: InputMaybe; + atHeader?: InputMaybe; + atMenu?: InputMaybe; + body?: InputMaybe; + display?: InputMaybe; + group?: InputMaybe; + hashtags?: InputMaybe>; + href: Scalars['String']['input']; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + name: Scalars['String']['input']; + rewriteUri?: InputMaybe; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; +} + +export interface PaymentMethodCreateInput { + credentialId: Scalars['ID']['input']; + description?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + provider: PaymentProvider; + sortIndex?: InputMaybe; +} + +export interface PaymentMethodFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + credentialId?: InputMaybe; + enabled?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + provider?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface PaymentMethodUpdateInput { + description?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + sortIndex?: InputMaybe; +} + +export enum PaymentProvider { + BBMSL_POS_ALIPAY = 'BBMSL_POS_ALIPAY', + BBMSL_POS_CREDIT_CARD = 'BBMSL_POS_CREDIT_CARD', + BBMSL_POS_OCTOPUS = 'BBMSL_POS_OCTOPUS', + BBMSL_POS_WECHAT = 'BBMSL_POS_WECHAT', + CASH_VOUCHER = 'CASH_VOUCHER', + EFT_ALIPAYCN = 'EFT_ALIPAYCN', + EFT_ALIPAYHK = 'EFT_ALIPAYHK', + EFT_FPS = 'EFT_FPS', + EFT_OCTOPUS = 'EFT_OCTOPUS', + EFT_PAYME = 'EFT_PAYME', + EFT_POS_CREDIT_CARD = 'EFT_POS_CREDIT_CARD', + EFT_POS_OCTOPUS = 'EFT_POS_OCTOPUS', + EFT_POS_SCAN = 'EFT_POS_SCAN', + EFT_UNIONPAY = 'EFT_UNIONPAY', + EFT_VM = 'EFT_VM', + EFT_WECHAT = 'EFT_WECHAT', + KPAY_ALIPAY_SALE_QR = 'KPAY_ALIPAY_SALE_QR', + KPAY_CNP_SALES_GATEWAY = 'KPAY_CNP_SALES_GATEWAY', + KPAY_POS_OCTOPUS = 'KPAY_POS_OCTOPUS', + KPAY_POS_PAYMENT = 'KPAY_POS_PAYMENT', + KPAY_POS_SCAN = 'KPAY_POS_SCAN', + KPAY_UNIONPAY_SALE_QR = 'KPAY_UNIONPAY_SALE_QR', + KPAY_WXPAY_SALE_QR = 'KPAY_WXPAY_SALE_QR', + MANUAL = 'MANUAL', + OCGC_ALIPAY_HK_PREAUTH = 'OCGC_ALIPAY_HK_PREAUTH', + OCGC_ALIPAY_HK_SCAN = 'OCGC_ALIPAY_HK_SCAN', + OCGC_SMARTPAY_CREDITCARD = 'OCGC_SMARTPAY_CREDITCARD', + OCGC_SMARTPAY_UNIONPAY = 'OCGC_SMARTPAY_UNIONPAY', + OCGC_WECHAT_PAY_HK_BRIDGE = 'OCGC_WECHAT_PAY_HK_BRIDGE', + OCGC_WECHAT_PAY_HK_PREAUTH = 'OCGC_WECHAT_PAY_HK_PREAUTH', + OCGC_WECHAT_PAY_HK_SCAN = 'OCGC_WECHAT_PAY_HK_SCAN', + PAYPAL_STANDARD = 'PAYPAL_STANDARD', + QFPAY_ALIPAY_MPM = 'QFPAY_ALIPAY_MPM', + QFPAY_ALIPAY_WEB = 'QFPAY_ALIPAY_WEB', + QFPAY_FPS_MPM = 'QFPAY_FPS_MPM', + QFPAY_PAYME_WEB = 'QFPAY_PAYME_WEB', + QFPAY_POS_ALIPAY = 'QFPAY_POS_ALIPAY', + QFPAY_POS_AMEX = 'QFPAY_POS_AMEX', + QFPAY_POS_CARD = 'QFPAY_POS_CARD', + QFPAY_POS_FPS = 'QFPAY_POS_FPS', + QFPAY_POS_OCTOPUS = 'QFPAY_POS_OCTOPUS', + QFPAY_POS_PAYME = 'QFPAY_POS_PAYME', + QFPAY_POS_UNION = 'QFPAY_POS_UNION', + QFPAY_POS_UNIONCARD = 'QFPAY_POS_UNIONCARD', + QFPAY_POS_WECHATPAY = 'QFPAY_POS_WECHATPAY', + QFPAY_VISA_MASTER_ONLINE = 'QFPAY_VISA_MASTER_ONLINE', + QFPAY_WECHAT_MPM = 'QFPAY_WECHAT_MPM', + SOEPAY_POS_CARD = 'SOEPAY_POS_CARD', + SOEPAY_POS_CASH = 'SOEPAY_POS_CASH', + SOEPAY_POS_QR = 'SOEPAY_POS_QR', + STRIPE_CONNECT_CUSTOM = 'STRIPE_CONNECT_CUSTOM', + STRIPE_CREDIT_CARD = 'STRIPE_CREDIT_CARD', + SWIFTPASS_ALIPAY_PREAUTH = 'SWIFTPASS_ALIPAY_PREAUTH', + SWIFTPASS_ALIPAY_SCAN = 'SWIFTPASS_ALIPAY_SCAN', + SWIFTPASS_WECHAT_PAY_BRIDGE = 'SWIFTPASS_WECHAT_PAY_BRIDGE', + SWIFTPASS_WECHAT_PAY_PREAUTH = 'SWIFTPASS_WECHAT_PAY_PREAUTH', + SWIFTPASS_WECHAT_PAY_SCAN = 'SWIFTPASS_WECHAT_PAY_SCAN', + UPRISE_PAYMENT = 'UPRISE_PAYMENT', +} + +export interface PermissionInput { + /** User access permission key, e.g. companyId/shopId */ + key: Scalars['String']['input']; + /** Roles to assign to the user. */ + value: Array; +} + +export enum ProcessStatus { + FAILURE = 'FAILURE', + PENDING = 'PENDING', + RUNNING = 'RUNNING', + SUCCESS = 'SUCCESS', +} + +export interface ProductCombinationInput { + name: Scalars['String']['input']; + options: Array; +} + +export interface ProductCombinationOptionInput { + name: Scalars['String']['input']; + priceAdjustment?: InputMaybe; +} + +export interface ProductDetailInput { + content: Scalars['String']['input']; + title: Scalars['String']['input']; +} + +export interface ProductFilterInput { + active?: InputMaybe; + attributes?: InputMaybe>; + barcode?: InputMaybe; + basePrice?: InputMaybe; + collectionId?: InputMaybe; + collectionIds?: InputMaybe; + createdAt?: InputMaybe; + hashtags?: InputMaybe; + id?: InputMaybe; + maxPrice?: InputMaybe; + name?: InputMaybe; + primarySortIndex?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + purchaseLimit?: InputMaybe; + quantity?: InputMaybe; + rewriteUri?: InputMaybe; + salesChannels?: InputMaybe; + search?: InputMaybe; + sku?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; + variationBarcodes?: InputMaybe; + variationCost?: InputMaybe; + variationHashtags?: InputMaybe; + variationQuantity?: InputMaybe; + variationSkus?: InputMaybe; + variationStockLocations?: InputMaybe; +} + +export interface ProductInput { + active?: InputMaybe; + attributes?: InputMaybe>; + barcode?: InputMaybe; + basePrice?: InputMaybe; + /** Address collections via handles. */ + collectionCodes?: InputMaybe>; + collectionIds?: InputMaybe>; + combinations?: InputMaybe>; + description?: InputMaybe; + details?: InputMaybe>; + hasPublishDuration?: InputMaybe; + hashTagsArray?: InputMaybe>; + hashtags?: InputMaybe>; + images?: InputMaybe>; + maxPrice?: InputMaybe; + medias?: InputMaybe>; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + metadata?: InputMaybe>; + metadataFields?: InputMaybe>; + modifiers?: InputMaybe>; + name: Scalars['String']['input']; + primarySortIndex?: InputMaybe; + printDescription?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + purchaseLimit?: InputMaybe; + remarkSet?: InputMaybe; + rewriteUri?: InputMaybe; + salesChannels?: InputMaybe>; + shippingZoneIds?: InputMaybe>; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + subtitle?: InputMaybe; + variations?: InputMaybe>; +} + +export interface ProductMediaInput { + alt?: InputMaybe; + /** Partial combination of a product, to act as quick filters for front end. */ + combination?: InputMaybe>; + id?: InputMaybe; + metadata?: InputMaybe>; + src?: InputMaybe; +} + +export interface ProductModifierInput { + /** Maximum option selection */ + max?: InputMaybe; + /** Minimum option selection */ + min?: InputMaybe; + name: Scalars['String']['input']; + options: Array; +} + +export interface ProductModifierOptionInput { + name: Scalars['String']['input']; + priceAdjustment?: InputMaybe; +} + +export interface ProductUnionFilterInput { + active?: InputMaybe; + attributes?: InputMaybe>; + barcode?: InputMaybe; + basePrice?: InputMaybe; + collectionIds?: InputMaybe; + createdAt?: InputMaybe; + hashtags?: InputMaybe; + id?: InputMaybe; + maxPrice?: InputMaybe; + name?: InputMaybe; + primarySortIndex?: InputMaybe; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + sku?: InputMaybe; + subtitle?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ProductVariationCombinationInput { + name: Scalars['String']['input']; + option: Scalars['String']['input']; +} + +export interface ProductVariationInput { + active?: InputMaybe; + barcode?: InputMaybe; + barcodes?: InputMaybe>; + combination?: InputMaybe>; + cost: Scalars['Float']['input']; + hashtags?: InputMaybe>; + id?: InputMaybe; + ignoreStock?: InputMaybe; + images?: InputMaybe>; + ingredients?: InputMaybe; + medias?: InputMaybe>; + quantity?: InputMaybe; + sku: Scalars['String']['input']; + stockLocations?: InputMaybe>; + suggestedRetailPrice?: InputMaybe; + unitPrice: Scalars['Float']['input']; + weight?: InputMaybe; +} + +export interface ProfileUpdateInput { + familyName?: InputMaybe; + givenName?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + nickname?: InputMaybe; + picture?: InputMaybe; + title?: InputMaybe; +} + +export enum ReceiptTemplateType { + FRONT = 'FRONT', + KITCHEN = 'KITCHEN', + LABEL = 'LABEL', + ORDER = 'ORDER', + RECEIPT = 'RECEIPT', + RETURN = 'RETURN', +} + +export interface ReceivePurchaseCreateInput { + deviceId?: InputMaybe; + items: Array; + metadata?: InputMaybe>; + referenceNo?: InputMaybe; + remark?: InputMaybe; + salespersonId?: InputMaybe; + /** specify shop's variation. */ + shopId?: InputMaybe; + staffId?: InputMaybe; + warehouseId: Scalars['ID']['input']; +} + +export interface ReceivePurchaseFilterInput { + active?: InputMaybe; + companyId?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + remark?: InputMaybe; + staffId?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + warehouseId?: InputMaybe; +} + +export interface ReceivePurchaseItemInput { + cost: Scalars['Float']['input']; + id?: InputMaybe; + quantity: Scalars['Int']['input']; + sku: Scalars['ID']['input']; +} + +export interface ReceivePurchaseUpdateInput { + deviceId?: InputMaybe; + items?: InputMaybe>; + metadata?: InputMaybe>; + remark?: InputMaybe; + salespersonId?: InputMaybe; + /** specify shop's variation. */ + shopId?: InputMaybe; + staffId?: InputMaybe; + warehouseId?: InputMaybe; +} + +export interface ReminderSettingInput { + quantity: Scalars['Int']['input']; + remind: Scalars['Boolean']['input']; +} + +export interface ReturnNoteCreateInput { + items: Array; + metadata?: InputMaybe>; + orderId: Scalars['ID']['input']; + referenceNo?: InputMaybe; + remark?: InputMaybe; + shopId: Scalars['ID']['input']; +} + +export interface ReturnNoteFilterInput { + createdAt?: InputMaybe; + id?: InputMaybe; + orderId?: InputMaybe; + orderReferenceNo?: InputMaybe; + /** Order Shop */ + orderShopId?: InputMaybe; + productId?: InputMaybe; + productVariationId?: InputMaybe; + referenceNo?: InputMaybe; + remark?: InputMaybe; + /** Return Shop */ + shopId?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ReturnNoteItemFilterInput { + createdAt?: InputMaybe; + description?: InputMaybe; + quantity?: InputMaybe; + reason?: InputMaybe; + resalable?: InputMaybe; + sku?: InputMaybe; + unitPrice?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ReturnNoteItemSetInput { + bundleProductOptionId?: InputMaybe; + id?: InputMaybe; + metadata?: InputMaybe>; + orderItemId: Scalars['ID']['input']; + reason?: InputMaybe; + remark?: InputMaybe; + resalable: Scalars['Boolean']['input']; + sortIndex?: InputMaybe; +} + +export enum ReturnNoteStatus { + APPROVED = 'APPROVED', + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + REJECTED = 'REJECTED', +} + +export interface ReturnNoteUpdateInput { + items?: InputMaybe>; + metadata?: InputMaybe>; + remark?: InputMaybe; +} + +export enum SalesChannel { + CUTSOMERADO = 'CUTSOMERADO', + DEFAULT = 'DEFAULT', + POS = 'POS', +} + +export interface SalesFilterInput { + deviceId?: InputMaybe; + orderStatus?: InputMaybe; + paymentStatus?: InputMaybe; + shippingStatus?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface ServiceBundleCreateInput { + active?: InputMaybe; + barcode?: InputMaybe; + collectionCodes?: InputMaybe>; + description?: InputMaybe; + hashtags?: InputMaybe>; + medias?: InputMaybe>; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + quantity?: InputMaybe; + rewriteUri?: InputMaybe; + serviceIds: Array; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + slotRequiredAtCheckout: Scalars['Boolean']['input']; + sortIndex?: InputMaybe; + subtitle?: InputMaybe; + suggestedRetailPrice?: InputMaybe; + unitPrice: Scalars['Float']['input']; + validationStrategy?: InputMaybe; +} + +export interface ServiceBundleUpdateInput { + active?: InputMaybe; + barcode?: InputMaybe; + collectionCodes?: InputMaybe>; + description?: InputMaybe; + hashtags?: InputMaybe>; + medias?: InputMaybe>; + metaDescription?: InputMaybe; + metaKeywords?: InputMaybe; + metaTitle?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + publishAt?: InputMaybe; + publishThru?: InputMaybe; + quantity?: InputMaybe; + rewriteUri?: InputMaybe; + serviceIds?: InputMaybe>; + sku: Scalars['String']['input']; + sortIndex?: InputMaybe; + subtitle?: InputMaybe; + suggestedRetailPrice?: InputMaybe; + unitPrice: Scalars['Float']['input']; + validationStrategy?: InputMaybe; +} + +export interface ServiceCreateInput { + active?: InputMaybe; + autoConfirm?: InputMaybe; + availableSince?: InputMaybe; + bundleProductId?: InputMaybe; + description?: InputMaybe; + medias?: InputMaybe>; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + quantity?: InputMaybe; + sections: Array; + serviceLocationIds: Array; + serviceLocationName?: InputMaybe; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + sortIndex?: InputMaybe; + validSince?: InputMaybe; + validUntil?: InputMaybe; +} + +export interface ServiceFilterInput { + active?: InputMaybe; + autoConfirm?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + quantity?: InputMaybe; + serviceLocationId?: InputMaybe; + serviceLocationName?: InputMaybe; + sku?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ServiceLocationCreateInput { + address?: InputMaybe; + durationMins: Scalars['Int']['input']; + maximumAvailableSlots?: InputMaybe; + medias?: InputMaybe>; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; +} + +export interface ServiceLocationFilterInput { + createdAt?: InputMaybe; + durationMins?: InputMaybe; + maximumAvailableSlots?: InputMaybe; + name?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ServiceLocationSlotFilterInput { + serviceLocationId?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface ServiceLocationSlotRuleCreateInput { + capacity: Scalars['Int']['input']; + metadata?: InputMaybe>; + price?: InputMaybe; + recurrence: Scalars['String']['input']; + serviceLocationId: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; +} + +export interface ServiceLocationSlotRuleUpdateInput { + capacity?: InputMaybe; + metadata?: InputMaybe>; + price?: InputMaybe; + recurrence?: InputMaybe; + startedAt?: InputMaybe; +} + +export interface ServiceLocationUpdateInput { + address?: InputMaybe; + durationMins?: InputMaybe; + maximumAvailableSlots?: InputMaybe; + medias?: InputMaybe>; + metadata?: InputMaybe>; + name?: InputMaybe; + sortIndex?: InputMaybe; +} + +export interface ServiceOptionInput { + id?: InputMaybe; + medias?: InputMaybe>; + name: Scalars['String']['input']; + price: Scalars['Float']['input']; + sku: Scalars['String']['input']; +} + +export interface ServiceSectionInput { + description?: InputMaybe; + id?: InputMaybe; + label: Scalars['String']['input']; + options: Array; +} + +export interface ServiceSlotCreateInput { + capacity: Scalars['Int']['input']; + metadata?: InputMaybe>; + price?: InputMaybe; + recurrence?: InputMaybe; + serviceLocationId: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; +} + +export interface ServiceSlotUpdateInput { + capacity?: InputMaybe; + metadata?: InputMaybe>; + price?: InputMaybe; +} + +export interface ServiceUpdateInput { + active?: InputMaybe; + autoConfirm?: InputMaybe; + availableSince?: InputMaybe; + bundleProductId?: InputMaybe; + description?: InputMaybe; + medias?: InputMaybe>; + metadata?: InputMaybe>; + name?: InputMaybe; + quantity?: InputMaybe; + sections?: InputMaybe>; + serviceLocationIds: Array; + serviceLocationName?: InputMaybe; + sku?: InputMaybe; + sortIndex?: InputMaybe; + validSince?: InputMaybe; + validUntil?: InputMaybe; +} + +export enum ServiceValidationStrategy { + PARALLEL = 'PARALLEL', + SERIES = 'SERIES', +} + +export interface ShippingZoneAddressInput { + city?: InputMaybe; + country?: InputMaybe; + email?: InputMaybe; + id?: InputMaybe; + lines?: InputMaybe>; + name?: InputMaybe; + person?: InputMaybe; + tel?: InputMaybe; +} + +export interface ShippingZoneConfigInput { + /** API Username */ + identity: Scalars['String']['input']; + /** API Key */ + secret: Scalars['String']['input']; +} + +export interface ShippingZoneExpressionsInput { + maxWeight?: InputMaybe; + unit: Scalars['Int']['input']; + unitPrice: Scalars['Float']['input']; +} + +export enum ShippingZoneProvider { + DELIVERY = 'DELIVERY', + HK_POST = 'HK_POST', + HK_POST_PICKUP = 'HK_POST_PICKUP', + IN_SITU = 'IN_SITU', + MANUAL = 'MANUAL', + PICKUP = 'PICKUP', + SF_EXPRESS = 'SF_EXPRESS', + SF_PICKUP = 'SF_PICKUP', +} + +export enum ShippingZoneProviderInput { + DELIVERY = 'DELIVERY', + HK_POST = 'HK_POST', + HK_POST_PICKUP = 'HK_POST_PICKUP', + MANUAL = 'MANUAL', + PICKUP = 'PICKUP', + SF_EXPRESS = 'SF_EXPRESS', + SF_PICKUP = 'SF_PICKUP', +} + +export interface ShopAddressInput { + city: Scalars['String']['input']; + country: Country; + email: Scalars['String']['input']; + isDefault: Scalars['Boolean']['input']; + lines?: InputMaybe>; + name?: InputMaybe; + person: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + tel: Scalars['String']['input']; +} + +export interface ShopAppointmentFilterInput { + active?: InputMaybe; + attendanceStatus?: InputMaybe; + createdAt?: InputMaybe; + referenceNo?: InputMaybe; + remark?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ShopAttributeCreateInput { + active?: InputMaybe; + key: Scalars['String']['input']; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; + type: ShopAttributeType; + typename: ShopAttributeTypename; +} + +export interface ShopAttributeFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + key?: InputMaybe; + name?: InputMaybe; + sortIndex?: InputMaybe; + system?: InputMaybe; + type?: InputMaybe; + typename?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum ShopAttributeType { + COLOR = 'COLOR', + NUMBER = 'NUMBER', + TEXT = 'TEXT', +} + +export enum ShopAttributeTypename { + ShopProducts = 'ShopProducts', +} + +export interface ShopAttributeUpdateInput { + active?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + sortIndex?: InputMaybe; +} + +export interface ShopAttributeValueInput { + attributeId?: InputMaybe; + id?: InputMaybe; + key?: InputMaybe; + value: Scalars['String']['input']; +} + +export interface ShopAuthenticationCredentialInput { + active?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + identity?: InputMaybe; + meta?: InputMaybe; + name?: InputMaybe; + platform: ShopAuthenticationCredentialPlatform; + secret?: InputMaybe; + type?: InputMaybe; +} + +export enum ShopAuthenticationCredentialPlatform { + KCONNECT = 'KCONNECT', +} + +export interface ShopBundleProductOptionInput { + collectionId?: InputMaybe; + hashtags?: InputMaybe>; + id?: InputMaybe; + price: Scalars['Float']['input']; + productId?: InputMaybe; +} + +export interface ShopBundleProductSectionInput { + description?: InputMaybe; + id?: InputMaybe; + label: Scalars['String']['input']; + options: Array; +} + +export enum ShopCashFlowDirection { + INBOUND = 'INBOUND', + OUTBOUND = 'OUTBOUND', +} + +export enum ShopContactEmailType { + BILLING = 'BILLING', + EXPORT = 'EXPORT', + GENERAL = 'GENERAL', + ORDER = 'ORDER', +} + +export interface ShopCredentialInput { + active?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + identity?: InputMaybe; + meta?: InputMaybe; + name?: InputMaybe; + platform: ShopCredentialPlatform; + secret?: InputMaybe; + type?: InputMaybe; +} + +export interface ShopCredentialMetaInput { + loginId?: InputMaybe; + loginPWD?: InputMaybe; +} + +export enum ShopCredentialPlatform { + BBMSL = 'BBMSL', + CPCB = 'CPCB', + EFT = 'EFT', + EFT_ALIPAYCN = 'EFT_ALIPAYCN', + EFT_ALIPAYHK = 'EFT_ALIPAYHK', + EFT_FPS = 'EFT_FPS', + EFT_OCTOPUS = 'EFT_OCTOPUS', + EFT_PAYME = 'EFT_PAYME', + EFT_POS = 'EFT_POS', + EFT_UNIONPAY = 'EFT_UNIONPAY', + EFT_VM = 'EFT_VM', + EFT_WECHAT = 'EFT_WECHAT', + HK_POST = 'HK_POST', + KCONNECT = 'KCONNECT', + KPAY = 'KPAY', + KPAY_ALIPAY_SALE_QR = 'KPAY_ALIPAY_SALE_QR', + KPAY_CNP_SALES_GATEWAY = 'KPAY_CNP_SALES_GATEWAY', + KPAY_POS = 'KPAY_POS', + KPAY_POS_PAYMENT = 'KPAY_POS_PAYMENT', + KPAY_POS_SCAN = 'KPAY_POS_SCAN', + KPAY_UNIONPAY_SALE_QR = 'KPAY_UNIONPAY_SALE_QR', + KPAY_WXPAY_SALE_QR = 'KPAY_WXPAY_SALE_QR', + MANUAL = 'MANUAL', + OCGC = 'OCGC', + OCGC_ALIPAY_HK = 'OCGC_ALIPAY_HK', + OCGC_ALIPAY_HK_PREAUTH = 'OCGC_ALIPAY_HK_PREAUTH', + OCGC_ALIPAY_HK_SCAN = 'OCGC_ALIPAY_HK_SCAN', + OCGC_ALIPAY_OVERSEA = 'OCGC_ALIPAY_OVERSEA', + OCGC_SMARTPAY = 'OCGC_SMARTPAY', + OCGC_SMARTPAY_CREDITCARD = 'OCGC_SMARTPAY_CREDITCARD', + OCGC_SMARTPAY_UNIONPAY = 'OCGC_SMARTPAY_UNIONPAY', + OCGC_WECHAT_PAY_HK = 'OCGC_WECHAT_PAY_HK', + OCGC_WECHAT_PAY_HK_BRIDGE = 'OCGC_WECHAT_PAY_HK_BRIDGE', + OCGC_WECHAT_PAY_HK_PREAUTH = 'OCGC_WECHAT_PAY_HK_PREAUTH', + OCGC_WECHAT_PAY_HK_SCAN = 'OCGC_WECHAT_PAY_HK_SCAN', + OCGC_WECHAT_PAY_OVERSEA = 'OCGC_WECHAT_PAY_OVERSEA', + OPENAI = 'OPENAI', + PAYPAL = 'PAYPAL', + QFPAY = 'QFPAY', + QFPAY_POS = 'QFPAY_POS', + SF_EXPRESS = 'SF_EXPRESS', + SOEPAY_POS = 'SOEPAY_POS', + STRIPE_CONNECT_CUSTOM = 'STRIPE_CONNECT_CUSTOM', + STRIPE_CREDIT_CARD = 'STRIPE_CREDIT_CARD', + SWIFTPASS = 'SWIFTPASS', + SWIFTPASS_ALIPAY = 'SWIFTPASS_ALIPAY', + SWIFTPASS_ALIPAY_PREAUTH = 'SWIFTPASS_ALIPAY_PREAUTH', + SWIFTPASS_ALIPAY_SCAN = 'SWIFTPASS_ALIPAY_SCAN', + SWIFTPASS_WECHAT_PAY = 'SWIFTPASS_WECHAT_PAY', + SWIFTPASS_WECHAT_PAY_BRIDGE = 'SWIFTPASS_WECHAT_PAY_BRIDGE', + SWIFTPASS_WECHAT_PAY_PREAUTH = 'SWIFTPASS_WECHAT_PAY_PREAUTH', + SWIFTPASS_WECHAT_PAY_SCAN = 'SWIFTPASS_WECHAT_PAY_SCAN', + UPRISE_PAYMENT = 'UPRISE_PAYMENT', + WECHAT_AUTH = 'WECHAT_AUTH', +} + +export enum ShopCredentialType { + AUTHENTICATION = 'AUTHENTICATION', + PAYMENT = 'PAYMENT', + SHIPMENT = 'SHIPMENT', +} + +export interface ShopDeviceCreateInput { + active?: InputMaybe; + configs?: InputMaybe; + defaultConfigs?: InputMaybe; + description?: InputMaybe; + deviceId: Scalars['ID']['input']; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; +} + +export interface ShopDeviceMetricCreateInput { + metadata: Array; +} + +export enum ShopDeviceStatus { + OFFLINE = 'OFFLINE', + ONLINE = 'ONLINE', +} + +export interface ShopDeviceUpdateInput { + active?: InputMaybe; + configs?: InputMaybe; + defaultConfigs?: InputMaybe; + description?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; +} + +export interface ShopEmailSendInput { + from?: InputMaybe; + html?: InputMaybe; + shopId: Scalars['ID']['input']; + subject: Scalars['String']['input']; + templateData?: InputMaybe; + templateType?: InputMaybe; + to: Array; +} + +export interface ShopEmailTemplateCreateInput { + active?: InputMaybe; + configs?: InputMaybe; + isDefault?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + type: ShopEmailTemplateType; +} + +export interface ShopEmailTemplateFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum ShopEmailTemplateType { + CUSTOMER_BLOCK = 'CUSTOMER_BLOCK', + ORDER_CANCELLATION = 'ORDER_CANCELLATION', + ORDER_CONFIRMATION = 'ORDER_CONFIRMATION', + PASSWORD_CHANGE_SUCCESS = 'PASSWORD_CHANGE_SUCCESS', + PASSWORD_RESET = 'PASSWORD_RESET', + PRODUCT_ENQUIRY = 'PRODUCT_ENQUIRY', + SHIPMENT_TRACKING_UPDATES = 'SHIPMENT_TRACKING_UPDATES', + WELCOME_AND_VERIFY = 'WELCOME_AND_VERIFY', +} + +export interface ShopEmailTemplateUpdateInput { + active?: InputMaybe; + configs?: InputMaybe; + isDefault?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; +} + +export interface ShopFormCreateInput { + active?: InputMaybe; + autoApprove?: InputMaybe; + metadata?: InputMaybe>; + metadataFields: Array; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface ShopFormFilterInput { + active?: InputMaybe; + autoApprove?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + updatedAt?: InputMaybe; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface ShopFormRecordFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + customerId?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum ShopFormRecordStatus { + APPROVED = 'APPROVED', + PENDING = 'PENDING', + REJECTED = 'REJECTED', +} + +export interface ShopFormUpdateInput { + active?: InputMaybe; + autoApprove?: InputMaybe; + metadata?: InputMaybe>; + metadataFields?: InputMaybe>; + name?: InputMaybe; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface ShopManualCredentialInput { + active?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name: Scalars['String']['input']; +} + +export interface ShopMarqueeFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ShopMarqueeInput { + active?: InputMaybe; + backgroundColor?: InputMaybe; + closable?: InputMaybe; + content?: InputMaybe; + path?: InputMaybe; + positionBottom?: InputMaybe; + positionTop?: InputMaybe; + shopId: Scalars['ID']['input']; +} + +export enum ShopOrderDeliveryNoteStatus { + COMPLETED = 'COMPLETED', + PARTIAL = 'PARTIAL', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', + SHIPPING = 'SHIPPING', +} + +export enum ShopOrderInvoiceStatus { + COMPLETED = 'COMPLETED', + PARTIAL_PAID = 'PARTIAL_PAID', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export enum ShopOrderKitchenStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export enum ShopOrderStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export interface ShopPaymentCredentialInput { + active?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + identity?: InputMaybe; + meta?: InputMaybe; + name?: InputMaybe; + platform: ShopPaymentCredentialPlatform; + secret?: InputMaybe; + type?: InputMaybe; +} + +export enum ShopPaymentCredentialPlatform { + CPCB = 'CPCB', + EFT_ALIPAYCN = 'EFT_ALIPAYCN', + EFT_ALIPAYHK = 'EFT_ALIPAYHK', + EFT_FPS = 'EFT_FPS', + EFT_OCTOPUS = 'EFT_OCTOPUS', + EFT_PAYME = 'EFT_PAYME', + EFT_UNIONPAY = 'EFT_UNIONPAY', + EFT_VM = 'EFT_VM', + EFT_WECHAT = 'EFT_WECHAT', + KPAY_ALIPAY_SALE_QR = 'KPAY_ALIPAY_SALE_QR', + KPAY_CNP_SALES_GATEWAY = 'KPAY_CNP_SALES_GATEWAY', + KPAY_POS_PAYMENT = 'KPAY_POS_PAYMENT', + KPAY_POS_SCAN = 'KPAY_POS_SCAN', + KPAY_UNIONPAY_SALE_QR = 'KPAY_UNIONPAY_SALE_QR', + KPAY_WXPAY_SALE_QR = 'KPAY_WXPAY_SALE_QR', + MANUAL = 'MANUAL', + OCGC_ALIPAY_HK = 'OCGC_ALIPAY_HK', + OCGC_ALIPAY_HK_PREAUTH = 'OCGC_ALIPAY_HK_PREAUTH', + OCGC_ALIPAY_HK_SCAN = 'OCGC_ALIPAY_HK_SCAN', + OCGC_ALIPAY_OVERSEA = 'OCGC_ALIPAY_OVERSEA', + OCGC_SMARTPAY_CREDITCARD = 'OCGC_SMARTPAY_CREDITCARD', + OCGC_SMARTPAY_UNIONPAY = 'OCGC_SMARTPAY_UNIONPAY', + OCGC_WECHAT_PAY_HK = 'OCGC_WECHAT_PAY_HK', + OCGC_WECHAT_PAY_HK_BRIDGE = 'OCGC_WECHAT_PAY_HK_BRIDGE', + OCGC_WECHAT_PAY_HK_PREAUTH = 'OCGC_WECHAT_PAY_HK_PREAUTH', + OCGC_WECHAT_PAY_HK_SCAN = 'OCGC_WECHAT_PAY_HK_SCAN', + OCGC_WECHAT_PAY_OVERSEA = 'OCGC_WECHAT_PAY_OVERSEA', + STRIPE_CONNECT_CUSTOM = 'STRIPE_CONNECT_CUSTOM', + STRIPE_CREDIT_CARD = 'STRIPE_CREDIT_CARD', + SWIFTPASS_ALIPAY = 'SWIFTPASS_ALIPAY', + SWIFTPASS_ALIPAY_PREAUTH = 'SWIFTPASS_ALIPAY_PREAUTH', + SWIFTPASS_ALIPAY_SCAN = 'SWIFTPASS_ALIPAY_SCAN', + SWIFTPASS_WECHAT_PAY = 'SWIFTPASS_WECHAT_PAY', + SWIFTPASS_WECHAT_PAY_BRIDGE = 'SWIFTPASS_WECHAT_PAY_BRIDGE', + SWIFTPASS_WECHAT_PAY_PREAUTH = 'SWIFTPASS_WECHAT_PAY_PREAUTH', + SWIFTPASS_WECHAT_PAY_SCAN = 'SWIFTPASS_WECHAT_PAY_SCAN', + UPRISE_PAYMENT = 'UPRISE_PAYMENT', + WECHAT_AUTH = 'WECHAT_AUTH', +} + +export interface ShopPopupCreateInput { + active?: InputMaybe; + content?: InputMaybe; + href?: InputMaybe; + path?: InputMaybe; + shopId: Scalars['ID']['input']; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface ShopPopupUpdateInput { + active?: InputMaybe; + content?: InputMaybe; + href?: InputMaybe; + path?: InputMaybe; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export interface ShopProductModifierCreateInput { + active?: InputMaybe; + code: Scalars['String']['input']; + metadata?: InputMaybe>; + modifiers: Array; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; +} + +export interface ShopProductModifierFilterInput { + active?: InputMaybe; + code?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ShopProductModifierUpdateInput { + active?: InputMaybe; + code?: InputMaybe; + metadata?: InputMaybe>; + modifiers?: InputMaybe>; + name?: InputMaybe; + sortIndex?: InputMaybe; +} + +export interface ShopReceiptTemplateCreateInput { + active?: InputMaybe; + configs?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + type: ReceiptTemplateType; +} + +export interface ShopReceiptTemplateFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ShopReceiptTemplateUpdateInput { + active?: InputMaybe; + configs?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; +} + +export interface ShopReferenceNoFormatCreateInput { + length: Scalars['Int']['input']; + prefix: Scalars['String']['input']; + shopId: Scalars['String']['input']; + type: ShopReferenceNoFormatType; +} + +export interface ShopReferenceNoFormatFilterInput { + active?: InputMaybe; + completedAt?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + length?: InputMaybe; + prefix?: InputMaybe; + shopId?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export enum ShopReferenceNoFormatType { + INVOICE_CREDIT_NOTES = 'INVOICE_CREDIT_NOTES', + ORDER_DELIVERY_NOTES = 'ORDER_DELIVERY_NOTES', + ORDER_INVOICES = 'ORDER_INVOICES', + SHOP_ORDERS = 'SHOP_ORDERS', +} + +export interface ShopReferenceNoFormatUpdateInput { + length?: InputMaybe; + prefix?: InputMaybe; +} + +export interface ShopShippingCredentialInput { + active?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + identity?: InputMaybe; + meta?: InputMaybe; + name?: InputMaybe; + platform: ShopShippingCredentialPlatform; + secret?: InputMaybe; + type?: InputMaybe; +} + +export enum ShopShippingCredentialPlatform { + HK_POST = 'HK_POST', + SF_EXPRESS = 'SF_EXPRESS', +} + +export enum ShopShippingZoneBulkAction { + DELETE = 'DELETE', +} + +export interface ShopShippingZoneFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + maxWeight?: InputMaybe; + name?: InputMaybe; + provider?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface ShopShippingZoneInput { + active?: InputMaybe; + addresses?: InputMaybe>; + /** Optional: For HK Post and SF to store authentication keys */ + config?: InputMaybe; + countries?: InputMaybe>; + expressions?: InputMaybe>; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + provider: ShippingZoneProviderInput; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; +} + +export interface ShopTaxZoneInput { + countries?: InputMaybe>; + shopId: Scalars['ID']['input']; + taxRate?: InputMaybe; +} + +export enum SortOrder { + ASC = 'ASC', + DESC = 'DESC', +} + +export interface SorterInput { + field: Scalars['String']['input']; + order: SortOrder; +} + +export enum StaffRole { + MANAGER = 'MANAGER', + STAFF = 'STAFF', +} + +export interface StockAdjustmentCreateInput { + items: Array; + metadata?: InputMaybe>; + referenceNo?: InputMaybe; + remark?: InputMaybe; + shopId: Scalars['ID']['input']; + staffId?: InputMaybe; + warehouseId: Scalars['ID']['input']; +} + +export interface StockAdjustmentFilterInput { + createdAt?: InputMaybe; + deviceId?: InputMaybe; + id?: InputMaybe; + referenceNo?: InputMaybe; + remark?: InputMaybe; + shopId?: InputMaybe; + staffId?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + warehouseId?: InputMaybe; +} + +export interface StockAdjustmentItemFilterInput { + cost?: InputMaybe; + createdAt?: InputMaybe; + quantity?: InputMaybe; + remark?: InputMaybe; + sku?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface StockAdjustmentItemSetInput { + cost?: InputMaybe; + id?: InputMaybe; + metadata?: InputMaybe>; + quantity: Scalars['Int']['input']; + remark?: InputMaybe; + sku: Scalars['String']['input']; + sortIndex?: InputMaybe; +} + +export enum StockAdjustmentStatus { + CANCELLED = 'CANCELLED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + VOIDED = 'VOIDED', +} + +export interface StockAdjustmentUpdateInput { + items?: InputMaybe>; + metadata?: InputMaybe>; + remark?: InputMaybe; + staffId?: InputMaybe; + warehouseId?: InputMaybe; +} + +export enum StockMovementDirection { + INBOUND = 'INBOUND', + OUTBOUND = 'OUTBOUND', +} + +export interface StockMovementFilterInput { + createdAt?: InputMaybe; + reference?: InputMaybe; + sku?: InputMaybe; +} + +export enum StockMovementStatus { + NORMAL = 'NORMAL', + VOIDED = 'VOIDED', +} + +export interface StockTransferCreateInput { + deviceId?: InputMaybe; + inboundWarehouseId: Scalars['ID']['input']; + items: Array; + metadata?: InputMaybe>; + outboundWarehouseId: Scalars['ID']['input']; + referenceNo?: InputMaybe; + remark?: InputMaybe; + salespersonId?: InputMaybe; + shopId?: InputMaybe; + staffId?: InputMaybe; + transferWarehouseId: Scalars['ID']['input']; +} + +export interface StockTransferFilterInput { + active?: InputMaybe; + companyId?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + inboundWarehouseId?: InputMaybe; + outboundWarehouseId?: InputMaybe; + remark?: InputMaybe; + staffId?: InputMaybe; + status?: InputMaybe; + transferWarehouseId?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface StockTransferItemFilterInput { + createdAt?: InputMaybe; + quantity?: InputMaybe; + remark?: InputMaybe; + sku?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface StockTransferUpdateInput { + deviceId?: InputMaybe; + inboundWarehouseId?: InputMaybe; + items?: InputMaybe>; + metadata?: InputMaybe>; + outboundWarehouseId?: InputMaybe; + remark?: InputMaybe; + salespersonId?: InputMaybe; + staffId?: InputMaybe; + transferWarehouseId?: InputMaybe; +} + +export interface StocktakeInput { + deviceId?: InputMaybe; + metadata?: InputMaybe>; + referenceNo?: InputMaybe; + remark?: InputMaybe; + salespersonId?: InputMaybe; + shopId?: InputMaybe; + staffId?: InputMaybe; + warehouseId: Scalars['ID']['input']; +} + +export interface StocktakeItemInput { + currentStock: Scalars['Int']['input']; + quantity: Scalars['Int']['input']; + sku: Scalars['String']['input']; +} + +export interface SubCouponInput { + applyCode: CouponApplyCode; + isRedeemable?: InputMaybe; + memberPointCost?: InputMaybe; + numberOfRedeem?: InputMaybe; + usage?: InputMaybe; +} + +export enum SubscriptionType { + EMAIL = 'EMAIL', + PUSH = 'PUSH', + SMS = 'SMS', +} + +export interface TableCreateInput { + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shape?: InputMaybe; + shapeData?: InputMaybe>; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; + status?: InputMaybe; + venueId: Scalars['ID']['input']; +} + +export interface TableFilterInput { + color?: InputMaybe; + createdAt?: InputMaybe; + name?: InputMaybe; + shape?: InputMaybe; + sortIndex?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + venueId?: InputMaybe; +} + +export enum TableShape { + CIRCLE = 'CIRCLE', + POLYGON = 'POLYGON', +} + +export enum TableStatus { + CANCELED = 'CANCELED', + COMPLETED = 'COMPLETED', + PENDING = 'PENDING', + PROCESSING = 'PROCESSING', +} + +export interface TableUpdateInput { + metadata?: InputMaybe>; + name?: InputMaybe; + shape?: InputMaybe; + shapeData?: InputMaybe>; + sortIndex?: InputMaybe; + status?: InputMaybe; + venueId?: InputMaybe; +} + +export interface TransferItemInput { + id?: InputMaybe; + metadata?: InputMaybe>; + quantity: Scalars['Int']['input']; + remark?: InputMaybe; + sku: Scalars['ID']['input']; +} + +export enum UpgradeConditionType { + SINGLE_PURCHASE = 'SINGLE_PURCHASE', + SPECIFIC_PERIOD = 'SPECIFIC_PERIOD', +} + +export interface UploadUrlInput { + /** Description of the uploaded file, reserved for future use. */ + description?: InputMaybe; + /** Desinated mime type of the file to be uploaded, this affects the resulting file extension. */ + mime?: InputMaybe; +} + +export interface UserAddressInput { + country?: InputMaybe; + email?: InputMaybe; + id?: InputMaybe; + isDefault?: InputMaybe; + lines?: InputMaybe>; + name?: InputMaybe; + person?: InputMaybe; + tel?: InputMaybe; +} + +export interface UserCouponExportFilterInput { + /** Redeem Date */ + createdAt?: InputMaybe; + customerId?: InputMaybe; + /** couponId */ + id?: InputMaybe; + status?: InputMaybe; + /** Use Date */ + usedAt?: InputMaybe; + validAt?: InputMaybe; + /** Expiry Date */ + validThru?: InputMaybe; +} + +export interface UserCouponFilterInput { + /** Customer.coupons only */ + couponResolvable?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + status?: InputMaybe; + updatedAt?: InputMaybe; + usedAt?: InputMaybe; + userId?: InputMaybe; + validAt?: InputMaybe; + validThru?: InputMaybe; +} + +export enum UserCouponStatus { + ACTIVE = 'ACTIVE', + EXPIRED = 'EXPIRED', + USED = 'USED', +} + +export interface UserCreateInput { + hashtags?: InputMaybe>; + isEmailVerified?: InputMaybe; + isPhoneNumberVerified?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + permissions: Array; + picture?: InputMaybe; +} + +export interface UserCredentialInput { + email: Scalars['AWSEmail']['input']; + mobile?: InputMaybe; + /** Validation of AWSPhone is outdated for HK, using awesome-phonenumber. */ + mobileV2?: InputMaybe; + password: Scalars['String']['input']; +} + +export interface UserCredentialUpdateInput { + email?: InputMaybe; + mobile?: InputMaybe; + /** Validation of AWSPhone is outdated for HK, using awesome-phonenumber. */ + mobileV2?: InputMaybe; + password?: InputMaybe; +} + +export interface UserFilterInput { + active?: InputMaybe; + companyId?: InputMaybe; + createdAt?: InputMaybe; + email?: InputMaybe; + hashTags?: InputMaybe>>; + hashtags?: InputMaybe>; + id?: InputMaybe; + name?: InputMaybe; + phoneNumber?: InputMaybe; + query?: InputMaybe>; + search?: InputMaybe; + shopId?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface UserMemberTierFilterInput { + createdAt?: InputMaybe; + id?: InputMaybe; + memberTierId?: InputMaybe; + startedAt?: InputMaybe; + startedThru?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface UserMemberTierSetInput { + memberTierId: Scalars['String']['input']; + metadata?: InputMaybe>; + /** Optional expiry date, defaults to be calcualted with CompanyMemberTier.validForPeriod. */ + startedThru?: InputMaybe; +} + +export interface UserQueryFilterInput { + key: Scalars['String']['input']; + value: Scalars['String']['input']; +} + +export interface UserRegisterShopInput { + name: Scalars['String']['input']; +} + +export interface UserRegisterUserInput { + name?: InputMaybe; +} + +export interface UserSalesFilterInput { + startedAt?: InputMaybe; + startedThru?: InputMaybe; +} + +export interface UserShopsFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + isContactEmailVerified?: InputMaybe; + name?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface UserUpdateInput { + hashtags?: InputMaybe>; + isEmailVerified?: InputMaybe; + isPhoneNumberVerified?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + permissions?: InputMaybe>; + picture?: InputMaybe; +} + +export interface VenueCreateInput { + media?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shopId: Scalars['ID']['input']; + sortIndex?: InputMaybe; + tables?: InputMaybe>; +} + +export interface VenueFilterInput { + createdAt?: InputMaybe; + name?: InputMaybe; + sortIndex?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface VenueTableSetInput { + id?: InputMaybe; + metadata?: InputMaybe>; + name: Scalars['String']['input']; + shape?: InputMaybe; + shapeData?: InputMaybe>; + sortIndex?: InputMaybe; + status?: InputMaybe; +} + +export interface VenueUpdateInput { + media?: InputMaybe; + metadata?: InputMaybe>; + name?: InputMaybe; + sortIndex?: InputMaybe; + tables?: InputMaybe>; +} + +export interface WarehouseFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + type?: InputMaybe; + updatedAt?: InputMaybe; +} + +export interface WarehouseSetInput { + active?: InputMaybe; + address?: InputMaybe; + companyId: Scalars['String']['input']; + name: Scalars['String']['input']; + shopIds?: InputMaybe>; + type?: InputMaybe; +} + +export interface WishItemFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + productId?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; + wishlistId?: InputMaybe; +} + +export interface WishItemSetInput { + bundleProductId?: InputMaybe; + description?: InputMaybe; + productId?: InputMaybe; + wishlistId?: InputMaybe; +} + +export interface WishlistFilterInput { + active?: InputMaybe; + createdAt?: InputMaybe; + id?: InputMaybe; + isDefault?: InputMaybe; + name?: InputMaybe; + updatedAt?: InputMaybe; + userId?: InputMaybe; +} + +export interface WishlistSetInput { + description?: InputMaybe; + name: Scalars['String']['input']; +} + +export const scalarsEnumsHash: ScalarsEnumsHash = { + AWSDateTime: true, + AWSEmail: true, + AWSJSON: true, + AWSPhone: true, + AWSURL: true, + AccountHolderType: true, + AddOnProductType: true, + ApplicationStatus: true, + AppointmentAttendanceStatus: true, + AppointmentStatus: true, + AttendanceDirection: true, + AttributeFilterOperator: true, + BatchAssignmentOperator: true, + BatchOperator: true, + Boolean: true, + CampaignActionType: true, + CampaignMatchMode: true, + CampaignRecipientActionStatus: true, + CampaignRecipientStatus: true, + CashVoucherCodeStatus: true, + ChannelMessageType: true, + ChannelType: true, + CheckoutItemSetOperator: true, + CheckoutRoundingStrategy: true, + CheckoutStatus: true, + CollectionBulkAction: true, + CompanyMemberMetadataFieldType: true, + CompanyReceivePurchaseStatus: true, + CompanyStockTransferStatus: true, + CompanyStocktakeStatus: true, + CompanyWarehouseTypes: true, + Country: true, + CouponActionType: true, + CouponActionValueType: true, + CouponApplyCode: true, + CouponTriggerType: true, + CouponTriggerValueType: true, + DeliveryNoteStatus: true, + DiscountActionType: true, + DiscountActionValueType: true, + DiscountTriggerType: true, + DiscountTriggerValueType: true, + ExpiryDateTypes: true, + FilterOperator: true, + Float: true, + GiftPointDirection: true, + GiftPointStatus: true, + HKPostMailType: true, + HKPostShipCode: true, + ID: true, + Int: true, + InvoiceCreditNoteStatus: true, + MediaContentType: true, + MediaFitting: true, + MediaGravity: true, + MemberPointReleasePolicy: true, + NavigationTemplateType: true, + OneTimeTokenStatus: true, + OneTimeTokenType: true, + OrderAdjustmentTypes: true, + OrderBulkAction: true, + OrderInvoiceStatus: true, + PageBulkAction: true, + PaymentProvider: true, + ProcessStatus: true, + ReceiptTemplateType: true, + ReturnNoteStatus: true, + SalesChannel: true, + ServiceValidationStrategy: true, + ShippingZoneProvider: true, + ShippingZoneProviderInput: true, + ShopAttributeType: true, + ShopAttributeTypename: true, + ShopAuthenticationCredentialPlatform: true, + ShopCashFlowDirection: true, + ShopContactEmailType: true, + ShopCredentialPlatform: true, + ShopCredentialType: true, + ShopDeviceStatus: true, + ShopEmailTemplateType: true, + ShopFormRecordStatus: true, + ShopOrderDeliveryNoteStatus: true, + ShopOrderInvoiceStatus: true, + ShopOrderKitchenStatus: true, + ShopOrderStatus: true, + ShopPaymentCredentialPlatform: true, + ShopReferenceNoFormatType: true, + ShopShippingCredentialPlatform: true, + ShopShippingZoneBulkAction: true, + SortOrder: true, + StaffRole: true, + StockAdjustmentStatus: true, + StockMovementDirection: true, + StockMovementStatus: true, + String: true, + SubscriptionType: true, + TableShape: true, + TableStatus: true, + UpgradeConditionType: true, + UserCouponStatus: true, +}; +export const generatedSchema = { + AddOnProductFilterInput: { + active: { __type: 'FilterInput' }, + amount: { __type: 'FilterInput' }, + cost: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + ignoreStock: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + productId: { __type: 'FilterInput' }, + publishAt: { __type: 'FilterInput' }, + publishThru: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + unitPrice: { __type: 'FilterInput' }, + weight: { __type: 'FilterInput' }, + }, + AddOnProductInput: { + active: { __type: 'Boolean!' }, + amount: { __type: 'Float' }, + barcode: { __type: 'String' }, + cost: { __type: 'Float' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + ignoreStock: { __type: 'Boolean!' }, + medias: { __type: '[MediaInput!]' }, + name: { __type: 'String!' }, + productId: { __type: 'ID' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + purchaseLimit: { __type: 'Int' }, + quantity: { __type: 'Int' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + type: { __type: 'AddOnProductType!' }, + unitPrice: { __type: 'Float!' }, + weight: { __type: 'Float' }, + }, + Address: { + __typename: { __type: 'String!' }, + city: { __type: 'String' }, + country: { __type: 'Country!' }, + district: { __type: 'String' }, + email: { __type: 'String' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + AddressInput: { + city: { __type: 'String' }, + country: { __type: 'Country!' }, + district: { __type: 'String' }, + email: { __type: 'String' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + AgencyService: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + agent: { __type: 'User!' }, + applications: { + __type: 'ServiceApplicationConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String!' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + AgencyServiceApplication: { + __typename: { __type: 'String!' }, + agent: { __type: 'User!' }, + comments: { __type: '[ApplicationComment]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + meta: { __type: 'AWSJSON' }, + service: { __type: 'AgencyService!' }, + shop: { __type: 'CompanyShop!' }, + status: { __type: 'ApplicationStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + AgencyServiceApplicationInput: { + serviceId: { __type: 'ID!' }, + shopId: { __type: 'ID!' }, + }, + AgencyServiceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[AgencyService!]!' }, + totalCount: { __type: 'Int!' }, + }, + AgencyServiceInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + title: { __type: 'String!' }, + }, + AnalysisToolFilterInput: { + active: { __type: 'FilterInput' }, + context: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + AnalysisToolInput: { + active: { __type: 'Boolean' }, + context: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + type: { __type: 'String!' }, + }, + ApplicationComment: { + __typename: { __type: 'String!' }, + application: { __type: 'AgencyServiceApplication!' }, + content: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + user: { __type: 'User!' }, + }, + ApplicationCommentInput: { content: { __type: 'String!' } }, + AppointmentCreateInput: { + customerId: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + orderItemId: { __type: 'ID!' }, + remark: { __type: 'String' }, + serviceBundleId: { __type: 'ID' }, + serviceId: { __type: 'ID!' }, + serviceLocationId: { __type: 'ID!' }, + shopId: { __type: 'ID!' }, + startedAt: { __type: 'AWSDateTime!' }, + startedThru: { __type: 'AWSDateTime!' }, + }, + AppointmentUpdateInput: { + metadata: { __type: '[MetadataInput!]' }, + remark: { __type: 'String' }, + }, + AttendanceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopAttendance!]!' }, + totalCount: { __type: 'Int!' }, + }, + AttendanceCreateInput: { + createdAt: { __type: 'AWSDateTime' }, + direction: { __type: 'AttendanceDirection!' }, + metadata: { __type: '[MetadataInput!]' }, + shopId: { __type: 'ID!' }, + staffId: { __type: 'ID!' }, + }, + AttendanceFilterInput: { + createdAt: { __type: 'FilterInput' }, + direction: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + staffId: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + AttendanceSecondsByDay: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdThru: { __type: 'AWSDateTime!' }, + seconds: { __type: 'Int!' }, + shopId: { __type: 'ID!' }, + shopName: { __type: 'String!' }, + }, + AttributeFilter: { + __typename: { __type: 'String!' }, + key: { __type: 'String!' }, + name: { __type: 'String!' }, + type: { __type: 'ShopAttributeType!' }, + value: { __type: '[String!]!' }, + }, + AttributeFilterInput: { + key: { __type: 'String!' }, + operator: { __type: 'AttributeFilterOperator!' }, + value: { __type: '[String!]!' }, + }, + BankAccountInput: { + account_holder_name: { __type: 'String' }, + account_holder_type: { __type: 'AccountHolderType' }, + account_number: { __type: 'String' }, + branch_number: { __type: 'String' }, + country: { __type: 'String' }, + currency: { __type: 'String' }, + routing_number: { __type: 'String' }, + }, + BundleProductCreateInput: { + active: { __type: 'Boolean' }, + barcode: { __type: 'String' }, + collectionCodes: { __type: '[String!]' }, + cost: { __type: 'Float' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]!' }, + ignoreStock: { __type: 'Boolean' }, + medias: { __type: '[MediaInput!]!' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String!' }, + primarySortIndex: { __type: 'Int' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int' }, + rewriteUri: { __type: 'String' }, + salesChannels: { __type: '[SalesChannel!]' }, + sections: { __type: '[ShopBundleProductSectionInput!]!' }, + shippingZoneIds: { __type: '[ID!]' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float!' }, + weight: { __type: 'Float' }, + }, + BundleProductUpdateInput: { + active: { __type: 'Boolean' }, + barcode: { __type: 'String' }, + collectionCodes: { __type: '[String!]' }, + cost: { __type: 'Float' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + ignoreStock: { __type: 'Boolean' }, + medias: { __type: '[MediaInput!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String' }, + primarySortIndex: { __type: 'Int' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int' }, + rewriteUri: { __type: 'String' }, + salesChannels: { __type: '[SalesChannel!]' }, + sections: { __type: '[ShopBundleProductSectionInput!]' }, + shippingZoneIds: { __type: '[ID!]' }, + sku: { __type: 'String' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float' }, + weight: { __type: 'Float' }, + }, + CampaignAction: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + campaign: { __type: 'ShopCampaign!' }, + content: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + richContent: { __type: 'String' }, + type: { __type: 'CampaignActionType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CampaignActionFilterInput: { + active: { __type: 'FilterInput' }, + content: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + createdBy: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + updatedBy: { __type: 'FilterInput' }, + }, + CampaignActionInput: { + content: { __type: 'String!' }, + id: { __type: 'ID' }, + richContent: { __type: 'String' }, + type: { __type: 'CampaignActionType!' }, + }, + CampaignActionResult: { + __typename: { __type: 'String!' }, + action: { __type: 'CampaignActionType!' }, + failureCount: { __type: 'Int!' }, + successCount: { __type: 'Int!' }, + }, + CampaignConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopCampaign!]!' }, + totalCount: { __type: 'Int!' }, + }, + CampaignFilterInput: { + actionTypes: { __type: 'FilterInput' }, + active: { __type: 'FilterInput' }, + content: { __type: 'FilterInput' }, + couponId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + excludedHashtags: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + targetHashtags: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + CampaignRecipient: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + campaign: { __type: 'ShopCampaign!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + referenceId: { __type: 'String' }, + responseMessage: { __type: 'AWSJSON' }, + sendingStatus: { __type: 'CampaignRecipientStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + userId: { __type: 'String!' }, + }, + CampaignRecipientConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CampaignRecipient!]!' }, + totalCount: { __type: 'Int!' }, + }, + CampaignRecipientFilterInput: { + actionTypes: { __type: 'FilterInput' }, + active: { __type: 'FilterInput' }, + campaignId: { __type: 'FilterInput' }, + contact: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + referenceId: { __type: 'FilterInput' }, + responseMessage: { __type: 'FilterInput' }, + sendingStatus: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + CampaignResult: { + __typename: { __type: 'String!' }, + failureCount: { __type: 'Int!' }, + pendingCount: { __type: 'Int!' }, + successCount: { __type: 'Int!' }, + }, + CampaignSetInput: { + actionType: { __type: 'CampaignActionType' }, + actionTypes: { __type: '[CampaignActionType!]' }, + actions: { __type: '[CampaignActionInput!]' }, + content: { __type: 'String' }, + couponId: { __type: 'ID' }, + couponIds: { __type: '[ID!]' }, + excludedHashtags: { __type: '[String!]' }, + excludedMatchMode: { __type: 'CampaignMatchMode' }, + matchMode: { __type: 'CampaignMatchMode' }, + name: { __type: 'String' }, + richContent: { __type: 'String' }, + shopId: { __type: 'ID!' }, + targetHashtags: { __type: '[String!]' }, + targetMatchMode: { __type: 'CampaignMatchMode' }, + thumbnail: { __type: 'MediaInput' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + CashFlowFilterInput: { + amount: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + deviceId: { __type: 'FilterInput' }, + direction: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + CashFlowInput: { + amount: { __type: 'Float!' }, + deviceId: { __type: 'String!' }, + direction: { __type: 'ShopCashFlowDirection!' }, + remark: { __type: 'String' }, + shopId: { __type: 'ID!' }, + }, + CashVoucherSetInput: { + active: { __type: 'Boolean' }, + companyId: { __type: 'ID!' }, + description: { __type: 'String!' }, + name: { __type: 'String!' }, + numberOfVoucher: { __type: 'Int!' }, + singleVoucherValue: { __type: 'Float!' }, + thumbnail: { __type: 'MediaInput' }, + unitPrice: { __type: 'Float!' }, + validFor: { __type: 'String' }, + }, + Channel: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + code: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + messages: { + __type: 'ChannelMessageConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelMessageFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + pin: { __type: 'Boolean!' }, + players: { __type: '[ChannelPlayer!]!' }, + shop: { __type: 'CompanyShop!' }, + shopId: { __type: 'ID' }, + type: { __type: 'ChannelType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ChannelConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[Channel!]!' }, + totalCount: { __type: 'Int!' }, + unreadCount: { __type: 'Int!' }, + }, + ChannelFilterInput: { + active: { __type: 'FilterInput' }, + code: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + pin: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ChannelMessage: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + allRead: { __type: 'Boolean!' }, + attachments: { __type: '[Node!]' }, + channel: { __type: 'Channel!' }, + channelId: { __type: 'ID' }, + channelPlayerId: { __type: 'String!' }, + channelType: { __type: 'ChannelType!' }, + content: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + pin: { __type: 'Boolean!' }, + process: { __type: 'Process' }, + read: { __type: 'Boolean!', __args: { playerId: 'String!' } }, + richContent: { __type: 'String' }, + sender: { __type: 'ChannelPlayer' }, + shop: { __type: 'CompanyShop!' }, + shopId: { __type: 'ID' }, + thumbnail: { __type: 'Media' }, + type: { __type: 'ChannelMessageType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ChannelMessageConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ChannelMessage!]!' }, + totalCount: { __type: 'Int!' }, + }, + ChannelMessageFilterInput: { + active: { __type: 'FilterInput' }, + channelId: { __type: 'FilterInput' }, + channelPlayerId: { __type: 'FilterInput' }, + channelType: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + pin: { __type: 'FilterInput' }, + readChannelPlayerIds: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ChannelMessageSetInput: { + channelId: { __type: 'ID!' }, + channelPlayerId: { __type: 'String!' }, + content: { __type: 'String' }, + pin: { __type: 'Boolean' }, + type: { __type: 'ChannelMessageType' }, + }, + ChannelPlayer: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + channel: { __type: 'Channel!' }, + createdAt: { __type: 'AWSDateTime' }, + createdBy: { __type: 'User' }, + email: { __type: 'String' }, + id: { __type: 'String' }, + isSystem: { __type: 'Boolean' }, + messages: { + __type: 'ChannelMessageConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelMessageFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + name: { __type: 'String' }, + picture: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime' }, + updatedBy: { __type: 'User' }, + }, + ChannelPlayerSetInput: { + channelId: { __type: 'ID!' }, + email: { __type: 'String!' }, + name: { __type: 'String!' }, + picture: { __type: 'String' }, + userId: { __type: 'String' }, + }, + ChannelSetInput: { + active: { __type: 'Boolean' }, + code: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + pin: { __type: 'Boolean' }, + shopId: { __type: 'ID!' }, + type: { __type: 'ChannelType' }, + }, + ChartData: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + value: { __type: 'Float!' }, + }, + CheckoutAddOnProductInput: { + id: { __type: 'ID!' }, + quantity: { __type: 'Int!' }, + }, + CheckoutAdjustment: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + description: { __type: 'String' }, + sortIndex: { __type: 'Int!' }, + }, + CheckoutAdjustmentInput: { + amount: { __type: 'Float!' }, + description: { __type: 'String' }, + referenceId: { __type: 'ID' }, + sortIndex: { __type: 'Int!' }, + typename: { __type: 'String' }, + }, + CheckoutBundleProduct: { + __typename: { __type: 'String!' }, + bundleProduct: { __type: 'ShopBundleProduct!' }, + options: { __type: '[CheckoutBundleProductOption!]!' }, + }, + CheckoutBundleProductInput: { + id: { __type: 'ID!' }, + options: { __type: '[CheckoutBundleProductOptionInput!]!' }, + sku: { __type: 'String' }, + }, + CheckoutBundleProductOption: { + __typename: { __type: 'String!' }, + id: { __type: 'ID!' }, + label: { __type: 'String!' }, + price: { __type: 'Float!' }, + product: { __type: 'ShopProduct' }, + remark: { __type: 'String' }, + variation: { __type: 'ProductVariation' }, + }, + CheckoutBundleProductOptionInput: { + id: { __type: 'ID!' }, + modifiers: { __type: '[CheckoutItemModifierInput!]' }, + remark: { __type: 'String' }, + sku: { __type: 'String' }, + variationId: { __type: 'ID!' }, + }, + CheckoutCashVoucher: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + cashVoucher: { __type: 'CompanyCashVoucher' }, + checkout: { __type: 'ShopCheckout!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + quantity: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CheckoutCashVoucherConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CheckoutCashVoucher!]!' }, + totalCount: { __type: 'Int!' }, + }, + CheckoutCashVoucherInput: { + cashVoucherId: { __type: 'ID!' }, + id: { __type: 'ID' }, + quantity: { __type: 'Int!' }, + }, + CheckoutCoupon: { + __typename: { __type: 'String!' }, + coupon: { __type: 'CompanyCoupon' }, + handle: { __type: 'String' }, + id: { __type: 'ID!' }, + }, + CheckoutCreateOfflineInput: { + billingAddress: { __type: 'AddressInput' }, + cashier: { __type: 'String' }, + couponDiscount: { __type: 'Float' }, + coupons: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + currency: { __type: 'String!' }, + customer: { __type: 'CheckoutCreateOfflineUserInput' }, + deviceId: { __type: 'String' }, + discounts: { __type: 'String' }, + gainMemberPoints: { __type: 'Int' }, + id: { __type: 'ID!' }, + isInSitu: { __type: 'Boolean' }, + isPreOrder: { __type: 'Boolean' }, + items: { __type: '[CheckoutCreateOfflineItemInput!]' }, + memberPoints: { __type: 'Int' }, + metadata: { __type: '[MetadataInput!]' }, + order: { __type: 'CheckoutCreateOfflineOrderInput' }, + pickUpAddressId: { __type: 'ID' }, + referenceNo: { __type: 'String!' }, + salespersonId: { __type: 'ID' }, + shippingAddress: { __type: 'AddressInput' }, + shippingFee: { __type: 'Float!' }, + shippingProviderId: { __type: 'ID' }, + shopDiscount: { __type: 'Float' }, + shopId: { __type: 'ID!' }, + staffId: { __type: 'ID' }, + subtotal: { __type: 'Float!' }, + taxFee: { __type: 'Float!' }, + total: { __type: 'Float!' }, + totalAdjustments: { __type: '[CheckoutAdjustmentInput!]' }, + updatedAt: { __type: 'AWSDateTime!' }, + }, + CheckoutCreateOfflineInvoiceInput: { + change: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + credential: { __type: 'String!' }, + id: { __type: 'String!' }, + paymentMethod: { __type: 'String' }, + provider: { __type: 'PaymentProvider' }, + status: { __type: 'OrderInvoiceStatus!' }, + total: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + }, + CheckoutCreateOfflineItemInput: { + bundleProduct: { __type: 'CheckoutBundleProductInput' }, + createdAt: { __type: 'AWSDateTime' }, + description: { __type: 'String' }, + id: { __type: 'String' }, + media: { __type: 'MediaInput' }, + metadata: { __type: '[MetadataInput!]' }, + metadataFields: { __type: '[CompanyMemberMetadataFieldInput!]' }, + productVariationId: { __type: 'String' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + sku: { __type: 'String' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime' }, + }, + CheckoutCreateOfflineOrderInput: { + createdAt: { __type: 'AWSDateTime!' }, + id: { __type: 'String!' }, + internalRemark: { __type: 'String' }, + internalRemarkMedias: { __type: '[MediaInput!]' }, + invoices: { __type: '[CheckoutCreateOfflineInvoiceInput!]' }, + kitchenStatus: { __type: 'ShopOrderKitchenStatus' }, + remark: { __type: 'String' }, + remarkMedias: { __type: '[MediaInput!]' }, + totalAdjustments: { __type: '[CheckoutAdjustmentInput!]' }, + updatedAt: { __type: 'AWSDateTime!' }, + }, + CheckoutCreateOfflineUserInput: { + email: { __type: 'String' }, + id: { __type: 'ID' }, + name: { __type: 'String' }, + }, + CheckoutFilterInput: { status: { __type: 'FilterInput' } }, + CheckoutInput: { + billingAddress: { __type: 'AddressInput' }, + cashier: { __type: 'String' }, + customerId: { __type: 'ID' }, + deviceId: { __type: 'String' }, + internalRemark: { __type: 'String' }, + internalRemarkMedias: { __type: '[MediaInput!]' }, + memberPoints: { __type: 'Int' }, + metadata: { __type: '[MetadataInput!]' }, + pickUpAddressId: { __type: 'ID' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + remarkMedias: { __type: '[MediaInput!]' }, + salespersonId: { __type: 'ID' }, + shippingAddress: { __type: 'AddressInput' }, + shippingProviderId: { __type: 'ID' }, + shopId: { __type: 'ID!' }, + staffId: { __type: 'ID' }, + tableId: { __type: 'String' }, + totalAdjustments: { __type: '[CheckoutAdjustmentInput!]' }, + }, + CheckoutItem: { + __typename: { __type: 'String!' }, + addOnProduct: { __type: 'ShopAddOnProduct' }, + bundleProduct: { __type: 'CheckoutBundleProduct' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deletedAt: { __type: 'AWSDateTime' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + media: { __type: 'Media' }, + metadata: { __type: '[Metadata!]' }, + metadataFields: { __type: '[CompanyMemberMetadataField!]' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + serviceBundle: { __type: 'CheckoutServiceBundle' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CheckoutItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CheckoutItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + CheckoutItemCreateInput: { + bundleProduct: { __type: 'CheckoutBundleProductInput' }, + description: { __type: 'String' }, + fnbCheckoutItemId: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + modifiers: { __type: '[CheckoutItemModifierInput!]' }, + productVariationId: { __type: 'ID' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + serviceBundle: { __type: 'CheckoutServiceBundleInput' }, + unitPrice: { __type: 'Float' }, + }, + CheckoutItemInput: { + bundleProduct: { __type: 'CheckoutBundleProductInput' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + productVariationId: { __type: 'ID' }, + quantity: { __type: 'Int' }, + remark: { __type: 'String' }, + serviceBundle: { __type: 'CheckoutServiceBundleInput' }, + unitPrice: { __type: 'Float' }, + }, + CheckoutItemModifierInput: { + name: { __type: 'String!' }, + option: { __type: 'String!' }, + }, + CheckoutPayInput: { + charge: { __type: 'Float' }, + credentialId: { __type: 'ID' }, + invoiceId: { __type: 'ID!' }, + isSavingPaymentSource: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + paymentDetail: { __type: 'AWSJSON' }, + provider: { __type: 'PaymentProvider!' }, + token: { __type: 'String' }, + }, + CheckoutPayment: { + __typename: { __type: 'String!' }, + charge: { __type: 'Float' }, + credentialId: { __type: 'ID' }, + invoiceId: { __type: 'ID!' }, + provider: { __type: 'PaymentProvider!' }, + token: { __type: 'String' }, + }, + CheckoutPaymentInput: { + charge: { __type: 'Float' }, + credentialId: { __type: 'ID' }, + paymentMethodId: { __type: 'ID' }, + provider: { __type: 'PaymentProvider!' }, + }, + CheckoutRoundingPolicy: { + __typename: { __type: 'String!' }, + maximumFractionDigits: { __type: 'Int!' }, + strategy: { __type: 'CheckoutRoundingStrategy!' }, + }, + CheckoutRoundingPolicyInput: { + maximumFractionDigits: { __type: 'Int!' }, + strategy: { __type: 'CheckoutRoundingStrategy!' }, + }, + CheckoutService: { + __typename: { __type: 'String!' }, + bundleProduct: { __type: 'ShopBundleProduct' }, + location: { __type: 'ShopServiceLocation' }, + options: { __type: '[CheckoutBundleProductOption!]' }, + service: { __type: 'ShopService!' }, + serviceOptions: { __type: '[CheckoutServiceOption!]' }, + slots: { __type: '[ServiceLocationSlot!]' }, + }, + CheckoutServiceBundle: { + __typename: { __type: 'String!' }, + serviceBundle: { __type: 'ShopServiceBundle!' }, + services: { __type: '[CheckoutService!]!' }, + }, + CheckoutServiceBundleInput: { + id: { __type: 'ID!' }, + services: { __type: '[CheckoutServiceInput!]!' }, + }, + CheckoutServiceInput: { + bundleProductId: { __type: 'ID' }, + id: { __type: 'ID!' }, + options: { __type: '[CheckoutBundleProductOptionInput!]' }, + serviceLocationId: { __type: 'ID' }, + serviceOptions: { __type: '[CheckoutServiceOptionInput!]' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + }, + CheckoutServiceOption: { + __typename: { __type: 'String!' }, + id: { __type: 'ID!' }, + label: { __type: 'String!' }, + medias: { __type: '[Media!]' }, + name: { __type: 'String!' }, + price: { __type: 'Float!' }, + sku: { __type: 'String!' }, + variation: { __type: 'ProductVariation' }, + }, + CheckoutServiceOptionInput: { id: { __type: 'ID!' } }, + CollectionConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopCollection!]!' }, + totalCount: { __type: 'Int!' }, + }, + CollectionFilterInput: { + active: { __type: 'FilterInput' }, + code: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + parentId: { __type: 'FilterInput' }, + rewriteUri: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + CollectionInput: { + active: { __type: 'Boolean' }, + code: { __type: 'String' }, + dailyAvailability: { __type: 'DailyAvailabilityInput' }, + description: { __type: 'String' }, + media: { __type: 'MediaInput' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String!' }, + parentId: { __type: 'ID' }, + productIds: { __type: '[ID!]' }, + products: { __type: '[CollectionProductInput!]' }, + rewriteUri: { __type: 'String' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + thumbnail: { __type: 'AWSURL' }, + }, + CollectionParentSetInput: { + id: { __type: 'ID!' }, + parentId: { __type: 'ID' }, + sortIndex: { __type: 'Int' }, + }, + CollectionProductInput: { + id: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + }, + CollectionRecord: { + __typename: { __type: 'String!' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + }, + CollectionSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + code: { __type: 'String' }, + conversionRate: { __type: 'Float!' }, + count: { __type: 'Int!' }, + countries: { __type: '[ChartData!]!' }, + hitRate: { __type: 'Int!' }, + id: { __type: 'ID!' }, + memberAmount: { __type: 'Float!' }, + memberLevelAmounts: { __type: '[ChartData!]!' }, + memberLevels: { __type: '[ChartData!]!' }, + name: { __type: 'String!' }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + pageView: { __type: 'Int!' }, + salesPoints: { __type: '[ChartData!]!' }, + salesRecords: { + __type: 'ProductSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + shopId: { __type: 'ID!' }, + }, + CollectionSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CollectionSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + Company: { + __typename: { __type: 'String!' }, + address: { __type: 'Address' }, + attendances: { + __type: 'AttendanceConnection!', + __args: { + cursor: 'Int', + filter: 'AttendanceFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + cashVouchers: { + __type: 'CompanyCashVoucherConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + channels: { + __type: 'ChannelConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + coupons: { + __type: 'CompanyCouponConnection!', + __args: { + cursor: 'Int', + filter: 'CompanyCouponFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customers: { + __type: 'CustomerConnection!', + __args: { + cursor: 'Int', + filter: 'CustomerFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + defaultMemberHashtagSchedules: { __type: '[CompanyHashtagSchedule!]' }, + deliveryNotes: { + __type: 'DeliveryNoteConnection!', + __args: { + cursor: 'Int', + filter: 'DeliveryNotesFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + description: { __type: 'String' }, + devices: { + __type: 'ShopDeviceConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + discounts: { + __type: 'CompanyDiscountConnection!', + __args: { + cursor: 'Int', + filter: 'DiscountFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + honorProductSerials: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'HonorProductSerialFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + id: { __type: 'ID!' }, + industry: { __type: 'String' }, + ingredients: { + __type: 'IngredientConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + memberPointResetDates: { __type: '[String!]' }, + memberPointResetGracefulPeriod: { __type: 'String' }, + memberTiers: { + __type: 'CompanyMemberTierConnection!', + __args: { + cursor: 'Int', + filter: 'CompanyMemberTierFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + name: { __type: 'String!' }, + orders: { + __type: 'OrderConnection!', + __args: { + cursor: 'Int', + filter: 'OrderFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + paymentSources: { + __type: 'PaymentSourceConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + receivePurchases: { + __type: 'CompanyReceivePurchaseConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + report: { __type: 'CompanyReport!' }, + returnNotes: { + __type: 'ShopReturnNoteConnection!', + __args: { + cursor: 'Int', + filter: 'ReturnNoteFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + shops: { + __type: 'ShopConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + staffs: { + __type: 'CompanyStaffConnection!', + __args: { + cursor: 'Int', + filter: 'CompanyStaffFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + stockAdjustments: { + __type: 'CompanyStockAdjustmentConnection!', + __args: { + cursor: 'Int', + filter: 'StockAdjustmentFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + stockTransfers: { + __type: 'CompanyStockTransferConnection!', + __args: { + cursor: 'Int', + filter: 'StockTransferFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + stocktakes: { + __type: 'CompanyStocktakeConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + users: { + __type: 'UserConnection!', + __args: { + cursor: 'Int', + filter: 'UserFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + warehouses: { + __type: 'WarehouseConnection!', + __args: { + cursor: 'Int', + filter: 'WarehouseFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + webhooks: { __type: '[Webhook!]!' }, + }, + CompanyCashVoucher: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + codes: { + __type: 'CompanyCashVoucherCodeConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String!' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + numberOfVoucher: { __type: 'Int!' }, + singleVoucherValue: { __type: 'Float!' }, + thumbnail: { __type: 'Media' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validFor: { __type: 'String' }, + }, + CompanyCashVoucherCode: { + __typename: { __type: 'String!' }, + cashVoucher: { __type: 'CompanyCashVoucher!' }, + code: { __type: 'String!' }, + id: { __type: 'ID!' }, + status: { __type: 'CashVoucherCodeStatus!' }, + validFor: { __type: 'String' }, + }, + CompanyCashVoucherCodeConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyCashVoucherCode!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyCashVoucherConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyCashVoucher!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[Company!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyCoupon: { + __typename: { __type: 'String!' }, + actions: { __type: '[CouponAction!]' }, + active: { __type: 'Boolean!' }, + applyCode: { __type: 'CouponApplyCode' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + discardSubsequent: { __type: 'Boolean!' }, + enabled: { __type: 'Boolean!' }, + excludedDiscountIds: { __type: '[ID!]' }, + excludedDiscounts: { + __type: 'CompanyDiscountConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + excludedProductIds: { __type: '[ID!]' }, + handle: { __type: 'String!' }, + id: { __type: 'ID!' }, + isRedeemable: { __type: 'Boolean!' }, + media: { __type: 'Media' }, + memberLimit: { __type: 'Int' }, + memberPointCost: { __type: 'Int!' }, + membersOnly: { __type: 'Boolean!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + orders: { + __type: 'OrderConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + products: { __type: '[ShopProduct!]!' }, + publishAt: { __type: 'AWSDateTime!' }, + publishLimit: { __type: 'Int' }, + publishThru: { __type: 'AWSDateTime' }, + remark: { __type: 'String' }, + repeat: { __type: 'Int' }, + resolveCode: { __type: 'String' }, + shops: { __type: '[CompanyShop!]!' }, + sortIndex: { __type: 'Int!' }, + thumbnail: { __type: 'AWSURL' }, + triggers: { __type: '[CouponTrigger!]' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + usage: { __type: 'Int!', __args: { customerId: 'String' } }, + userCoupons: { + __type: 'UserCouponConnection', + __args: { + cursor: 'Int', + filter: 'UserCouponFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + validAt: { __type: 'AWSDateTime!' }, + validForPeriod: { __type: 'String' }, + validThru: { __type: 'AWSDateTime' }, + }, + CompanyCouponConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyCoupon!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyCouponFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + discardSubsequent: { __type: 'FilterInput' }, + enabled: { __type: 'FilterInput' }, + handle: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + isRedeemable: { __type: 'FilterInput' }, + memberPointCost: { __type: 'FilterInput' }, + membersOnly: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + publishAt: { __type: 'FilterInput' }, + publishLimit: { __type: 'FilterInput' }, + publishThru: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + resolveCode: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + validAt: { __type: 'FilterInput' }, + validForPeriod: { __type: 'FilterInput' }, + validThru: { __type: 'FilterInput' }, + }, + CompanyDiscount: { + __typename: { __type: 'String!' }, + actions: { __type: '[DiscountAction!]' }, + active: { __type: 'Boolean!' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + discardSubsequent: { __type: 'Boolean!' }, + excludedDiscountIds: { __type: '[String!]' }, + excludedDiscounts: { + __type: 'CompanyDiscountConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + excludedProductIds: { __type: '[ID!]' }, + id: { __type: 'ID!' }, + membersOnly: { __type: 'Boolean!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime!' }, + publishThru: { __type: 'AWSDateTime!' }, + remark: { __type: 'String' }, + repeat: { __type: 'Int!' }, + sortIndex: { __type: 'Int!' }, + triggers: { __type: '[DiscountTrigger!]' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CompanyDiscountConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyDiscount!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyHashtagSchedule: { + __typename: { __type: 'String!' }, + hashtags: { __type: '[String!]!' }, + validAt: { __type: 'AWSDateTime!' }, + validThru: { __type: 'AWSDateTime' }, + }, + CompanyHashtagScheduleInput: { + hashtags: { __type: '[String!]!' }, + validAt: { __type: 'AWSDateTime!' }, + validThru: { __type: 'AWSDateTime' }, + }, + CompanyMemberMetadataField: { + __typename: { __type: 'String!' }, + key: { __type: 'String!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + required: { __type: 'Boolean!' }, + type: { __type: 'CompanyMemberMetadataFieldType!' }, + unique: { __type: 'Boolean' }, + values: { __type: '[String!]!' }, + visible: { __type: 'Boolean' }, + }, + CompanyMemberMetadataFieldInput: { + key: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + required: { __type: 'Boolean!' }, + type: { __type: 'CompanyMemberMetadataFieldType!' }, + unique: { __type: 'Boolean' }, + values: { __type: '[String!]!' }, + visible: { __type: 'Boolean' }, + }, + CompanyMemberTier: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customers: { + __type: 'CustomerConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + expiryType: { __type: 'ExpiryDateTypes!' }, + extensionAmount: { __type: 'Int!' }, + extensionMonths: { __type: 'Int!' }, + extensionType: { __type: 'UpgradeConditionType!' }, + id: { __type: 'ID!' }, + isDefault: { __type: 'Boolean' }, + level: { __type: 'Int!' }, + memberPointActive: { __type: 'Boolean!' }, + memberPointPerUnit: { __type: 'Int!' }, + memberPointUnitPrice: { __type: 'Int!' }, + name: { __type: 'String!' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + upgradeConditionAmount: { __type: 'Int!' }, + upgradeConditionMonths: { __type: 'Int!' }, + upgradeConditionType: { __type: 'UpgradeConditionType!' }, + upgradeConditions: { __type: '[MemberTierUpgradeCondition!]' }, + userId: { __type: 'String' }, + validMonths: { __type: 'Int!' }, + }, + CompanyMemberTierConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyMemberTier!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyMemberTierFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + expiryType: { __type: 'FilterInput' }, + extensionAmount: { __type: 'FilterInput' }, + extensionMonths: { __type: 'FilterInput' }, + extensionType: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + isDefault: { __type: 'FilterInput' }, + level: { __type: 'FilterInput' }, + memberPointActive: { __type: 'FilterInput' }, + memberPointPerUnit: { __type: 'FilterInput' }, + memberPointUnitPrice: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + upgradeConditionAmount: { __type: 'FilterInput' }, + upgradeConditionMonths: { __type: 'FilterInput' }, + upgradeConditionType: { __type: 'FilterInput' }, + validMonths: { __type: 'FilterInput' }, + }, + CompanyMemberTierInput: { + companyId: { __type: 'ID!' }, + expiryType: { __type: 'ExpiryDateTypes' }, + extensionAmount: { __type: 'Int' }, + extensionMonths: { __type: 'Int' }, + extensionType: { __type: 'UpgradeConditionType' }, + isDefault: { __type: 'Boolean' }, + level: { __type: 'Int!' }, + memberPointActive: { __type: 'Boolean' }, + memberPointPerUnit: { __type: 'Int' }, + memberPointUnitPrice: { __type: 'Int' }, + name: { __type: 'String!' }, + upgradeConditionAmount: { __type: 'Int' }, + upgradeConditionMonths: { __type: 'Int' }, + upgradeConditionType: { __type: 'UpgradeConditionType' }, + upgradeConditions: { __type: '[MemberTierUpgradeConditionInput!]' }, + validMonths: { __type: 'Int' }, + }, + CompanyReceivePurchase: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + completedAt: { __type: 'AWSDateTime' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deviceId: { __type: 'ID' }, + id: { __type: 'ID!' }, + items: { + __type: 'CompanyReceivePurchaseItemConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + staff: { __type: 'CompanyStaff' }, + staffId: { __type: 'ID' }, + status: { __type: 'CompanyReceivePurchaseStatus!' }, + totalQuantity: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + warehouse: { __type: 'CompanyWarehouse!' }, + }, + CompanyReceivePurchaseConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyReceivePurchase!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyReceivePurchaseItem: { + __typename: { __type: 'String!' }, + cost: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + sku: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CompanyReceivePurchaseItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyReceivePurchaseItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyReport: { + __typename: { __type: 'String!' }, + collectionSales: { + __type: 'CollectionSales!', + __args: { + id: 'ID!', + shopId: 'ID', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + couponSales: { + __type: 'CouponSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + discountSales: { + __type: 'DiscountSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + inventory: { + __type: 'InventoryReportDataConnection!', + __args: { + cursor: 'Int', + filter: 'InventoryReportDataFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + warehouseIds: '[ID!]!', + }, + }, + memberTierSales: { + __type: 'MemberTierSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + productSales: { + __type: 'ProductSales!', + __args: { + shopId: 'ID', + sku: 'String!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + promotionCodeSales: { + __type: 'CouponSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + salespersonSales: { + __type: 'SalespersonSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topCollectionSales: { + __type: 'CollectionSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + shopId: 'ID', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topCouponSales: { + __type: 'CouponSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topDiscountSales: { + __type: 'DiscountSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topMemberTierSales: { + __type: 'MemberTierSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topProductSales: { + __type: 'ProductSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + shopId: 'ID', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topPromotionCodeSales: { + __type: 'CouponSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topSalespersonSales: { + __type: 'SalespersonSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topShopSales: { + __type: 'ShopSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + shopId: 'ID', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topVariationSales: { + __type: 'VariationSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + shopId: 'ID', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + totalCollectionSales: { + __type: 'TotalCollectionSales!', + __args: { + shopId: 'ID', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + totalCouponSales: { + __type: 'TotalCouponSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalDiscountSales: { + __type: 'TotalDiscountSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalMemberTierSales: { + __type: 'TotalMemberTierSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalProductSales: { + __type: 'TotalProductSales!', + __args: { + shopId: 'ID', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + totalPromotionCodeSales: { + __type: 'TotalCouponSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalSalespersonSales: { + __type: 'TotalSalespersonSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalShopSales: { + __type: 'TotalShopSales!', + __args: { + shopId: 'ID', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + totalVariationSales: { + __type: 'TotalVariationSales!', + __args: { + shopId: 'ID', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + turnover: { + __type: 'Float!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + variationSales: { + __type: 'VariationSales!', + __args: { + shopId: 'ID', + sku: 'String!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + volume: { + __type: 'Int!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + }, + CompanyShop: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + addOnProducts: { + __type: 'ShopAddOnProductConnection!', + __args: { + cursor: 'Int', + filter: 'AddOnProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + address: { __type: 'ShopAddress' }, + addresses: { __type: '[ShopAddress!]' }, + agent: { __type: 'User' }, + allowGuestCheckout: { __type: 'Boolean!' }, + allowMemberPointCheckout: { __type: 'Boolean' }, + analysisTools: { + __type: 'ShopAnalysisToolConnection!', + __args: { + cursor: 'Int', + filter: 'AnalysisToolFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + appointments: { + __type: 'ShopAppointmentConnection!', + __args: { + cursor: 'Int', + filter: 'ShopAppointmentFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + attendances: { + __type: 'AttendanceConnection!', + __args: { + cursor: 'Int', + filter: 'AttendanceFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + attributes: { + __type: 'ShopAttributeConnection', + __args: { + cursor: 'Int', + filter: 'ShopAttributeFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + autoConfirm: { __type: 'Boolean' }, + autoConfirmRegistration: { __type: 'Boolean' }, + availableWarehouses: { + __type: 'WarehouseConnection!', + __args: { + cursor: 'Int', + filter: 'WarehouseFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + bundleProducts: { + __type: 'ShopBundleProductConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + campaigns: { + __type: 'CampaignConnection!', + __args: { + cursor: 'Int', + filter: 'CampaignFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + cashFlows: { + __type: 'ShopCashFlowConnection!', + __args: { + cursor: 'Int', + filter: 'CashFlowFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + channelMessages: { + __type: 'ChannelMessageConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelMessageFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + channels: { + __type: 'ChannelConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + checkoutRounding: { __type: 'CheckoutRoundingPolicy' }, + checkouts: { + __type: 'ShopCheckoutConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + collections: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + company: { __type: 'Company!' }, + companyVerifyData: { __type: 'AWSJSON' }, + contactEmail: { __type: 'String' }, + contactEmails: { + __type: 'ShopContactEmailConnection', + __args: { + cursor: 'Int', + filter: 'CompanyShopContactEmailsFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + credentials: { + __type: '[ShopCredential!]!', + __args: { filter: 'CredentialFilter', filterV2: 'CredentialFilterInput' }, + }, + creditNotes: { + __type: 'CreditNoteConnection!', + __args: { + cursor: 'Int', + filter: 'CreditNoteFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + currentCashInDevice: { + __type: 'Float!', + __args: { deviceId: 'String!', filter: 'CashFlowFilterInput' }, + }, + customDomain: { __type: 'String' }, + customers: { + __type: 'CustomerConnection!', + __args: { + cursor: 'Int', + filter: 'CustomerFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + deliveryNoteAutoComplete: { __type: 'Duration' }, + deliveryNotes: { + __type: 'DeliveryNoteConnection!', + __args: { + cursor: 'Int', + filter: 'DeliveryNotesFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + devices: { + __type: 'ShopDeviceConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + emailTemplates: { + __type: 'ShopEmailTemplateConnection!', + __args: { + cursor: 'Int', + filter: 'ShopEmailTemplateFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + forms: { + __type: 'ShopFormConnection!', + __args: { + cursor: 'Int', + filter: 'ShopFormFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + hasRegistrationEmail: { __type: 'Boolean' }, + honorProductSerials: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'HonorProductSerialFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + hostname: { __type: 'String' }, + ico: { __type: 'String' }, + icoMedia: { __type: 'Media' }, + id: { __type: 'ID!' }, + invoices: { + __type: 'InvoiceConnection!', + __args: { + cursor: 'Int', + filter: 'InvoiceFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + isContactEmailVerified: { __type: 'Boolean' }, + locale: { __type: 'String!' }, + logo: { __type: 'String' }, + logoMedia: { __type: 'Media' }, + lowStock: { __type: 'ReminderSetting' }, + marquees: { + __type: 'ShopMarqueeConnection', + __args: { + cursor: 'Int', + filter: 'ShopMarqueeFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + maxDeviceCount: { __type: 'Int' }, + medias: { __type: '[Media!]' }, + memberMetadataFields: { __type: '[CompanyMemberMetadataField!]' }, + memberPointActive: { __type: 'Boolean!' }, + memberPointClearanceGracefulPeriod: { __type: 'String' }, + memberPointGracefulPeriod: { __type: 'String' }, + memberPointReleaseDelay: { __type: 'Int!' }, + memberPointReleasePolicy: { __type: 'MemberPointReleasePolicy!' }, + memberPointResetDates: { __type: '[String!]' }, + memberPointResetMonth: { __type: 'Int' }, + memberPointUseActive: { __type: 'Boolean!' }, + memberPointUsePerUnit: { __type: 'Int!' }, + memberPointUseUnitPoint: { __type: 'Int!' }, + meta: { __type: '[Metadata]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + nameEN: { __type: 'String' }, + navigationTemplates: { + __type: 'ShopNavigationTemplateConnection!', + __args: { + cursor: 'Int', + filter: 'NavigationTemplateFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + node: { __type: 'Node', __args: { handle: 'String', id: 'ID' } }, + nodes: { __type: '[Node!]', __args: { handle: 'String!' } }, + orderExpiry: { __type: 'Duration' }, + orderExpiryDay: { __type: 'Int' }, + orders: { + __type: 'OrderConnection!', + __args: { + cursor: 'Int', + filter: 'OrderFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + overStock: { __type: 'ReminderSetting' }, + pages: { + __type: 'PageConnection!', + __args: { + cursor: 'Int', + filter: 'PageFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + paymentMethods: { + __type: 'PaymentMethodConnection!', + __args: { + cursor: 'Int', + filter: 'PaymentMethodFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + popups: { + __type: 'ShopPopupConnection', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + productModifiers: { + __type: 'ShopProductModifierConnection!', + __args: { + cursor: 'Int', + filter: 'ShopProductModifierFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + productUnions: { + __type: 'ProductUnionConnection!', + __args: { + cursor: 'Int', + filter: 'ProductUnionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + products: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + rasterLogo: { __type: 'String' }, + rasterLogoMedia: { __type: 'Media' }, + receiptTemplates: { + __type: 'ShopReceiptTemplateConnection!', + __args: { + cursor: 'Int', + filter: 'ShopReceiptTemplateFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + referenceNoLength: { __type: 'Int' }, + referenceNoPrefix: { __type: 'String' }, + registrationMessages: { __type: '[String!]' }, + remarks: { __type: 'String' }, + report: { __type: 'ShopReport!', __args: { filter: 'SalesFilterInput' } }, + reservationWarehouse: { __type: 'CompanyWarehouse!' }, + returnNotes: { + __type: 'ShopReturnNoteConnection!', + __args: { + cursor: 'Int', + filter: 'ReturnNoteFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + returnWarehouse: { __type: 'CompanyWarehouse!' }, + serviceBundles: { + __type: 'ShopServiceBundleConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + serviceLocations: { + __type: 'ShopServiceLocationConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceLocationFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + services: { + __type: 'ShopServiceConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shippingZones: { + __type: 'ShopShippingZoneConnection!', + __args: { + cursor: 'Int', + filter: 'ShopShippingZoneFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shopReferenceNoFormats: { + __type: 'ShopReferenceNoFormatConnection!', + __args: { + cursor: 'Int', + filter: 'ShopReferenceNoFormatFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + staffs: { + __type: 'CompanyStaffConnection!', + __args: { + cursor: 'Int', + filter: 'CompanyStaffFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + stockAdjustments: { + __type: 'CompanyStockAdjustmentConnection!', + __args: { + cursor: 'Int', + filter: 'StockAdjustmentFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + stockWarehouse: { __type: 'CompanyWarehouse!' }, + stripeConnectLink: { __type: 'String!' }, + stripeRateExpression: { __type: 'String' }, + subscriptions: { + __type: 'NewsletterSubscriptionConnection!', + __args: { + cursor: 'Int', + filter: 'NewsletterSubscriptionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + tables: { + __type: 'ShopTableConnection!', + __args: { + cursor: 'Int', + filter: 'TableFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + taxZoneSelectedCountries: { __type: '[Country!]!' }, + taxZones: { + __type: 'ShopTaxZoneConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + timezone: { __type: 'String' }, + transferWarehouse: { __type: 'CompanyWarehouse!' }, + type: { __type: 'String' }, + underStock: { __type: 'ReminderSetting' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + useCollectionProductSortIndex: { __type: 'Boolean' }, + variationStocks: { + __type: 'VariationStockConnection!', + __args: { + cursor: 'Int', + filter: 'InventoryReportDataFilterInput', + limits: 'Int', + }, + }, + variations: { + __type: 'VariationConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + venues: { + __type: 'ShopVenueConnection!', + __args: { + cursor: 'Int', + filter: 'VenueFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + welcomeMessages: { __type: '[String!]' }, + }, + CompanyShopContactEmailsFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + email: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + verified: { __type: 'FilterInput' }, + }, + CompanyShopCredentialInput: { + email: { __type: 'String!' }, + password: { __type: 'String!' }, + username: { __type: 'String!' }, + }, + CompanyShopInput: { + address: { __type: 'AddressInput' }, + agentId: { __type: 'ID' }, + allowGuestCheckout: { __type: 'Boolean' }, + allowMemberPointCheckout: { __type: 'Boolean' }, + autoConfirm: { __type: 'Boolean' }, + autoConfirmRegistration: { __type: 'Boolean' }, + checkoutRounding: { __type: 'CheckoutRoundingPolicyInput' }, + contactEmail: { __type: 'String' }, + contactEmails: { __type: '[ContactEmailInput!]' }, + customDomain: { __type: 'String' }, + deliveryNoteAutoComplete: { __type: 'DurationInput' }, + domain: { __type: 'String' }, + hasRegistrationEmail: { __type: 'Boolean' }, + icoMedia: { __type: 'MediaInput' }, + locale: { __type: 'String' }, + logoMedia: { __type: 'MediaInput' }, + lowStock: { __type: 'ReminderSettingInput' }, + maxDeviceCount: { __type: 'Int' }, + memberMetadataFields: { __type: '[CompanyMemberMetadataFieldInput!]' }, + memberPointClearanceGracefulPeriod: { __type: 'String' }, + memberPointReleaseDelay: { __type: 'Int' }, + memberPointReleasePolicy: { __type: 'MemberPointReleasePolicy' }, + memberPointUseActive: { __type: 'Boolean' }, + memberPointUsePerUnit: { __type: 'Int' }, + memberPointUseUnitPoint: { __type: 'Int' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + nameEN: { __type: 'String' }, + orderExpiry: { __type: 'DurationInput' }, + orderExpiryDay: { __type: 'Int' }, + overStock: { __type: 'ReminderSettingInput' }, + rasterLogoMedia: { __type: 'MediaInput' }, + referenceNoLength: { __type: 'Int' }, + referenceNoPrefix: { __type: 'String' }, + registrationMessages: { __type: '[String!]' }, + remarks: { __type: 'String' }, + returnWarehouseId: { __type: 'ID' }, + stockWarehouseId: { __type: 'ID' }, + stripeRateExpression: { __type: 'String' }, + timezone: { __type: 'String' }, + transferWarehouseId: { __type: 'ID' }, + type: { __type: 'String' }, + underStock: { __type: 'ReminderSettingInput' }, + useCollectionProductSortIndex: { __type: 'Boolean' }, + welcomeMessages: { __type: '[String!]' }, + }, + CompanyStaff: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + address: { __type: 'Address' }, + attendSecondsByDay: { + __type: '[AttendanceSecondsByDay!]!', + __args: { createdAt: 'AWSDateTime', createdThru: 'AWSDateTime' }, + }, + attendances: { + __type: 'AttendanceConnection!', + __args: { + cursor: 'Int', + filter: 'AttendanceFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + code: { __type: 'String!' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + orders: { + __type: 'OrderConnection!', + __args: { + cursor: 'Int', + filter: 'OrderFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + password: { __type: 'String!' }, + phoneNumber: { __type: 'String' }, + role: { __type: 'StaffRole!' }, + salespersonOrders: { + __type: 'OrderConnection!', + __args: { + cursor: 'Int', + filter: 'OrderFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + shop: { __type: 'CompanyShop!' }, + startedAt: { __type: 'AWSDateTime!' }, + startedThru: { __type: 'AWSDateTime' }, + thumbnail: { __type: 'Media' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CompanyStaffConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyStaff!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyStaffCreateInput: { + active: { __type: 'Boolean' }, + address: { __type: 'AddressInput' }, + code: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + password: { __type: 'String!' }, + phoneNumber: { __type: 'String' }, + role: { __type: 'StaffRole!' }, + shopId: { __type: 'ID!' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + thumbnail: { __type: 'MediaInput' }, + }, + CompanyStaffFilterInput: { + code: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + phoneNumber: { __type: 'FilterInput' }, + role: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + startedAt: { __type: 'FilterInput' }, + startedThru: { __type: 'FilterInput' }, + }, + CompanyStaffUpdateInput: { + address: { __type: 'AddressInput' }, + code: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + password: { __type: 'String' }, + phoneNumber: { __type: 'String' }, + role: { __type: 'StaffRole' }, + shopId: { __type: 'ID' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + thumbnail: { __type: 'MediaInput' }, + }, + CompanyStockAdjustment: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + company: { __type: 'Company!' }, + completedAt: { __type: 'AWSDateTime' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + device: { __type: 'ShopDevice' }, + deviceId: { __type: 'ID' }, + id: { __type: 'ID!' }, + items: { + __type: 'StockAdjustmentItemConnection!', + __args: { + cursor: 'Int', + filter: 'StockAdjustmentItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + staff: { __type: 'CompanyStaff' }, + status: { __type: 'StockAdjustmentStatus!' }, + totalQuantity: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + warehouse: { __type: 'CompanyWarehouse!' }, + }, + CompanyStockAdjustmentConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyStockAdjustment!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyStockTransfer: { + __typename: { __type: 'String!' }, + completedAt: { __type: 'AWSDateTime' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deviceId: { __type: 'String' }, + id: { __type: 'ID!' }, + inboundWarehouse: { __type: 'CompanyWarehouse' }, + items: { __type: '[CompanyStockTransferItem!]!' }, + itemsV2: { + __type: 'StockTransferItemConnection!', + __args: { + cursor: 'Int', + filter: 'StockTransferItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + outboundWarehouse: { __type: 'CompanyWarehouse' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + sentAt: { __type: 'AWSDateTime' }, + staff: { __type: 'CompanyStaff' }, + staffId: { __type: 'ID' }, + status: { __type: 'CompanyStockTransferStatus!' }, + totalQuantity: { __type: 'Int!' }, + totalReceivedQuantity: { __type: 'Int!' }, + transferWarehouse: { __type: 'CompanyWarehouse' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CompanyStockTransferConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyStockTransfer!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyStockTransferItem: { + __typename: { __type: 'String!' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + receivedQuantity: { __type: 'Int!' }, + sku: { __type: 'ID!' }, + }, + CompanyStocktake: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deviceId: { __type: 'String' }, + id: { __type: 'ID!' }, + items: { + __type: 'CompanyStocktakeItemConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + staff: { __type: 'CompanyStaff' }, + staffId: { __type: 'ID' }, + status: { __type: 'CompanyStocktakeStatus!' }, + totalQuantity: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + warehouse: { __type: 'CompanyWarehouse!' }, + }, + CompanyStocktakeConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyStocktake!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyStocktakeItem: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + currentStock: { __type: 'Int!' }, + id: { __type: 'ID!' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + quantityDiff: { __type: 'Int!' }, + sku: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CompanyStocktakeItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyStocktakeItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + CompanyUpdateInput: { + defaultMemberHashtagSchedules: { __type: '[CompanyHashtagScheduleInput!]' }, + memberPointResetDates: { __type: '[String!]' }, + memberPointResetGracefulPeriod: { __type: 'String' }, + }, + CompanyWarehouse: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + address: { __type: 'Address' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + shops: { + __type: 'ShopConnection!', + __args: { + cursor: 'Int', + filter: 'UserShopsFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + type: { __type: 'CompanyWarehouseTypes!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + Connection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + totalCount: { __type: 'Int!' }, + $on: { __type: '$Connection!' }, + }, + ContactEmailInput: { + email: { __type: 'AWSEmail!' }, + type: { __type: 'ShopContactEmailType!' }, + }, + CouponAction: { + __typename: { __type: 'String!' }, + actionId: { __type: 'ID' }, + actionIds: { __type: '[String!]' }, + actionType: { __type: 'CouponActionType!' }, + actionValue: { __type: 'String' }, + actionValueType: { __type: 'CouponActionValueType' }, + }, + CouponActionInput: { + actionId: { __type: 'ID' }, + actionIds: { __type: '[String!]' }, + actionType: { __type: 'CouponActionType!' }, + actionValue: { __type: 'String' }, + actionValueType: { __type: 'CouponActionValueType' }, + }, + CouponInput: { + actions: { __type: '[CouponActionInput!]!' }, + active: { __type: 'Boolean' }, + companyId: { __type: 'ID!' }, + description: { __type: 'String' }, + discardSubsequent: { __type: 'Boolean' }, + enabled: { __type: 'Boolean' }, + excludedDiscountIds: { __type: '[ID!]' }, + excludedProductIds: { __type: '[ID!]' }, + handle: { __type: 'String!' }, + media: { __type: 'MediaInput' }, + memberLimit: { __type: 'Int' }, + membersOnly: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime' }, + publishLimit: { __type: 'Int' }, + publishThru: { __type: 'AWSDateTime' }, + remark: { __type: 'String' }, + repeat: { __type: 'Int' }, + resolveCode: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + triggers: { __type: '[CouponTriggerInput!]!' }, + usage: { __type: 'Int' }, + validAt: { __type: 'AWSDateTime' }, + validForPeriod: { __type: 'String' }, + validThru: { __type: 'AWSDateTime' }, + }, + CouponSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + count: { __type: 'Int!' }, + countries: { __type: '[ChartData!]!' }, + discountAmount: { __type: 'Float!' }, + handle: { __type: 'String!' }, + id: { __type: 'ID!' }, + memberAmount: { __type: 'Float!' }, + memberLevelAmounts: { __type: '[ChartData!]!' }, + memberLevels: { __type: '[ChartData!]!' }, + name: { __type: 'String!' }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + redeemCount: { __type: 'Int' }, + salesPoints: { __type: '[ChartData!]!' }, + salesRecords: { + __type: 'CouponSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + usageCount: { __type: 'Int!' }, + }, + CouponSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CouponSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + CouponSalesRecord: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + createdAt: { __type: 'AWSDateTime!' }, + discountAmount: { __type: 'Float!' }, + orderId: { __type: 'ID!' }, + referenceNo: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + shopName: { __type: 'String!' }, + }, + CouponSalesRecordConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CouponSalesRecord!]!' }, + totalCount: { __type: 'Int!' }, + }, + CouponTrigger: { + __typename: { __type: 'String!' }, + triggerId: { __type: 'ID' }, + triggerIds: { __type: '[String!]' }, + triggerType: { __type: 'CouponTriggerType!' }, + triggerValue: { __type: 'Float' }, + triggerValueType: { __type: 'CouponTriggerValueType' }, + }, + CouponTriggerInput: { + triggerId: { __type: 'ID' }, + triggerIds: { __type: '[String!]' }, + triggerType: { __type: 'CouponTriggerType!' }, + triggerValue: { __type: 'Float' }, + triggerValueType: { __type: 'CouponTriggerValueType' }, + }, + CredentialFilter: { + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + platforms: { __type: '[ShopCredentialPlatform!]' }, + types: { __type: '[ShopCredentialType!]' }, + updatedAt: { __type: 'FilterInput' }, + }, + CredentialFilterInput: { + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + platforms: { __type: '[ShopCredentialPlatform!]' }, + types: { __type: '[ShopCredentialType!]' }, + updatedAt: { __type: 'FilterInput' }, + }, + CredentialOCGCInput: { + description: { __type: 'String' }, + identity: { __type: 'String!' }, + platforms: { __type: 'ShopCredentialPlatform' }, + secret: { __type: 'String' }, + }, + CredentialSetInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + identity: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + platform: { __type: 'ShopCredentialPlatform!' }, + secret: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + type: { __type: 'ShopCredentialType!' }, + }, + CreditNoteConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[InvoiceCreditNote!]!' }, + totalCount: { __type: 'Int!' }, + }, + CreditNoteFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + currency: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + invoiceId: { __type: 'FilterInput' }, + orderId: { __type: 'FilterInput' }, + referenceNo: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + total: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + Customer: { + __typename: { __type: 'String!' }, + addresses: { + __type: 'CustomerAddressConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + blocked: { __type: 'Boolean!' }, + channels: { + __type: 'ChannelConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + checkouts: { + __type: 'ShopCheckoutConnection!', + __args: { + cursor: 'Int', + filter: 'CheckoutFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + company: { __type: 'Company!' }, + coupons: { + __type: 'UserCouponConnection', + __args: { + cursor: 'Int', + filter: 'UserCouponFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + email: { __type: 'AWSEmail!' }, + emailVerified: { __type: 'Boolean!' }, + giftPoints: { __type: 'Int!', __args: { shopId: 'ID' } }, + giftPointsBalance: { + __type: '[GiftPointBalance!]!', + __args: { shopId: 'ID' }, + }, + giftPointsHistory: { + __type: 'GiftPointAdjustmentConnection!', + __args: { + cursor: 'Int', + filter: 'GiftPointAdjustmentConnectionFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + hashtags: { __type: '[String!]!' }, + id: { __type: 'ID!' }, + isEmailVerified: { __type: 'Boolean' }, + isPhoneNumberVerified: { __type: 'Boolean' }, + lastLogin: { __type: 'AWSDateTime' }, + memberTier: { __type: 'CompanyMemberTier' }, + metadata: { __type: '[Metadata!]!' }, + orders: { + __type: 'OrderConnection!', + __args: { + cursor: 'Int', + filter: 'OrderFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + paymentSources: { + __type: 'PaymentSourceConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + phoneNumber: { __type: 'String' }, + phoneNumberVerified: { __type: 'Boolean!' }, + picture: { __type: 'AWSURL' }, + points: { __type: 'Int!' }, + previousMemberTier: { __type: 'CustomerMemberTier' }, + report: { + __type: 'UserReport!', + __args: { filter: 'UserSalesFilterInput' }, + }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + wishlists: { + __type: 'WishlistConnection!', + __args: { + cursor: 'Int', + filter: 'WishlistFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + }, + CustomerAddress: { + __typename: { __type: 'String!' }, + country: { __type: 'Country' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + email: { __type: 'String' }, + id: { __type: 'ID!' }, + isDefault: { __type: 'Boolean!' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + CustomerAddressConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CustomerAddress!]!' }, + totalCount: { __type: 'Int!' }, + }, + CustomerAddressCreateInput: { + country: { __type: 'Country' }, + email: { __type: 'String' }, + isDefault: { __type: 'Boolean' }, + lines: { __type: '[String!]!' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + CustomerAddressUpdateInput: { + country: { __type: 'Country' }, + email: { __type: 'String' }, + isDefault: { __type: 'Boolean' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + CustomerConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[Customer!]!' }, + totalCount: { __type: 'Int!' }, + }, + CustomerCredentialInput: { + email: { __type: 'AWSEmail' }, + mobile: { __type: 'AWSPhone' }, + mobileV2: { __type: 'String' }, + password: { __type: 'String!' }, + }, + CustomerFilterInput: { + createdAt: { __type: 'FilterInput' }, + email: { __type: 'FilterInput' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'FilterInput' }, + lastLogin: { __type: 'FilterInput' }, + metadata: { __type: '[MetadataInput!]' }, + phoneNumber: { __type: 'FilterInput' }, + search: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + CustomerMemberTier: { + __typename: { __type: 'String!' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + startedAt: { __type: 'AWSDateTime!' }, + startedThru: { __type: 'AWSDateTime' }, + }, + CustomerProfileInput: { + addresses: { __type: '[UserAddressInput!]' }, + familyName: { __type: 'String' }, + givenName: { __type: 'String' }, + hashTags: { __type: '[String!]' }, + hashtags: { __type: '[String!]' }, + isEmailVerified: { __type: 'Boolean' }, + isPhoneNumberVerified: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + nickname: { __type: 'String' }, + oneSignalPlayerId: { __type: 'String' }, + phoneNumber: { __type: 'String' }, + picture: { __type: 'AWSURL' }, + title: { __type: 'String' }, + }, + DailyAvailability: { + __typename: { __type: 'String!' }, + daysOfWeek: { __type: '[String!]' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + }, + DailyAvailabilityInput: { + daysOfWeek: { __type: '[String!]' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + }, + DeliveryNoteConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[OrderDeliveryNote!]!' }, + totalCount: { __type: 'Int!' }, + }, + DeliveryNoteCreateInput: { + items: { __type: '[DeliveryNoteItemInput!]!' }, + metadata: { __type: '[MetadataInput!]' }, + orderId: { __type: 'ID!' }, + shippingAddress: { __type: 'AddressInput' }, + shippingZoneId: { __type: 'ID' }, + trackingNumber: { __type: 'String' }, + }, + DeliveryNoteItem: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + order: { __type: 'ShopOrder!' }, + orderItem: { __type: 'OrderItem' }, + quantity: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + DeliveryNoteItemInput: { + id: { __type: 'ID' }, + orderItemId: { __type: 'ID!' }, + quantity: { __type: 'Int!' }, + }, + DeliveryNoteSetInput: { + items: { __type: '[DeliveryNoteItemInput!]' }, + meta: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + orderId: { __type: 'ID!' }, + shippingAddress: { __type: 'AddressInput' }, + shippingZoneId: { __type: 'ID' }, + trackingNumber: { __type: 'String' }, + }, + DeliveryNoteUpdateInput: { + items: { __type: '[DeliveryNoteItemInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + shippingAddress: { __type: 'AddressInput' }, + shippingZoneId: { __type: 'ID' }, + trackingNumber: { __type: 'String' }, + }, + DeliveryNotesFilterInput: { + active: { __type: 'FilterInput' }, + address: { __type: 'FilterInput' }, + completedAt: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + deliveryDetails: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + meta: { __type: 'FilterInput' }, + orderId: { __type: 'FilterInput' }, + shippingProvider: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + DeviceConfigUpdateInput: { configs: { __type: 'AWSJSON!' } }, + DiscountAction: { + __typename: { __type: 'String!' }, + actionId: { __type: 'ID' }, + actionIds: { __type: '[String!]' }, + actionType: { __type: 'DiscountActionType!' }, + actionValue: { __type: 'String' }, + actionValueType: { __type: 'DiscountActionValueType' }, + }, + DiscountActionInput: { + actionId: { __type: 'ID' }, + actionIds: { __type: '[String!]' }, + actionType: { __type: 'DiscountActionType!' }, + actionValue: { __type: 'String' }, + actionValueType: { __type: 'DiscountActionValueType' }, + }, + DiscountFilterInput: { + active: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + description: { __type: 'FilterInput' }, + discardSubsequent: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + publishAt: { __type: 'FilterInput' }, + publishThru: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + repeat: { __type: 'FilterInput' }, + search: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + DiscountInput: { + actions: { __type: '[DiscountActionInput!]!' }, + active: { __type: 'Boolean' }, + companyId: { __type: 'ID!' }, + description: { __type: 'String' }, + discardSubsequent: { __type: 'Boolean' }, + excludedDiscountIds: { __type: '[String!]' }, + excludedProductIds: { __type: '[ID!]' }, + membersOnly: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + remark: { __type: 'String' }, + repeat: { __type: 'Int' }, + sortIndex: { __type: 'Int' }, + triggers: { __type: '[DiscountTriggerInput!]!' }, + }, + DiscountSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + count: { __type: 'Int!' }, + countries: { __type: '[ChartData!]!' }, + discountAmount: { __type: 'Float!' }, + id: { __type: 'ID!' }, + memberAmount: { __type: 'Float!' }, + memberLevelAmounts: { __type: '[ChartData!]!' }, + memberLevels: { __type: '[ChartData!]!' }, + name: { __type: 'String!' }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + salesPoints: { __type: '[ChartData!]!' }, + salesRecords: { + __type: 'CouponSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + usageCount: { __type: 'Int!' }, + }, + DiscountSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[DiscountSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + DiscountTrigger: { + __typename: { __type: 'String!' }, + triggerId: { __type: 'ID' }, + triggerIds: { __type: '[String!]' }, + triggerType: { __type: 'DiscountTriggerType!' }, + triggerValue: { __type: 'Float' }, + triggerValueType: { __type: 'DiscountTriggerValueType' }, + }, + DiscountTriggerInput: { + triggerId: { __type: 'ID' }, + triggerIds: { __type: '[String!]' }, + triggerType: { __type: 'DiscountTriggerType!' }, + triggerValue: { __type: 'Float' }, + triggerValueType: { __type: 'DiscountTriggerValueType' }, + }, + Duration: { + __typename: { __type: 'String!' }, + days: { __type: 'Int!' }, + hours: { __type: 'Int!' }, + minutes: { __type: 'Int!' }, + months: { __type: 'Int!' }, + seconds: { __type: 'Int' }, + weeks: { __type: 'Int!' }, + years: { __type: 'Int!' }, + }, + DurationInput: { + days: { __type: 'Int' }, + hours: { __type: 'Int' }, + minutes: { __type: 'Int' }, + months: { __type: 'Int' }, + seconds: { __type: 'Int' }, + weeks: { __type: 'Int' }, + years: { __type: 'Int' }, + }, + FilterInput: { + operator: { __type: 'FilterOperator!' }, + value: { __type: '[String]!' }, + }, + GiftPointAdjustment: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customer: { __type: 'User!' }, + description: { __type: 'String' }, + direction: { __type: 'GiftPointDirection!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + points: { __type: 'Int!' }, + remark: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + GiftPointAdjustmentConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[GiftPointAdjustment!]!' }, + totalCount: { __type: 'Int!' }, + }, + GiftPointAdjustmentConnectionFilterInput: { + companyId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + direction: { __type: 'GiftPointDirection' }, + expiryDate: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + GiftPointBalance: { + __typename: { __type: 'String!' }, + date: { __type: 'AWSDateTime' }, + points: { __type: 'Int!' }, + }, + GiftPointExportFilterInput: { + createdAt: { __type: 'FilterInput' }, + customerId: { __type: 'FilterInput' }, + memberPointResetDates: { __type: 'FilterInput' }, + metadataValue: { __type: 'FilterInput' }, + }, + HonorProductSerial: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + imei: { __type: 'String' }, + metadata: { __type: '[Metadata!]' }, + sku: { __type: 'String' }, + sn1: { __type: 'String' }, + sn2: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + HonorProductSerialConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[HonorProductSerial!]!' }, + totalCount: { __type: 'Int!' }, + }, + HonorProductSerialFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + imei: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + sn1: { __type: 'FilterInput' }, + sn2: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + Ingredient: { + __typename: { __type: 'String!' }, + ProductVariation: { __type: 'ProductVariation' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + quantity: { __type: 'Int!', __args: { warehouseId: 'ID!' } }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + IngredientConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[Ingredient!]!' }, + totalCount: { __type: 'Int!' }, + }, + IngredientInput: { + companyId: { __type: 'ID!' }, + name: { __type: 'String!' }, + }, + InventoryReportDataConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[InventoryReportDatum!]!' }, + totalCount: { __type: 'Int!' }, + }, + InventoryReportDataFilterInput: { sku: { __type: 'FilterInput' } }, + InventoryReportDatum: { + __typename: { __type: 'String!' }, + combination: { __type: 'String' }, + productName: { __type: 'String', __args: { shopId: 'ID!' } }, + sku: { __type: 'String!' }, + stocks: { __type: '[InventoryReportStockDatum!]!' }, + }, + InventoryReportStockDatum: { + __typename: { __type: 'String!' }, + quantity: { __type: 'Int!' }, + warehouseId: { __type: 'ID!' }, + }, + InvoiceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[OrderInvoice!]!' }, + totalCount: { __type: 'Int!' }, + }, + InvoiceCredential: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + createdAt: { __type: 'AWSDateTime' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + identity: { __type: 'String' }, + meta: { __type: 'AWSJSON' }, + name: { __type: 'String' }, + platform: { __type: 'ShopCredentialPlatform' }, + referenceNo: { __type: 'String!' }, + secret: { __type: 'String' }, + shop: { __type: 'CompanyShop' }, + type: { __type: 'ShopCredentialType' }, + updatedAt: { __type: 'AWSDateTime' }, + updatedBy: { __type: 'User' }, + }, + InvoiceCreditNote: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + currency: { __type: 'String!' }, + id: { __type: 'ID!' }, + invoice: { __type: 'OrderInvoice' }, + meta: { __type: 'AWSJSON' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + status: { __type: 'InvoiceCreditNoteStatus!' }, + total: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + user: { __type: 'User!' }, + }, + InvoiceFilterInput: { + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + orderId: { __type: 'FilterInput' }, + paymentMethod: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + total: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + LineChartData: { + __typename: { __type: 'String!' }, + data: { __type: '[ChartData!]!' }, + name: { __type: 'String!' }, + }, + Me: { __typename: { __type: 'String!' }, $on: { __type: '$Me!' } }, + Media: { + __typename: { __type: 'String!' }, + alt: { __type: 'String' }, + id: { __type: 'ID' }, + metadata: { __type: '[Metadata!]' }, + optimizedSrc: { + __type: 'AWSURL', + __args: { + contentType: 'MediaContentType', + fitting: 'MediaFitting', + gravity: 'MediaGravity', + height: 'Int', + quality: 'Int', + width: 'Int', + }, + }, + src: { __type: 'AWSURL!' }, + suggestedHashtags: { __type: '[String!]' }, + }, + MediaInput: { + alt: { __type: 'String' }, + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + src: { __type: 'AWSURL' }, + }, + MemberTierSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgAmount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + count: { __type: 'Int!' }, + id: { __type: 'ID!' }, + memberCount: { __type: 'Int!' }, + memberCountChange: { __type: 'Int!' }, + memberTierTopHits: { __type: '[ChartData!]!', __args: { key: 'String!' } }, + name: { __type: 'String!' }, + newMemberCount: { __type: 'Int!' }, + orderCount: { __type: 'Int!' }, + salesRecords: { + __type: 'MemberTierSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + }, + MemberTierSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[MemberTierSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + MemberTierSalesRecord: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + createdAt: { __type: 'AWSDateTime!' }, + orderId: { __type: 'ID!' }, + referenceNo: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + shopName: { __type: 'String!' }, + }, + MemberTierSalesRecordConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[MemberTierSalesRecord!]!' }, + totalCount: { __type: 'Int!' }, + }, + MemberTierUpgradeCondition: { + __typename: { __type: 'String!' }, + type: { __type: 'UpgradeConditionType!' }, + upgradeConditionAmount: { __type: 'Int!' }, + upgradeConditionMonths: { __type: 'Int' }, + }, + MemberTierUpgradeConditionInput: { + type: { __type: 'UpgradeConditionType!' }, + upgradeConditionAmount: { __type: 'Int!' }, + upgradeConditionMonths: { __type: 'Int' }, + }, + Metadata: { + __typename: { __type: 'String!' }, + key: { __type: 'String!' }, + value: { __type: 'String!' }, + }, + MetadataInput: { key: { __type: 'String!' }, value: { __type: 'String!' } }, + NavigationTemplateCreateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + type: { __type: 'NavigationTemplateType!' }, + }, + NavigationTemplateFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + NavigationTemplateUpdateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + }, + NewsletterSubscription: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + company: { __type: 'Company!' }, + contact: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'SubscriptionType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + userId: { __type: 'String' }, + }, + NewsletterSubscriptionConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[NewsletterSubscription!]!' }, + totalCount: { __type: 'Int!' }, + }, + NewsletterSubscriptionFilterInput: { + active: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + contact: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + NewsletterSubscriptionSetInput: { + active: { __type: 'Boolean' }, + contact: { __type: 'String!' }, + shopId: { __type: 'ID' }, + type: { __type: 'SubscriptionType' }, + userId: { __type: 'ID' }, + }, + Node: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + $on: { __type: '$Node!' }, + }, + OrderActivity: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + event: { __type: 'String!' }, + id: { __type: 'ID!' }, + order: { __type: 'ShopOrder!' }, + orderId: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + userId: { __type: 'ID' }, + }, + OrderActivityConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[OrderActivity]' }, + totalCount: { __type: 'Int!' }, + }, + OrderAddOnProduct: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + addOnProduct: { __type: 'ShopAddOnProduct!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + sortIndex: { __type: 'Int!' }, + unitPrice: { __type: 'Float' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + OrderAddOnProductConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[OrderAddOnProduct!]!' }, + totalCount: { __type: 'Int!' }, + }, + OrderAdjustment: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + sortIndex: { __type: 'Int!' }, + }, + OrderAdjustmentInput: { + amount: { __type: 'Float!' }, + description: { __type: 'String!' }, + }, + OrderCancelInput: { cancelReason: { __type: 'String!' } }, + OrderComment: { + __typename: { __type: 'String!' }, + content: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + order: { __type: 'ShopOrder!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + user: { __type: 'User!' }, + }, + OrderCommentInput: { + content: { __type: 'String!' }, + orderId: { __type: 'String' }, + }, + OrderConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopOrder!]!' }, + totalAmount: { __type: 'Float!' }, + totalCount: { __type: 'Int!' }, + }, + OrderDeliveryNote: { + __typename: { __type: 'String!' }, + address: { __type: 'Address' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deliveryDetails: { __type: 'AWSJSON' }, + id: { __type: 'ID!' }, + items: { __type: '[DeliveryNoteItem!]!' }, + meta: { __type: 'AWSJSON' }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder!' }, + referenceNo: { __type: 'String!' }, + shippingProvider: { __type: 'ShopShippingProvider' }, + shop: { __type: 'CompanyShop!' }, + status: { __type: 'DeliveryNoteStatus!' }, + trackingNumber: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + user: { __type: 'User' }, + }, + OrderFilterInput: { + active: { __type: 'FilterInput' }, + cancelReason: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + couponDiscount: { __type: 'FilterInput' }, + coupons: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + customerId: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + isPreOrder: { __type: 'FilterInput' }, + kitchenStatus: { __type: 'FilterInput' }, + metadata: { __type: '[MetadataInput!]' }, + paymentProvider: { __type: 'FilterInput' }, + paymentStatus: { __type: 'FilterInput' }, + referenceNo: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + search: { __type: 'FilterInput' }, + shippingFee: { __type: 'FilterInput' }, + shippingStatus: { __type: 'FilterInput' }, + shopDiscount: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + subtotal: { __type: 'FilterInput' }, + taxFee: { __type: 'FilterInput' }, + total: { __type: 'FilterInput' }, + totalAdjustment: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + OrderInvoice: { + __typename: { __type: 'String!' }, + address: { __type: 'Address' }, + cancelReason: { __type: 'String' }, + change: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + credential: { __type: 'InvoiceCredential!' }, + creditNotes: { + __type: 'CreditNoteConnection!', + __args: { + cursor: 'Int', + filter: 'CreditNoteFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + currency: { __type: 'String!' }, + customer: { __type: 'User' }, + id: { __type: 'ID!' }, + meta: { __type: 'AWSJSON' }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder!' }, + paymentMethod: { __type: 'PaymentProvider!' }, + paymentMethodV2: { __type: 'PaymentMethod' }, + referenceNo: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + status: { __type: 'OrderInvoiceStatus!' }, + total: { __type: 'Float!' }, + totalPaid: { __type: 'Float!' }, + totalRefund: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + OrderItem: { + __typename: { __type: 'String!' }, + addOnProduct: { __type: 'ShopAddOnProduct' }, + appointments: { __type: '[ShopAppointment!]!' }, + bundleProduct: { __type: 'CheckoutBundleProduct' }, + checkout: { __type: 'ShopCheckout!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deliverableQuantity: { __type: 'Int!' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + media: { __type: 'Media' }, + metadata: { __type: '[Metadata!]' }, + metadataFields: { __type: '[CompanyMemberMetadataField!]' }, + order: { __type: 'ShopOrder!' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + returnNoteItems: { __type: '[ReturnNoteItem!]' }, + serviceBundle: { __type: 'CheckoutServiceBundle' }, + sku: { __type: 'String' }, + unitPrice: { __type: 'Float' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + OrderItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[OrderItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + OrderItemFilterInput: { + addOnProductId: { __type: 'FilterInput' }, + bundleProductId: { __type: 'FilterInput' }, + checkoutItemId: { __type: 'FilterInput' }, + productId: { __type: 'FilterInput' }, + productVariationId: { __type: 'FilterInput' }, + serviceBundleId: { __type: 'FilterInput' }, + }, + OrderUpdateInput: { + billingAddress: { __type: 'AddressInput' }, + internalRemark: { __type: 'String' }, + internalRemarkMedias: { __type: '[MediaInput!]' }, + remark: { __type: 'String' }, + remarkMedias: { __type: '[MediaInput!]' }, + shippingAddress: { __type: 'AddressInput' }, + }, + OtherDiscount: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + name: { __type: 'String!' }, + }, + PageConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopPage!]!' }, + totalCount: { __type: 'Int!' }, + }, + PageFilterInput: { + active: { __type: 'FilterInput' }, + atFooter: { __type: 'FilterInput' }, + atHeader: { __type: 'FilterInput' }, + atMenu: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + display: { __type: 'FilterInput' }, + group: { __type: 'FilterInput' }, + hashtags: { __type: 'FilterInput' }, + href: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + rewriteUri: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + PageInput: { + active: { __type: 'Boolean' }, + atFooter: { __type: 'Boolean' }, + atHeader: { __type: 'Boolean' }, + atMenu: { __type: 'Boolean' }, + body: { __type: 'String' }, + display: { __type: 'Boolean' }, + group: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + href: { __type: 'String!' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String!' }, + rewriteUri: { __type: 'String' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + }, + PageViewsData: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + value: { __type: 'Float!' }, + }, + PaymentMethod: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + credential: { __type: 'ShopCredential!' }, + description: { __type: 'String' }, + enabled: { __type: 'Boolean!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + provider: { __type: 'PaymentProvider!' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + PaymentMethodConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[PaymentMethod!]!' }, + totalCount: { __type: 'Int!' }, + }, + PaymentMethodCreateInput: { + credentialId: { __type: 'ID!' }, + description: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + provider: { __type: 'PaymentProvider!' }, + sortIndex: { __type: 'Int' }, + }, + PaymentMethodFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + credentialId: { __type: 'FilterInput' }, + enabled: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + provider: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + PaymentMethodUpdateInput: { + description: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + }, + PaymentSource: { + __typename: { __type: 'String!' }, + brand: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + expiryMonth: { __type: 'Int!' }, + expiryYear: { __type: 'Int!' }, + holderName: { __type: 'String' }, + id: { __type: 'ID!' }, + issuerCountry: { __type: 'String' }, + last4: { __type: 'String!' }, + provider: { __type: 'String!' }, + sourceId: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + PaymentSourceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[PaymentSource!]!' }, + totalCount: { __type: 'Int!' }, + }, + Permission: { + __typename: { __type: 'String!' }, + key: { __type: 'String!' }, + value: { __type: '[String!]!' }, + }, + PermissionInput: { + key: { __type: 'String!' }, + value: { __type: '[String!]!' }, + }, + Process: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime' }, + id: { __type: 'ID!' }, + output: { __type: 'AWSJSON' }, + status: { __type: 'ProcessStatus!' }, + updatedAt: { __type: 'AWSDateTime' }, + }, + ProductCombination: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + options: { __type: '[ProductCombinationOption!]!' }, + }, + ProductCombinationInput: { + name: { __type: 'String!' }, + options: { __type: '[ProductCombinationOptionInput!]!' }, + }, + ProductCombinationOption: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + priceAdjustment: { __type: 'Float!' }, + }, + ProductCombinationOptionInput: { + name: { __type: 'String!' }, + priceAdjustment: { __type: 'Float' }, + }, + ProductConnection: { + __typename: { __type: 'String!' }, + filters: { __type: '[AttributeFilter!]!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopProduct!]!' }, + totalCount: { __type: 'Int!' }, + }, + ProductDetail: { + __typename: { __type: 'String!' }, + content: { __type: 'String' }, + title: { __type: 'String' }, + }, + ProductDetailInput: { + content: { __type: 'String!' }, + title: { __type: 'String!' }, + }, + ProductFilterInput: { + active: { __type: 'FilterInput' }, + attributes: { __type: '[AttributeFilterInput!]' }, + barcode: { __type: 'FilterInput' }, + basePrice: { __type: 'FilterInput' }, + collectionId: { __type: 'FilterInput' }, + collectionIds: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + hashtags: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + maxPrice: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + primarySortIndex: { __type: 'FilterInput' }, + publishAt: { __type: 'FilterInput' }, + publishThru: { __type: 'FilterInput' }, + purchaseLimit: { __type: 'FilterInput' }, + quantity: { __type: 'FilterInput' }, + rewriteUri: { __type: 'FilterInput' }, + salesChannels: { __type: 'FilterInput' }, + search: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + subtitle: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + variationBarcodes: { __type: 'FilterInput' }, + variationCost: { __type: 'FilterInput' }, + variationHashtags: { __type: 'FilterInput' }, + variationQuantity: { __type: 'FilterInput' }, + variationSkus: { __type: 'FilterInput' }, + variationStockLocations: { __type: 'FilterInput' }, + }, + ProductInput: { + active: { __type: 'Boolean' }, + attributes: { __type: '[ShopAttributeValueInput!]' }, + barcode: { __type: 'String' }, + basePrice: { __type: 'Float' }, + collectionCodes: { __type: '[String!]' }, + collectionIds: { __type: '[ID!]' }, + combinations: { __type: '[ProductCombinationInput!]' }, + description: { __type: 'String' }, + details: { __type: '[ProductDetailInput!]' }, + hasPublishDuration: { __type: 'Boolean' }, + hashTagsArray: { __type: '[String!]' }, + hashtags: { __type: '[String!]' }, + images: { __type: '[AWSURL!]' }, + maxPrice: { __type: 'Float' }, + medias: { __type: '[ProductMediaInput!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + metadataFields: { __type: '[CompanyMemberMetadataFieldInput!]' }, + modifiers: { __type: '[ProductModifierInput!]' }, + name: { __type: 'String!' }, + primarySortIndex: { __type: 'Int' }, + printDescription: { __type: 'String' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + purchaseLimit: { __type: 'Float' }, + remarkSet: { __type: 'String' }, + rewriteUri: { __type: 'String' }, + salesChannels: { __type: '[SalesChannel!]' }, + shippingZoneIds: { __type: '[ID!]' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + subtitle: { __type: 'String' }, + variations: { __type: '[ProductVariationInput!]' }, + }, + ProductMedia: { + __typename: { __type: 'String!' }, + alt: { __type: 'String' }, + combination: { __type: '[ProductVariationCombination!]' }, + id: { __type: 'ID' }, + metadata: { __type: '[Metadata!]' }, + optimizedSrc: { + __type: 'AWSURL!', + __args: { + contentType: 'MediaContentType', + gravity: 'MediaGravity', + height: 'Int', + quality: 'Int', + width: 'Int', + }, + }, + src: { __type: 'AWSURL!' }, + }, + ProductMediaInput: { + alt: { __type: 'String' }, + combination: { __type: '[ProductVariationCombinationInput!]' }, + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + src: { __type: 'AWSURL' }, + }, + ProductModifier: { + __typename: { __type: 'String!' }, + max: { __type: 'Int' }, + min: { __type: 'Int' }, + name: { __type: 'String!' }, + options: { __type: '[ProductModifierOption!]!' }, + }, + ProductModifierInput: { + max: { __type: 'Int' }, + min: { __type: 'Int' }, + name: { __type: 'String!' }, + options: { __type: '[ProductCombinationOptionInput!]!' }, + }, + ProductModifierOption: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + priceAdjustment: { __type: 'Float!' }, + }, + ProductModifierOptionInput: { + name: { __type: 'String!' }, + priceAdjustment: { __type: 'Float' }, + }, + ProductModifierValue: { + __typename: { __type: 'String!' }, + modifierId: { __type: 'ID!' }, + modifiers: { __type: '[ProductModifier!]!' }, + }, + ProductSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + barcode: { __type: 'String' }, + conversionRate: { __type: 'Float!' }, + count: { __type: 'Int!' }, + countries: { __type: '[ChartData!]!' }, + hitRate: { __type: 'Int!' }, + id: { __type: 'ID!' }, + medias: { __type: '[Media!]', __args: { shopId: 'ID!' } }, + memberAmount: { __type: 'Float!' }, + memberLevelAmounts: { __type: '[ChartData!]!' }, + memberLevels: { __type: '[ChartData!]!' }, + name: { __type: 'String!', __args: { shopId: 'ID' } }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + pageView: { __type: 'Int!' }, + salesPoints: { __type: '[ChartData!]!' }, + salesRecords: { + __type: 'ProductSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + }, + ProductSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ProductSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + ProductSalesRecord: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + productBarcode: { __type: 'String' }, + productId: { __type: 'ID!' }, + productName: { __type: 'String!' }, + productSku: { __type: 'String!' }, + quantity: { __type: 'Int!' }, + referenceNo: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + shopName: { __type: 'String!' }, + unitPrice: { __type: 'Float!' }, + variationBarcode: { __type: 'String' }, + variationBarcodes: { __type: '[String!]' }, + variationId: { __type: 'ID' }, + variationSku: { __type: 'String' }, + }, + ProductSalesRecordConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ProductSalesRecord!]!' }, + totalCount: { __type: 'Int!' }, + }, + ProductUnion: { + __typename: { __type: 'String!' }, + $on: { __type: '$ProductUnion!' }, + }, + ProductUnionConnection: { + __typename: { __type: 'String!' }, + filters: { __type: '[AttributeFilter!]!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ProductUnion!]!' }, + totalCount: { __type: 'Int!' }, + }, + ProductUnionFilterInput: { + active: { __type: 'FilterInput' }, + attributes: { __type: '[AttributeFilterInput!]' }, + barcode: { __type: 'FilterInput' }, + basePrice: { __type: 'FilterInput' }, + collectionIds: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + hashtags: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + maxPrice: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + primarySortIndex: { __type: 'FilterInput' }, + publishAt: { __type: 'FilterInput' }, + publishThru: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + subtitle: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ProductVariation: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + averageCost: { __type: 'Float!' }, + barcode: { __type: 'String' }, + barcodes: { __type: '[String]' }, + combination: { __type: '[ProductVariationCombination!]!' }, + cost: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + hashtags: { __type: '[String]' }, + id: { __type: 'ID!' }, + ignoreStock: { __type: 'Boolean!' }, + images: { __type: '[AWSURL!]' }, + medias: { __type: '[Media!]' }, + product: { __type: 'ShopProduct' }, + productId: { __type: 'String!' }, + quantities: { + __type: '[WarehouseQuantity]!', + __args: { warehouseIds: '[ID!]' }, + }, + quantity: { __type: 'Int!', __args: { warehouseId: 'ID' } }, + sku: { __type: 'String!' }, + stockLocations: { __type: '[String]' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + weight: { __type: 'Float' }, + }, + ProductVariationCombination: { + __typename: { __type: 'String!' }, + name: { __type: 'String!' }, + option: { __type: 'String!' }, + }, + ProductVariationCombinationInput: { + name: { __type: 'String!' }, + option: { __type: 'String!' }, + }, + ProductVariationInput: { + active: { __type: 'Boolean' }, + barcode: { __type: 'String' }, + barcodes: { __type: '[String!]' }, + combination: { __type: '[ProductVariationCombinationInput!]' }, + cost: { __type: 'Float!' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID' }, + ignoreStock: { __type: 'Boolean' }, + images: { __type: '[AWSURL!]' }, + ingredients: { __type: 'ID' }, + medias: { __type: '[MediaInput!]' }, + quantity: { __type: 'Int' }, + sku: { __type: 'String!' }, + stockLocations: { __type: '[String!]' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float!' }, + weight: { __type: 'Float' }, + }, + ProfileUpdateInput: { + familyName: { __type: 'String' }, + givenName: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + nickname: { __type: 'String' }, + picture: { __type: 'AWSURL' }, + title: { __type: 'String' }, + }, + ReceivePurchaseCreateInput: { + deviceId: { __type: 'ID' }, + items: { __type: '[ReceivePurchaseItemInput!]!' }, + metadata: { __type: '[MetadataInput!]' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + shopId: { __type: 'ID' }, + staffId: { __type: 'ID' }, + warehouseId: { __type: 'ID!' }, + }, + ReceivePurchaseFilterInput: { + active: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + staffId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + warehouseId: { __type: 'FilterInput' }, + }, + ReceivePurchaseItemInput: { + cost: { __type: 'Float!' }, + id: { __type: 'ID' }, + quantity: { __type: 'Int!' }, + sku: { __type: 'ID!' }, + }, + ReceivePurchaseUpdateInput: { + deviceId: { __type: 'ID' }, + items: { __type: '[ReceivePurchaseItemInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + shopId: { __type: 'ID' }, + staffId: { __type: 'ID' }, + warehouseId: { __type: 'ID' }, + }, + ReminderSetting: { + __typename: { __type: 'String!' }, + quantity: { __type: 'Int!' }, + remind: { __type: 'Boolean!' }, + }, + ReminderSettingInput: { + quantity: { __type: 'Int!' }, + remind: { __type: 'Boolean!' }, + }, + ReturnNoteCreateInput: { + items: { __type: '[ReturnNoteItemSetInput!]!' }, + metadata: { __type: '[MetadataInput!]' }, + orderId: { __type: 'ID!' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + shopId: { __type: 'ID!' }, + }, + ReturnNoteFilterInput: { + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + orderId: { __type: 'FilterInput' }, + orderReferenceNo: { __type: 'FilterInput' }, + orderShopId: { __type: 'FilterInput' }, + productId: { __type: 'FilterInput' }, + productVariationId: { __type: 'FilterInput' }, + referenceNo: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ReturnNoteItem: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + bundleProductOptionId: { __type: 'ID' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder!' }, + orderId: { __type: 'ID!' }, + orderItem: { __type: 'OrderItem!' }, + orderItemId: { __type: 'ID!' }, + productId: { __type: 'ID' }, + productVariationId: { __type: 'ID' }, + quantity: { __type: 'Int!' }, + reason: { __type: 'String' }, + remark: { __type: 'String' }, + resalable: { __type: 'Boolean!' }, + returnNote: { __type: 'ShopReturnNote!' }, + returnNoteId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + sortIndex: { __type: 'Int!' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + warehouse: { __type: 'CompanyWarehouse' }, + warehouseId: { __type: 'ID' }, + }, + ReturnNoteItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ReturnNoteItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + ReturnNoteItemFilterInput: { + createdAt: { __type: 'FilterInput' }, + description: { __type: 'FilterInput' }, + quantity: { __type: 'FilterInput' }, + reason: { __type: 'FilterInput' }, + resalable: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + unitPrice: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ReturnNoteItemSetInput: { + bundleProductOptionId: { __type: 'ID' }, + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + orderItemId: { __type: 'ID!' }, + reason: { __type: 'String' }, + remark: { __type: 'String' }, + resalable: { __type: 'Boolean!' }, + sortIndex: { __type: 'Int' }, + }, + ReturnNoteUpdateInput: { + items: { __type: '[ReturnNoteItemSetInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + remark: { __type: 'String' }, + }, + Sales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + }, + SalesByMethods: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + name: { __type: 'String!' }, + }, + SalesFilterInput: { + deviceId: { __type: 'String' }, + orderStatus: { __type: 'ShopOrderStatus' }, + paymentStatus: { __type: 'ShopOrderInvoiceStatus' }, + shippingStatus: { __type: 'ShopOrderDeliveryNoteStatus' }, + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + }, + SalespersonSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgAmount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + code: { __type: 'String!' }, + count: { __type: 'Int!' }, + id: { __type: 'ID!' }, + name: { __type: 'String!' }, + orderCount: { __type: 'Int!' }, + salesRecords: { + __type: 'SalespersonSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + }, + SalespersonSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[SalespersonSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + SalespersonSalesRecord: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + createdAt: { __type: 'AWSDateTime!' }, + orderId: { __type: 'ID!' }, + referenceNo: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + shopName: { __type: 'String!' }, + }, + SalespersonSalesRecordConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[SalespersonSalesRecord!]!' }, + totalCount: { __type: 'Int!' }, + }, + ServiceApplicationConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[AgencyServiceApplication!]!' }, + totalCount: { __type: 'Int!' }, + }, + ServiceBundleCreateInput: { + active: { __type: 'Boolean' }, + barcode: { __type: 'String' }, + collectionCodes: { __type: '[String!]' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + medias: { __type: '[MediaInput!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int' }, + rewriteUri: { __type: 'String' }, + serviceIds: { __type: '[ID!]!' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + slotRequiredAtCheckout: { __type: 'Boolean!' }, + sortIndex: { __type: 'Int' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float!' }, + validationStrategy: { __type: 'ServiceValidationStrategy' }, + }, + ServiceBundleUpdateInput: { + active: { __type: 'Boolean' }, + barcode: { __type: 'String' }, + collectionCodes: { __type: '[String!]' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + medias: { __type: '[MediaInput!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int' }, + rewriteUri: { __type: 'String' }, + serviceIds: { __type: '[ID!]' }, + sku: { __type: 'String!' }, + sortIndex: { __type: 'Int' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float' }, + unitPrice: { __type: 'Float!' }, + validationStrategy: { __type: 'ServiceValidationStrategy' }, + }, + ServiceCreateInput: { + active: { __type: 'Boolean' }, + autoConfirm: { __type: 'Boolean' }, + availableSince: { __type: 'DurationInput' }, + bundleProductId: { __type: 'ID' }, + description: { __type: 'String' }, + medias: { __type: '[MediaInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + quantity: { __type: 'Int' }, + sections: { __type: '[ServiceSectionInput!]!' }, + serviceLocationIds: { __type: '[ID!]!' }, + serviceLocationName: { __type: 'String' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + sortIndex: { __type: 'Int' }, + validSince: { __type: 'DurationInput' }, + validUntil: { __type: 'DurationInput' }, + }, + ServiceFilterInput: { + active: { __type: 'FilterInput' }, + autoConfirm: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + quantity: { __type: 'FilterInput' }, + serviceLocationId: { __type: 'FilterInput' }, + serviceLocationName: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ServiceLocationCreateInput: { + address: { __type: 'AddressInput' }, + durationMins: { __type: 'Int!' }, + maximumAvailableSlots: { __type: 'Int' }, + medias: { __type: '[MediaInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + }, + ServiceLocationFilterInput: { + createdAt: { __type: 'FilterInput' }, + durationMins: { __type: 'FilterInput' }, + maximumAvailableSlots: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ServiceLocationSlot: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + capacity: { __type: 'Int!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + location: { __type: 'ShopServiceLocation!' }, + metadata: { __type: '[Metadata!]' }, + price: { __type: 'Int!' }, + recurrence: { __type: 'String' }, + ruleId: { __type: 'ID' }, + shop: { __type: 'CompanyShop!' }, + startedAt: { __type: 'AWSDateTime!' }, + startedThru: { __type: 'AWSDateTime!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ServiceLocationSlotConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ServiceLocationSlot!]!' }, + totalCount: { __type: 'Int!' }, + }, + ServiceLocationSlotFilterInput: { + serviceLocationId: { __type: 'FilterInput' }, + startedAt: { __type: 'FilterInput' }, + startedThru: { __type: 'FilterInput' }, + }, + ServiceLocationSlotRule: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + capacity: { __type: 'Int!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + price: { __type: 'Int!' }, + recurrence: { __type: 'String!' }, + startedAt: { __type: 'AWSDateTime!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ServiceLocationSlotRuleConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ServiceLocationSlotRule!]!' }, + totalCount: { __type: 'Int!' }, + }, + ServiceLocationSlotRuleCreateInput: { + capacity: { __type: 'Int!' }, + metadata: { __type: '[MetadataInput!]' }, + price: { __type: 'Int' }, + recurrence: { __type: 'String!' }, + serviceLocationId: { __type: 'ID!' }, + shopId: { __type: 'ID!' }, + startedAt: { __type: 'AWSDateTime!' }, + }, + ServiceLocationSlotRuleUpdateInput: { + capacity: { __type: 'Int' }, + metadata: { __type: '[MetadataInput!]' }, + price: { __type: 'Int' }, + recurrence: { __type: 'String' }, + startedAt: { __type: 'AWSDateTime' }, + }, + ServiceLocationUpdateInput: { + address: { __type: 'AddressInput' }, + durationMins: { __type: 'Int' }, + maximumAvailableSlots: { __type: 'Int' }, + medias: { __type: '[MediaInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + }, + ServiceOption: { + __typename: { __type: 'String!' }, + id: { __type: 'ID!' }, + medias: { __type: '[Media!]' }, + name: { __type: 'String!' }, + price: { __type: 'Float!' }, + sku: { __type: 'String!' }, + variation: { __type: 'ProductVariation' }, + }, + ServiceOptionInput: { + id: { __type: 'ID' }, + medias: { __type: '[MediaInput!]' }, + name: { __type: 'String!' }, + price: { __type: 'Float!' }, + sku: { __type: 'String!' }, + }, + ServiceSection: { + __typename: { __type: 'String!' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + label: { __type: 'String!' }, + options: { __type: '[ServiceOption!]!' }, + }, + ServiceSectionInput: { + description: { __type: 'String' }, + id: { __type: 'ID' }, + label: { __type: 'String!' }, + options: { __type: '[ServiceOptionInput!]!' }, + }, + ServiceSlotCreateInput: { + capacity: { __type: 'Int!' }, + metadata: { __type: '[MetadataInput!]' }, + price: { __type: 'Int' }, + recurrence: { __type: 'String' }, + serviceLocationId: { __type: 'ID!' }, + shopId: { __type: 'ID!' }, + startedAt: { __type: 'AWSDateTime!' }, + }, + ServiceSlotUpdateInput: { + capacity: { __type: 'Int' }, + metadata: { __type: '[MetadataInput!]' }, + price: { __type: 'Int' }, + }, + ServiceUpdateInput: { + active: { __type: 'Boolean' }, + autoConfirm: { __type: 'Boolean' }, + availableSince: { __type: 'DurationInput' }, + bundleProductId: { __type: 'ID' }, + description: { __type: 'String' }, + medias: { __type: '[MediaInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + quantity: { __type: 'Int' }, + sections: { __type: '[ServiceSectionInput!]' }, + serviceLocationIds: { __type: '[ID!]!' }, + serviceLocationName: { __type: 'String' }, + sku: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + validSince: { __type: 'DurationInput' }, + validUntil: { __type: 'DurationInput' }, + }, + Session: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + id: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + user: { __type: 'User!' }, + }, + SessionToken: { + __typename: { __type: 'String!' }, + access_token: { __type: 'String!' }, + expires_in: { __type: 'Int!' }, + id_token: { __type: 'String' }, + refresh_token: { __type: 'String' }, + scope: { __type: 'String' }, + token_type: { __type: 'String!' }, + }, + ShippingZoneAddress: { + __typename: { __type: 'String!' }, + city: { __type: 'String' }, + country: { __type: 'Country' }, + email: { __type: 'String' }, + id: { __type: 'ID' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + ShippingZoneAddressInput: { + city: { __type: 'String' }, + country: { __type: 'Country' }, + email: { __type: 'String' }, + id: { __type: 'ID' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + ShippingZoneConfig: { + __typename: { __type: 'String!' }, + identity: { __type: 'String!' }, + secret: { __type: 'String!' }, + }, + ShippingZoneConfigInput: { + identity: { __type: 'String!' }, + secret: { __type: 'String!' }, + }, + ShippingZoneExpressions: { + __typename: { __type: 'String!' }, + maxWeight: { __type: 'Float!' }, + unit: { __type: 'Int!' }, + unitPrice: { __type: 'Float!' }, + }, + ShippingZoneExpressionsInput: { + maxWeight: { __type: 'Float' }, + unit: { __type: 'Int!' }, + unitPrice: { __type: 'Float!' }, + }, + ShopAddOnProduct: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + amount: { __type: 'Float' }, + barcode: { __type: 'String' }, + cost: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID!' }, + ignoreStock: { __type: 'Boolean!' }, + medias: { __type: '[Media!]' }, + name: { __type: 'String!' }, + product: { __type: 'ShopProduct' }, + productId: { __type: 'ID' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + purchaseLimit: { __type: 'Int!' }, + quantity: { __type: 'Int!', __args: { warehouseId: 'ID' } }, + sku: { __type: 'String!' }, + type: { __type: 'AddOnProductType!' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + weight: { __type: 'Float!' }, + }, + ShopAddOnProductConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopAddOnProduct!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopAddress: { + __typename: { __type: 'String!' }, + city: { __type: 'String' }, + country: { __type: 'Country' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + default: { __type: 'Boolean!' }, + email: { __type: 'String' }, + id: { __type: 'ID!' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopAddressInput: { + city: { __type: 'String!' }, + country: { __type: 'Country!' }, + email: { __type: 'String!' }, + isDefault: { __type: 'Boolean!' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + tel: { __type: 'String!' }, + }, + ShopAnalysisTool: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + context: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopAnalysisToolConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopAnalysisTool!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopAppointment: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + attendanceStatus: { __type: 'AppointmentAttendanceStatus!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customer: { __type: 'Customer' }, + id: { __type: 'ID!' }, + location: { __type: 'ShopServiceLocation!' }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder' }, + orderItem: { __type: 'OrderItem' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + service: { __type: 'ShopService!' }, + shop: { __type: 'CompanyShop!' }, + slots: { __type: '[ServiceLocationSlot!]!' }, + startedAt: { __type: 'AWSDateTime!' }, + startedThru: { __type: 'AWSDateTime!' }, + status: { __type: 'AppointmentStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopAppointmentConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopAppointment!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopAppointmentFilterInput: { + active: { __type: 'FilterInput' }, + attendanceStatus: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + referenceNo: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + startedAt: { __type: 'FilterInput' }, + startedThru: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopAttendance: { + __typename: { __type: 'String!' }, + company: { __type: 'Company!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + direction: { __type: 'AttendanceDirection!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + shop: { __type: 'CompanyShop!' }, + staff: { __type: 'CompanyStaff!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopAttribute: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + key: { __type: 'String!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + sortIndex: { __type: 'Int!' }, + system: { __type: 'Boolean!' }, + type: { __type: 'ShopAttributeType!' }, + typename: { __type: 'ShopAttributeTypename!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopAttributeConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopAttribute!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopAttributeCreateInput: { + active: { __type: 'Boolean' }, + key: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + type: { __type: 'ShopAttributeType!' }, + typename: { __type: 'ShopAttributeTypename!' }, + }, + ShopAttributeFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + key: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + system: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + typename: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopAttributeUpdateInput: { + active: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + }, + ShopAttributeValue: { + __typename: { __type: 'String!' }, + attributeId: { __type: 'ID!' }, + id: { __type: 'ID!' }, + key: { __type: 'String!' }, + type: { __type: 'ShopAttributeType!' }, + value: { __type: 'String!' }, + }, + ShopAttributeValueInput: { + attributeId: { __type: 'ID' }, + id: { __type: 'ID' }, + key: { __type: 'String' }, + value: { __type: 'String!' }, + }, + ShopAuthenticationCredentialInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + identity: { __type: 'String' }, + meta: { __type: 'ShopCredentialMetaInput' }, + name: { __type: 'String' }, + platform: { __type: 'ShopAuthenticationCredentialPlatform!' }, + secret: { __type: 'String' }, + type: { __type: 'ShopCredentialType' }, + }, + ShopBundleProduct: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + ancestorCollectionCodes: { __type: '[String!]' }, + barcode: { __type: 'String' }, + collectionCodes: { __type: '[String!]' }, + collections: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + cost: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID!' }, + ignoreStock: { __type: 'Boolean!' }, + medias: { __type: '[Media!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[Metadata!]!' }, + name: { __type: 'String!' }, + primarySortIndex: { __type: 'Int' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int!', __args: { warehouseId: 'ID' } }, + rewriteUri: { __type: 'String' }, + salesChannels: { __type: '[SalesChannel!]' }, + sections: { __type: '[ShopBundleProductSection!]!' }, + shippingZones: { __type: '[ShopShippingZone!]!' }, + shop: { __type: 'CompanyShop!' }, + sku: { __type: 'String' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float!' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + weight: { __type: 'Float!' }, + wishItems: { + __type: 'WishItemConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + }, + ShopBundleProductConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopBundleProduct!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopBundleProductOption: { + __typename: { __type: 'String!' }, + collection: { __type: 'ShopCollection' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID!' }, + price: { __type: 'Float!' }, + product: { __type: 'ShopProduct' }, + products: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopBundleProductOptionInput: { + collectionId: { __type: 'ID' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID' }, + price: { __type: 'Float!' }, + productId: { __type: 'ID' }, + }, + ShopBundleProductSection: { + __typename: { __type: 'String!' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + label: { __type: 'String!' }, + options: { __type: '[ShopBundleProductOption!]!' }, + }, + ShopBundleProductSectionInput: { + description: { __type: 'String' }, + id: { __type: 'ID' }, + label: { __type: 'String!' }, + options: { __type: '[ShopBundleProductOptionInput!]!' }, + }, + ShopCampaign: { + __typename: { __type: 'String!' }, + actionResults: { __type: '[CampaignActionResult!]!' }, + actionType: { __type: 'CampaignActionType!' }, + actionTypes: { __type: '[CampaignActionType!]!' }, + actions: { __type: '[CampaignAction!]!' }, + active: { __type: 'Boolean' }, + content: { __type: 'String!' }, + coupon: { __type: 'CompanyCoupon' }, + coupons: { __type: '[CompanyCoupon!]' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + excludedHashtags: { __type: '[String!]' }, + excludedMatchMode: { __type: 'CampaignMatchMode!' }, + id: { __type: 'ID!' }, + matchMode: { __type: 'CampaignMatchMode' }, + name: { __type: 'String' }, + recipients: { + __type: 'CampaignRecipientConnection!', + __args: { + cursor: 'Int', + filter: 'CampaignRecipientFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + result: { __type: 'CampaignResult!' }, + richContent: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + targetHashtags: { __type: '[String]!' }, + targetMatchMode: { __type: 'CampaignMatchMode!' }, + thumbnail: { __type: 'Media' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validAt: { __type: 'AWSDateTime!' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopCashFlow: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + deviceId: { __type: 'String' }, + direction: { __type: 'ShopCashFlowDirection!' }, + id: { __type: 'ID!' }, + locale: { __type: 'String!' }, + remark: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopCashFlowConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopCashFlow!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopCheckout: { + __typename: { __type: 'String!' }, + addOnProducts: { + __type: 'ShopAddOnProductConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + availableAddOnProducts: { + __type: 'ShopAddOnProductConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + availablePaymentMethods: { __type: '[ShopCredential!]' }, + availablePaymentMethodsV2: { __type: '[PaymentMethod!]' }, + availableShippingZones: { __type: '[ShopShippingZone!]!' }, + billingAddress: { __type: 'Address' }, + cashVouchers: { + __type: 'CheckoutCashVoucherConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + cashier: { __type: 'String' }, + couponDiscount: { __type: 'Float!' }, + coupons: { __type: '[CheckoutCoupon!]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + currency: { __type: 'String!' }, + customer: { __type: 'Customer' }, + deviceId: { __type: 'String' }, + estimationShippingFee: { __type: 'Float' }, + id: { __type: 'ID!' }, + internalRemark: { __type: 'String' }, + internalRemarkMedias: { __type: '[Media!]' }, + isPreOrder: { __type: 'Boolean' }, + items: { __type: '[CheckoutItem!]!', __args: { withDeleted: 'Boolean' } }, + lastPaidTime: { __type: 'AWSDateTime' }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder' }, + payment: { + __type: 'CheckoutPayment', + __args: { input: 'CheckoutPaymentInput!' }, + }, + pickUpAddress: { __type: 'Address' }, + pickUpAddressId: { __type: 'ID' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + remarkMedias: { __type: '[Media!]' }, + salesperson: { __type: 'CompanyStaff' }, + salespersonId: { __type: 'ID' }, + selectedAddOnProducts: { __type: '[ShopAddOnProduct!]!' }, + shippingAddress: { __type: 'Address' }, + shippingFee: { __type: 'Float!' }, + shippingProvider: { __type: 'ShopShippingProvider' }, + shop: { __type: 'CompanyShop!' }, + shopDiscount: { __type: 'Float!' }, + staff: { __type: 'CompanyStaff' }, + staffId: { __type: 'ID' }, + status: { __type: 'CheckoutStatus!' }, + subtotal: { __type: 'Float!' }, + table: { __type: 'ShopTable' }, + taxFee: { __type: 'Float!' }, + total: { __type: 'Float' }, + totalAdjustments: { __type: '[CheckoutAdjustment!]!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopCheckoutConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopCheckout!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopCollection: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + allChildren: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + allProducts: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + children: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + code: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + dailyAvailability: { __type: 'DailyAvailability' }, + descendentProductUnions: { + __type: 'ProductUnionConnection!', + __args: { + cursor: 'Int', + filter: 'ProductUnionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + descendentProducts: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + media: { __type: 'Media' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String!' }, + parent: { __type: 'ShopCollection' }, + parentId: { __type: 'String' }, + parentIds: { __type: 'String' }, + parents: { __type: '[ShopCollection!]' }, + productUnions: { + __type: 'ProductUnionConnection!', + __args: { + cursor: 'Int', + filter: 'ProductUnionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + products: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + rewriteUri: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + thumbnail: { __type: 'AWSURL' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyShop!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopContactEmail: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + email: { __type: 'String!' }, + id: { __type: 'ID!' }, + type: { __type: 'ShopContactEmailType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + verified: { __type: 'Boolean!' }, + }, + ShopContactEmailConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopContactEmail!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopCredential: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + identity: { __type: 'String!' }, + meta: { __type: 'ShopCredentialMeta' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String' }, + paymentMethods: { __type: '[PaymentMethod!]!' }, + platform: { __type: 'ShopCredentialPlatform!' }, + secret: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'ShopCredentialType' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopCredentialInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + identity: { __type: 'String' }, + meta: { __type: 'AWSJSON' }, + name: { __type: 'String' }, + platform: { __type: 'ShopCredentialPlatform!' }, + secret: { __type: 'String' }, + type: { __type: 'ShopCredentialType' }, + }, + ShopCredentialMeta: { + __typename: { __type: 'String!' }, + capabilitiesStatusActive: { __type: 'Boolean' }, + loginId: { __type: 'String' }, + loginPWD: { __type: 'String' }, + }, + ShopCredentialMetaInput: { + loginId: { __type: 'String' }, + loginPWD: { __type: 'String' }, + }, + ShopDevice: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + cashFlows: { + __type: 'ShopCashFlowConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + configs: { __type: 'AWSJSON' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + defaultConfigs: { __type: 'AWSJSON' }, + description: { __type: 'String' }, + deviceId: { __type: 'String!' }, + id: { __type: 'ID!' }, + lastLogin: { __type: 'AWSDateTime' }, + metadata: { __type: '[Metadata!]' }, + metrics: { + __type: 'ShopDeviceMetricConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + name: { __type: 'String!' }, + shop: { __type: 'CompanyShop' }, + status: { __type: 'ShopDeviceStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopDeviceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopDevice!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopDeviceCreateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + defaultConfigs: { __type: 'AWSJSON' }, + description: { __type: 'String' }, + deviceId: { __type: 'ID!' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + }, + ShopDeviceMetric: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]!' }, + }, + ShopDeviceMetricConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopDeviceMetric!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopDeviceMetricCreateInput: { metadata: { __type: '[MetadataInput!]!' } }, + ShopDeviceUpdateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + defaultConfigs: { __type: 'AWSJSON' }, + description: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + }, + ShopEmailSendInput: { + from: { __type: 'String' }, + html: { __type: 'String' }, + shopId: { __type: 'ID!' }, + subject: { __type: 'String!' }, + templateData: { __type: 'String' }, + templateType: { __type: 'ShopEmailTemplateType' }, + to: { __type: '[String!]!' }, + }, + ShopEmailTemplate: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + configs: { __type: 'AWSJSON' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + isDefault: { __type: 'Boolean!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'ShopEmailTemplateType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopEmailTemplateConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopEmailTemplate!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopEmailTemplateCreateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + isDefault: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + type: { __type: 'ShopEmailTemplateType!' }, + }, + ShopEmailTemplateFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopEmailTemplateUpdateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + isDefault: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + }, + ShopForm: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + autoApprove: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + metadataFields: { __type: '[CompanyMemberMetadataField!]!' }, + name: { __type: 'String!' }, + records: { + __type: 'ShopFormRecordConnection!', + __args: { + cursor: 'Int', + filter: 'ShopFormRecordFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shop: { __type: 'CompanyShop!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopFormConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopForm!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopFormCreateInput: { + active: { __type: 'Boolean' }, + autoApprove: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + metadataFields: { __type: '[CompanyMemberMetadataFieldInput!]!' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopFormFilterInput: { + active: { __type: 'FilterInput' }, + autoApprove: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + validAt: { __type: 'FilterInput' }, + validThru: { __type: 'FilterInput' }, + }, + ShopFormRecord: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customer: { __type: 'Customer' }, + form: { __type: 'ShopForm' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]!' }, + status: { __type: 'ShopFormRecordStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopFormRecordConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopFormRecord!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopFormRecordFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + customerId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopFormUpdateInput: { + active: { __type: 'Boolean' }, + autoApprove: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + metadataFields: { __type: '[CompanyMemberMetadataFieldInput!]' }, + name: { __type: 'String' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopManualCredentialInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + name: { __type: 'String!' }, + }, + ShopMarquee: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + backgroundColor: { __type: 'String' }, + closable: { __type: 'Boolean' }, + content: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + path: { __type: 'String' }, + positionBottom: { __type: 'String' }, + positionTop: { __type: 'String' }, + shopId: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopMarqueeConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopMarquee!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopMarqueeFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopMarqueeInput: { + active: { __type: 'Boolean' }, + backgroundColor: { __type: 'String' }, + closable: { __type: 'Boolean' }, + content: { __type: 'String' }, + path: { __type: 'String' }, + positionBottom: { __type: 'String' }, + positionTop: { __type: 'String' }, + shopId: { __type: 'ID!' }, + }, + ShopNavigationTemplate: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + configs: { __type: 'AWSJSON' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'NavigationTemplateType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopNavigationTemplateConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopNavigationTemplate!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopOrder: { + __typename: { __type: 'String!' }, + activities: { + __type: 'OrderActivityConnection', + __args: { cursor: 'Int', limits: 'Int' }, + }, + appointments: { + __type: 'ShopAppointmentConnection!', + __args: { + cursor: 'Int', + filter: 'ShopAppointmentFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + billingAddress: { __type: 'Address' }, + cancelReason: { __type: 'String' }, + channel: { __type: 'Channel' }, + checkout: { __type: 'ShopCheckout!' }, + checkoutId: { __type: 'ID' }, + comments: { __type: '[OrderComment!]!' }, + company: { __type: 'Company!' }, + couponDiscount: { __type: 'Float!' }, + coupons: { __type: '[CompanyCoupon!]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + creditNotes: { + __type: 'CreditNoteConnection!', + __args: { + cursor: 'Int', + filter: 'CreditNoteFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + currency: { __type: 'String!' }, + customer: { __type: 'Customer' }, + deductibleMemberPoints: { __type: 'Int!' }, + deliveryNotes: { + __type: 'DeliveryNoteConnection!', + __args: { + cursor: 'Int', + filter: 'DeliveryNotesFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + deviceId: { __type: 'String' }, + gainMemberPoints: { __type: 'Int' }, + id: { __type: 'ID!' }, + internalRemark: { __type: 'String' }, + internalRemarkMedias: { __type: '[Media!]' }, + invoices: { + __type: 'InvoiceConnection!', + __args: { + cursor: 'Int', + filter: 'InvoiceFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + isPreOrder: { __type: 'Boolean' }, + items: { __type: '[OrderItem!]!' }, + itemsV2: { + __type: 'OrderItemConnection!', + __args: { + cursor: 'Int', + filter: 'OrderItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + kitchenStatus: { __type: 'ShopOrderKitchenStatus!' }, + memberPointDiscount: { __type: 'Float!' }, + memberPoints: { __type: 'Float!' }, + metadata: { __type: '[Metadata!]' }, + paymentProvider: { __type: 'PaymentProvider' }, + paymentStatus: { __type: 'ShopOrderInvoiceStatus!' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + remarkMedias: { __type: '[Media!]' }, + returnNoteItems: { + __type: 'ReturnNoteItemConnection!', + __args: { + cursor: 'Int', + filter: 'ReturnNoteItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + rewardedMemberPoints: { __type: 'Int!' }, + salesperson: { __type: 'CompanyStaff' }, + shippingAddress: { __type: 'Address' }, + shippingFee: { __type: 'Float!' }, + shippingProvider: { __type: 'ShopShippingProvider' }, + shippingStatus: { __type: 'ShopOrderDeliveryNoteStatus!' }, + shop: { __type: 'CompanyShop!' }, + shopDiscount: { __type: 'Float!' }, + staff: { __type: 'CompanyStaff' }, + status: { __type: 'ShopOrderStatus!' }, + subtotal: { __type: 'Float!' }, + taxFee: { __type: 'Float!' }, + total: { __type: 'Float!' }, + totalAdjustments: { __type: '[OrderAdjustment!]!' }, + totalPaid: { __type: 'Float!' }, + totalRefund: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopPage: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + atFooter: { __type: 'Boolean' }, + atHeader: { __type: 'Boolean' }, + atMenu: { __type: 'Boolean' }, + body: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + display: { __type: 'Boolean!' }, + group: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + href: { __type: 'String!' }, + id: { __type: 'ID!' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + name: { __type: 'String!' }, + rewriteUri: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopPaymentCredentialInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + identity: { __type: 'String' }, + meta: { __type: 'ShopCredentialMetaInput' }, + name: { __type: 'String' }, + platform: { __type: 'ShopPaymentCredentialPlatform!' }, + secret: { __type: 'String' }, + type: { __type: 'ShopCredentialType' }, + }, + ShopPopup: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + content: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + href: { __type: 'String' }, + id: { __type: 'ID!' }, + path: { __type: 'String' }, + shopId: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validAt: { __type: 'AWSDateTime!' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopPopupConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopPopup!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopPopupCreateInput: { + active: { __type: 'Boolean' }, + content: { __type: 'String' }, + href: { __type: 'String' }, + path: { __type: 'String' }, + shopId: { __type: 'ID!' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopPopupUpdateInput: { + active: { __type: 'Boolean' }, + content: { __type: 'String' }, + href: { __type: 'String' }, + path: { __type: 'String' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + ShopProduct: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + ancestorCollectionCodes: { __type: '[String!]' }, + attributes: { + __type: '[ShopAttributeValue!]', + __args: { keys: '[String!]' }, + }, + barcode: { __type: 'String' }, + basePrice: { __type: 'Float!' }, + bundleProducts: { + __type: 'ShopBundleProductConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + collectionCodes: { __type: '[String!]' }, + collectionPaths: { __type: '[String!]' }, + collections: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + combinations: { __type: '[ProductCombination!]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + details: { __type: '[ProductDetail!]' }, + hasPublishDuration: { __type: 'Boolean' }, + hashTagsArray: { __type: '[String!]' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID!' }, + images: { __type: '[AWSURL!]' }, + maxPrice: { __type: 'Float!' }, + medias: { __type: '[Media!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[Metadata!]' }, + metadataFields: { __type: '[CompanyMemberMetadataField!]' }, + modifierValues: { __type: '[ProductModifierValue!]' }, + modifiers: { __type: '[ProductModifier!]!' }, + name: { __type: 'String!' }, + paginatedVariations: { + __type: 'VariationConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + primarySortIndex: { __type: 'Int' }, + printDescription: { __type: 'String' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + purchaseLimit: { __type: 'Float' }, + remarkSet: { __type: 'String' }, + rewriteUri: { __type: 'String' }, + salesChannels: { __type: '[SalesChannel!]' }, + shippingZones: { __type: '[ShopShippingZone!]' }, + shop: { __type: 'CompanyShop!' }, + sku: { __type: 'String' }, + stockMovements: { + __type: 'StockMovementConnection!', + __args: { + cursor: 'Int', + filter: 'StockMovementFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + subtitle: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + variations: { __type: '[ProductVariation!]!' }, + wishItems: { + __type: 'WishItemConnection!', + __args: { cursor: 'Int', limits: 'Int' }, + }, + }, + ShopProductModifier: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + code: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + modifiers: { __type: '[ProductModifier!]!' }, + name: { __type: 'String!' }, + productCount: { __type: 'Int!' }, + products: { + __type: 'ProductConnection!', + __args: { + cursor: 'Int', + filter: 'ProductFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopProductModifierConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopProductModifier!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopProductModifierCreateInput: { + active: { __type: 'Boolean' }, + code: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + modifiers: { __type: '[ProductModifierInput!]!' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + }, + ShopProductModifierFilterInput: { + active: { __type: 'FilterInput' }, + code: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopProductModifierUpdateInput: { + active: { __type: 'Boolean' }, + code: { __type: 'String' }, + metadata: { __type: '[MetadataInput!]' }, + modifiers: { __type: '[ProductModifierInput!]' }, + name: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + }, + ShopReceiptTemplate: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + configs: { __type: 'AWSJSON' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + shop: { __type: 'CompanyShop!' }, + type: { __type: 'ReceiptTemplateType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopReceiptTemplateConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopReceiptTemplate!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopReceiptTemplateCreateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + type: { __type: 'ReceiptTemplateType!' }, + }, + ShopReceiptTemplateFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopReceiptTemplateUpdateInput: { + active: { __type: 'Boolean' }, + configs: { __type: 'AWSJSON' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + }, + ShopReferenceNoFormat: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + length: { __type: 'Int!' }, + prefix: { __type: 'String!' }, + shopId: { __type: 'String!' }, + type: { __type: 'ShopReferenceNoFormatType!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopReferenceNoFormatConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopReferenceNoFormat!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopReferenceNoFormatCreateInput: { + length: { __type: 'Int!' }, + prefix: { __type: 'String!' }, + shopId: { __type: 'String!' }, + type: { __type: 'ShopReferenceNoFormatType!' }, + }, + ShopReferenceNoFormatFilterInput: { + active: { __type: 'FilterInput' }, + completedAt: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + length: { __type: 'FilterInput' }, + prefix: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopReferenceNoFormatUpdateInput: { + length: { __type: 'Int' }, + prefix: { __type: 'String' }, + }, + ShopReport: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + collectionSales: { + __type: 'CollectionSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + count: { __type: 'Float!' }, + couponSales: { + __type: 'CouponSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + customerSales: { + __type: 'Sales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + discountSales: { + __type: 'DiscountSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + memberTierSales: { + __type: 'MemberTierSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + newCustomerSales: { + __type: 'Sales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + nonCustomerSales: { + __type: 'Sales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + oldCustomerSales: { + __type: 'Sales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + otherDiscounts: { + __type: '[OtherDiscount!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + pageViews: { + __type: '[PageViewsData!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + pendingOrderCount: { + __type: 'Float!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + productSales: { + __type: 'ProductSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + promotionCodeSales: { + __type: 'CouponSales!', + __args: { + id: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + refund: { + __type: 'Float!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + salesByMethods: { + __type: '[SalesByMethods!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + salesByOrderItems: { + __type: '[SalesByMethods!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + topCollectionSales: { + __type: 'CollectionSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topCouponSales: { + __type: 'CouponSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topDiscountSales: { + __type: 'DiscountSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topMemberTierSales: { + __type: 'MemberTierSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topProductSales: { + __type: 'ProductSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topPromotionCodeSales: { + __type: 'CouponSalesConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topSalesProducts: { + __type: '[TopSalesProduct!]!', + __args: { + limits: 'Int', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + topSalesVariations: { + __type: '[TopSalesVariations!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + topViewProducts: { + __type: '[PageViewsData!]!', + __args: { + limits: 'Int', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + totalCollectionSales: { + __type: 'TotalCollectionSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalCouponSales: { + __type: 'TotalCouponSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalDiscountSales: { + __type: 'TotalDiscountSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalItemSales: { + __type: 'TotalItemSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalMemberTierSales: { + __type: 'TotalMemberTierSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalProductSales: { + __type: 'TotalProductSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + totalPromotionCodeSales: { + __type: 'TotalCouponSales!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + turnover: { + __type: 'Float!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + unpaidOrderAmount: { + __type: 'Float!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + unpaidOrderCount: { + __type: 'Int!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + userAge: { + __type: '[PageViewsData!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + userCountry: { + __type: '[PageViewsData!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + userGender: { + __type: '[PageViewsData!]!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + volume: { + __type: 'Int!', + __args: { startedAt: 'AWSDateTime!', startedThru: 'AWSDateTime!' }, + }, + }, + ShopReturnNote: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + items: { + __type: 'ReturnNoteItemConnection!', + __args: { + cursor: 'Int', + filter: 'ReturnNoteItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + metadata: { __type: '[Metadata!]' }, + order: { __type: 'ShopOrder!' }, + referenceNo: { __type: 'String!' }, + remark: { __type: 'String' }, + shop: { __type: 'CompanyShop!' }, + status: { __type: 'ReturnNoteStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + warehouse: { __type: 'CompanyWarehouse!' }, + }, + ShopReturnNoteConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopReturnNote!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + count: { __type: 'Int!' }, + id: { __type: 'ID!' }, + memberAmount: { __type: 'Float!' }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + }, + ShopSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopService: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + autoConfirm: { __type: 'Boolean!' }, + availableSince: { __type: 'Duration' }, + bundleProduct: { __type: 'ShopBundleProduct' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + medias: { __type: '[Media!]' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + quantity: { __type: 'Int' }, + sections: { __type: '[ServiceSection!]' }, + serviceLocationName: { __type: 'String' }, + serviceLocations: { + __type: 'ShopServiceLocationConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceLocationFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shop: { __type: 'CompanyShop!' }, + sku: { __type: 'String!' }, + slots: { + __type: 'ServiceLocationSlotConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceLocationSlotFilterInput', + isAvailable: 'Boolean', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + sortIndex: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validSince: { __type: 'Duration' }, + validUntil: { __type: 'Duration' }, + }, + ShopServiceBundle: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + availableForSale: { __type: 'Boolean!' }, + collections: { + __type: 'CollectionConnection!', + __args: { + cursor: 'Int', + filter: 'CollectionFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'ID!' }, + medias: { __type: '[Media!]' }, + metaDescription: { __type: 'String' }, + metaKeywords: { __type: 'String' }, + metaTitle: { __type: 'String' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + publishAt: { __type: 'AWSDateTime' }, + publishThru: { __type: 'AWSDateTime' }, + quantity: { __type: 'Int' }, + rewriteUri: { __type: 'String' }, + services: { __type: '[ShopService!]!' }, + shop: { __type: 'CompanyShop!' }, + sku: { __type: 'String!' }, + slotRequiredAtCheckout: { __type: 'Boolean!' }, + sortIndex: { __type: 'Int!' }, + subtitle: { __type: 'String' }, + suggestedRetailPrice: { __type: 'Float!' }, + unitPrice: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + validationStrategy: { __type: 'ServiceValidationStrategy' }, + }, + ShopServiceBundleConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopServiceBundle!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopServiceConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopService!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopServiceLocation: { + __typename: { __type: 'String!' }, + address: { __type: 'Address' }, + appointments: { + __type: 'ShopAppointmentConnection!', + __args: { + cursor: 'Int', + filter: 'ShopAppointmentFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + durationMins: { __type: 'Int!' }, + id: { __type: 'ID!' }, + maximumAvailableSlots: { __type: 'Int' }, + medias: { __type: '[Media!]' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + services: { + __type: 'ShopServiceConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + shop: { __type: 'CompanyShop!' }, + slotRules: { + __type: 'ServiceLocationSlotRuleConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + slots: { + __type: 'ServiceLocationSlotConnection!', + __args: { + cursor: 'Int', + filter: 'ServiceLocationSlotFilterInput', + isAvailable: 'Boolean', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + sortIndex: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopServiceLocationConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopServiceLocation!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopShippingCredentialInput: { + active: { __type: 'Boolean' }, + description: { __type: 'String' }, + id: { __type: 'ID' }, + identity: { __type: 'String' }, + meta: { __type: 'AWSJSON' }, + name: { __type: 'String' }, + platform: { __type: 'ShopShippingCredentialPlatform!' }, + secret: { __type: 'String' }, + type: { __type: 'ShopCredentialType' }, + }, + ShopShippingProvider: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean' }, + addresses: { __type: '[ShippingZoneAddress!]' }, + config: { __type: 'ShippingZoneConfig' }, + countries: { __type: '[Country!]' }, + createdAt: { __type: 'AWSDateTime' }, + createdBy: { __type: 'User' }, + expressions: { __type: '[ShippingZoneExpressions!]' }, + id: { __type: 'ID' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String' }, + provider: { __type: 'ShippingZoneProvider' }, + shop: { __type: 'CompanyShop' }, + sortIndex: { __type: 'Int' }, + updatedAt: { __type: 'AWSDateTime' }, + updatedBy: { __type: 'User' }, + }, + ShopShippingZone: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + addresses: { __type: '[ShippingZoneAddress!]' }, + config: { __type: 'ShippingZoneConfig' }, + countries: { __type: '[Country!]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + expressions: { __type: '[ShippingZoneExpressions!]!' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + provider: { __type: 'ShippingZoneProvider!' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopShippingZoneConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopShippingZone!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopShippingZoneFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + maxWeight: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + provider: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + ShopShippingZoneInput: { + active: { __type: 'Boolean' }, + addresses: { __type: '[ShippingZoneAddressInput!]' }, + config: { __type: 'ShippingZoneConfigInput' }, + countries: { __type: '[Country!]' }, + expressions: { __type: '[ShippingZoneExpressionsInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + provider: { __type: 'ShippingZoneProviderInput!' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + }, + ShopTable: { + __typename: { __type: 'String!' }, + checkouts: { + __type: 'ShopCheckoutConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + color: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + group: { __type: 'String' }, + id: { __type: 'ID!' }, + meta: { __type: 'String' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + shape: { __type: 'TableShape' }, + shapeData: { __type: '[Int!]' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + status: { __type: 'TableStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + venue: { __type: 'ShopVenue!' }, + }, + ShopTableConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopTable!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopTaxZone: { + __typename: { __type: 'String!' }, + countries: { __type: '[Country!]!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + shop: { __type: 'CompanyShop!' }, + taxRate: { __type: 'Float!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopTaxZoneConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopTaxZone!]!' }, + totalCount: { __type: 'Int!' }, + }, + ShopTaxZoneInput: { + countries: { __type: '[Country!]' }, + shopId: { __type: 'ID!' }, + taxRate: { __type: 'Float' }, + }, + ShopVenue: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + media: { __type: 'Media' }, + metadata: { __type: '[Metadata!]' }, + name: { __type: 'String!' }, + shop: { __type: 'CompanyShop!' }, + sortIndex: { __type: 'Int!' }, + tables: { + __type: 'ShopTableConnection!', + __args: { + cursor: 'Int', + filter: 'TableFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + ShopVenueConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ShopVenue!]!' }, + totalCount: { __type: 'Int!' }, + }, + SorterInput: { + field: { __type: 'String!' }, + order: { __type: 'SortOrder!' }, + }, + StockAdjustmentCreateInput: { + items: { __type: '[StockAdjustmentItemSetInput!]!' }, + metadata: { __type: '[MetadataInput!]' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + shopId: { __type: 'ID!' }, + staffId: { __type: 'ID' }, + warehouseId: { __type: 'ID!' }, + }, + StockAdjustmentFilterInput: { + createdAt: { __type: 'FilterInput' }, + deviceId: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + referenceNo: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + staffId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + warehouseId: { __type: 'FilterInput' }, + }, + StockAdjustmentItem: { + __typename: { __type: 'String!' }, + cost: { __type: 'Float!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + sku: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + StockAdjustmentItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[StockAdjustmentItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + StockAdjustmentItemFilterInput: { + cost: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + quantity: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + StockAdjustmentItemSetInput: { + cost: { __type: 'Float' }, + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + sku: { __type: 'String!' }, + sortIndex: { __type: 'Int' }, + }, + StockAdjustmentUpdateInput: { + items: { __type: '[StockAdjustmentItemSetInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + remark: { __type: 'String' }, + staffId: { __type: 'ID' }, + warehouseId: { __type: 'ID' }, + }, + StockMovement: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + combination: { __type: 'String' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + direction: { __type: 'StockMovementDirection!' }, + id: { __type: 'ID!' }, + quantity: { __type: 'Int!' }, + reference: { __type: 'String' }, + referenceSourceNo: { __type: 'String' }, + sku: { __type: 'String!' }, + status: { __type: 'StockMovementStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + StockMovementConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[StockMovement!]!' }, + totalCount: { __type: 'Int!' }, + }, + StockMovementFilterInput: { + createdAt: { __type: 'FilterInput' }, + reference: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + }, + StockTransferCreateInput: { + deviceId: { __type: 'ID' }, + inboundWarehouseId: { __type: 'ID!' }, + items: { __type: '[TransferItemInput!]!' }, + metadata: { __type: '[MetadataInput!]' }, + outboundWarehouseId: { __type: 'ID!' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + shopId: { __type: 'ID' }, + staffId: { __type: 'ID' }, + transferWarehouseId: { __type: 'ID!' }, + }, + StockTransferFilterInput: { + active: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + inboundWarehouseId: { __type: 'FilterInput' }, + outboundWarehouseId: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + staffId: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + transferWarehouseId: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + StockTransferItem: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + id: { __type: 'ID!' }, + metadata: { __type: '[Metadata!]' }, + productVariation: { __type: 'ProductVariation' }, + quantity: { __type: 'Int!' }, + receivedQuantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + sku: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + StockTransferItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[StockTransferItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + StockTransferItemFilterInput: { + createdAt: { __type: 'FilterInput' }, + quantity: { __type: 'FilterInput' }, + remark: { __type: 'FilterInput' }, + sku: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + StockTransferUpdateInput: { + deviceId: { __type: 'ID' }, + inboundWarehouseId: { __type: 'ID' }, + items: { __type: '[TransferItemInput!]' }, + metadata: { __type: '[MetadataInput!]' }, + outboundWarehouseId: { __type: 'ID' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + staffId: { __type: 'ID' }, + transferWarehouseId: { __type: 'ID' }, + }, + StocktakeInput: { + deviceId: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + referenceNo: { __type: 'String' }, + remark: { __type: 'String' }, + salespersonId: { __type: 'ID' }, + shopId: { __type: 'ID' }, + staffId: { __type: 'ID' }, + warehouseId: { __type: 'ID!' }, + }, + StocktakeItemInput: { + currentStock: { __type: 'Int!' }, + quantity: { __type: 'Int!' }, + sku: { __type: 'String!' }, + }, + SubCouponInput: { + applyCode: { __type: 'CouponApplyCode!' }, + isRedeemable: { __type: 'Boolean' }, + memberPointCost: { __type: 'Int' }, + numberOfRedeem: { __type: 'Int' }, + usage: { __type: 'Int' }, + }, + TableCreateInput: { + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shape: { __type: 'TableShape' }, + shapeData: { __type: '[Int!]' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + status: { __type: 'TableStatus' }, + venueId: { __type: 'ID!' }, + }, + TableFilterInput: { + color: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + shape: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + venueId: { __type: 'FilterInput' }, + }, + TableUpdateInput: { + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + shape: { __type: 'TableShape' }, + shapeData: { __type: '[Int!]' }, + sortIndex: { __type: 'Int' }, + status: { __type: 'TableStatus' }, + venueId: { __type: 'ID' }, + }, + TopSalesProduct: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + product: { __type: 'ShopProduct' }, + productName: { __type: 'String!' }, + }, + TopSalesVariations: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + orderCount: { __type: 'Int!' }, + variation: { __type: 'ProductVariation!' }, + }, + TotalCollectionSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalConversionRate: { __type: 'Float!' }, + totalCount: { __type: 'Float!' }, + totalHitRate: { __type: 'Int!' }, + totalOrder: { __type: 'Int!' }, + totalPageView: { __type: 'Int!' }, + }, + TotalCouponSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Float!' }, + totalDiscountAmount: { __type: 'Float!' }, + totalOrder: { __type: 'Int!' }, + totalRedeemCount: { __type: 'Int!' }, + totalUsageCount: { __type: 'Int!' }, + }, + TotalDiscountSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Float!' }, + totalDiscountAmount: { __type: 'Float!' }, + totalOrder: { __type: 'Int!' }, + totalUsageCount: { __type: 'Int!' }, + }, + TotalItemSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + count: { __type: 'Int!' }, + orderCount: { __type: 'Int!' }, + }, + TotalMemberTierSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Int!' }, + totalMemberCount: { __type: 'Int!' }, + totalNewMemberCount: { __type: 'Int!' }, + totalOrder: { __type: 'Int!' }, + }, + TotalProductSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalConversionRate: { __type: 'Float!' }, + totalCount: { __type: 'Float!' }, + totalHitRate: { __type: 'Int!' }, + totalOrder: { __type: 'Int!' }, + totalPageView: { __type: 'Int!' }, + }, + TotalSalespersonSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Int!' }, + totalOrder: { __type: 'Int!' }, + }, + TotalShopSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Int!' }, + totalMemberAmount: { __type: 'Float!' }, + totalNonMemberAmount: { __type: 'Float!' }, + totalOrder: { __type: 'Int!' }, + }, + TotalVariationSales: { + __typename: { __type: 'String!' }, + totalAmount: { __type: 'Float!' }, + totalAvgCount: { __type: 'Float!' }, + totalAvgPrice: { __type: 'Float!' }, + totalCount: { __type: 'Float!' }, + totalOrder: { __type: 'Int!' }, + }, + TransferItemInput: { + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + quantity: { __type: 'Int!' }, + remark: { __type: 'String' }, + sku: { __type: 'ID!' }, + }, + UploadUrlInput: { + description: { __type: 'String' }, + mime: { __type: 'String' }, + }, + User: { + __typename: { __type: 'String!' }, + addresses: { + __type: 'UserAddressConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + agencyServices: { + __type: 'AgencyServiceConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + blocked: { __type: 'Boolean!' }, + channels: { + __type: 'ChannelConnection!', + __args: { + cursor: 'Int', + filter: 'ChannelFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + companies: { + __type: 'CompanyConnection!', + __args: { cursor: 'Int', limits: 'Int', sortBy: '[SorterInput!]' }, + }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + devices: { + __type: 'ShopDeviceConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + email: { __type: 'AWSEmail!' }, + id: { __type: 'ID!' }, + isEmailVerified: { __type: 'Boolean!' }, + isPhoneNumberVerified: { __type: 'Boolean!' }, + lastLogin: { __type: 'AWSDateTime' }, + metadata: { __type: 'AWSJSON' }, + name: { __type: 'String!' }, + permissions: { __type: '[Permission!]!' }, + phoneNumber: { __type: 'String' }, + picture: { __type: 'AWSURL' }, + shops: { + __type: 'ShopConnection!', + __args: { + cursor: 'Int', + filter: 'UserShopsFilterInput', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + UserAddress: { + __typename: { __type: 'String!' }, + country: { __type: 'Country' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + email: { __type: 'String' }, + id: { __type: 'ID!' }, + isDefault: { __type: 'Boolean!' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + UserAddressConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[UserAddress!]!' }, + totalCount: { __type: 'Int!' }, + }, + UserAddressInput: { + country: { __type: 'Country' }, + email: { __type: 'String' }, + id: { __type: 'ID' }, + isDefault: { __type: 'Boolean' }, + lines: { __type: '[String!]' }, + name: { __type: 'String' }, + person: { __type: 'String' }, + tel: { __type: 'String' }, + }, + UserCard: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + card: { __type: 'AWSJSON!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + default: { __type: 'Boolean!' }, + id: { __type: 'ID!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + user: { __type: 'User!' }, + }, + UserConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[User!]!' }, + totalCount: { __type: 'Int!' }, + }, + UserCoupon: { + __typename: { __type: 'String!' }, + coupon: { __type: 'CompanyCoupon!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + customer: { __type: 'Customer' }, + handle: { __type: 'String!' }, + id: { __type: 'ID!' }, + status: { __type: 'UserCouponStatus!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + usage: { __type: 'Int!' }, + usedAt: { __type: 'AWSDateTime' }, + user: { __type: 'User' }, + validAt: { __type: 'AWSDateTime' }, + validThru: { __type: 'AWSDateTime' }, + }, + UserCouponConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[UserCoupon!]!' }, + totalCount: { __type: 'Int!' }, + }, + UserCouponExportFilterInput: { + createdAt: { __type: 'FilterInput' }, + customerId: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + usedAt: { __type: 'FilterInput' }, + validAt: { __type: 'FilterInput' }, + validThru: { __type: 'FilterInput' }, + }, + UserCouponFilterInput: { + couponResolvable: { __type: 'Boolean' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + status: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + usedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + validAt: { __type: 'FilterInput' }, + validThru: { __type: 'FilterInput' }, + }, + UserCreateInput: { + hashtags: { __type: '[String!]' }, + isEmailVerified: { __type: 'Boolean' }, + isPhoneNumberVerified: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + permissions: { __type: '[PermissionInput!]!' }, + picture: { __type: 'AWSURL' }, + }, + UserCredentialInput: { + email: { __type: 'AWSEmail!' }, + mobile: { __type: 'AWSPhone' }, + mobileV2: { __type: 'String' }, + password: { __type: 'String!' }, + }, + UserCredentialUpdateInput: { + email: { __type: 'AWSEmail' }, + mobile: { __type: 'AWSPhone' }, + mobileV2: { __type: 'String' }, + password: { __type: 'String' }, + }, + UserFilterInput: { + active: { __type: 'FilterInput' }, + companyId: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + email: { __type: 'FilterInput' }, + hashTags: { __type: '[String]' }, + hashtags: { __type: '[String!]' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + phoneNumber: { __type: 'FilterInput' }, + query: { __type: '[UserQueryFilterInput!]' }, + search: { __type: 'FilterInput' }, + shopId: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + UserMemberTierFilterInput: { + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + memberTierId: { __type: 'FilterInput' }, + startedAt: { __type: 'FilterInput' }, + startedThru: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + UserMemberTierSetInput: { + memberTierId: { __type: 'String!' }, + metadata: { __type: '[MetadataInput!]' }, + startedThru: { __type: 'AWSDateTime' }, + }, + UserOrCustomer: { + __typename: { __type: 'String!' }, + $on: { __type: '$UserOrCustomer!' }, + }, + UserQueryFilterInput: { + key: { __type: 'String!' }, + value: { __type: 'String!' }, + }, + UserRegisterShopInput: { name: { __type: 'String!' } }, + UserRegisterUserInput: { name: { __type: 'String' } }, + UserReport: { + __typename: { __type: 'String!' }, + averageConsumption: { __type: 'Float!' }, + turnover: { __type: 'Float!' }, + volume: { __type: 'Int!' }, + }, + UserSalesFilterInput: { + startedAt: { __type: 'AWSDateTime' }, + startedThru: { __type: 'AWSDateTime' }, + }, + UserShopsFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + isContactEmailVerified: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + UserUpdateInput: { + hashtags: { __type: '[String!]' }, + isEmailVerified: { __type: 'Boolean' }, + isPhoneNumberVerified: { __type: 'Boolean' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + permissions: { __type: '[PermissionInput!]' }, + picture: { __type: 'AWSURL' }, + }, + VariationConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[ProductVariation!]!' }, + totalCount: { __type: 'Int!' }, + }, + VariationSales: { + __typename: { __type: 'String!' }, + amount: { __type: 'Float!' }, + avgCount: { __type: 'Float!' }, + avgPrice: { __type: 'Float!' }, + barcode: { __type: 'String' }, + barcodes: { __type: '[String!]' }, + count: { __type: 'Int!' }, + countries: { __type: '[ChartData!]!' }, + id: { __type: 'ID!' }, + memberAmount: { __type: 'Float!' }, + memberLevelAmounts: { __type: '[ChartData!]!' }, + memberLevels: { __type: '[ChartData!]!' }, + name: { __type: 'String!' }, + nonMemberAmount: { __type: 'Float!' }, + orderCount: { __type: 'Int!' }, + salesPoints: { __type: '[ChartData!]!' }, + salesRecords: { + __type: 'ProductSalesRecordConnection!', + __args: { + cursor: 'Int', + limits: 'Int', + query: 'String', + sortBy: '[SorterInput!]', + }, + }, + salesTrends: { __type: '[LineChartData!]!' }, + shopId: { __type: 'ID!' }, + sku: { __type: 'String!' }, + }, + VariationSalesConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[VariationSales!]!' }, + totalCount: { __type: 'Int!' }, + }, + VariationStock: { + __typename: { __type: 'String!' }, + quantity: { __type: 'Int!' }, + sku: { __type: 'String!' }, + }, + VariationStockConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[VariationStock!]!' }, + totalCount: { __type: 'Int!' }, + }, + VenueCreateInput: { + media: { __type: 'MediaInput' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shopId: { __type: 'ID!' }, + sortIndex: { __type: 'Int' }, + tables: { __type: '[VenueTableSetInput!]' }, + }, + VenueFilterInput: { + createdAt: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + sortIndex: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + VenueTableSetInput: { + id: { __type: 'ID' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String!' }, + shape: { __type: 'TableShape' }, + shapeData: { __type: '[Int!]' }, + sortIndex: { __type: 'Int' }, + status: { __type: 'TableStatus' }, + }, + VenueUpdateInput: { + media: { __type: 'MediaInput' }, + metadata: { __type: '[MetadataInput!]' }, + name: { __type: 'String' }, + sortIndex: { __type: 'Int' }, + tables: { __type: '[VenueTableSetInput!]' }, + }, + WarehouseConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[CompanyWarehouse!]!' }, + totalCount: { __type: 'Int!' }, + }, + WarehouseFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + type: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + }, + WarehouseQuantity: { + __typename: { __type: 'String!' }, + quantity: { __type: 'Int!' }, + warehouse: { __type: 'CompanyWarehouse!' }, + warehouseId: { __type: 'ID!' }, + }, + WarehouseSetInput: { + active: { __type: 'Boolean' }, + address: { __type: 'AddressInput' }, + companyId: { __type: 'String!' }, + name: { __type: 'String!' }, + shopIds: { __type: '[String!]' }, + type: { __type: 'CompanyWarehouseTypes' }, + }, + Webhook: { + __typename: { __type: 'String!' }, + active: { __type: 'Boolean!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + event: { __type: 'String!' }, + id: { __type: 'ID!' }, + query: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + uri: { __type: 'AWSURL!' }, + }, + WishItem: { + __typename: { __type: 'String!' }, + bundleProduct: { __type: 'ShopBundleProduct' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + product: { __type: 'ShopProduct' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + wishlist: { __type: 'Wishlist!' }, + }, + WishItemConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[WishItem!]!' }, + totalCount: { __type: 'Int!' }, + }, + WishItemFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + productId: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + wishlistId: { __type: 'FilterInput' }, + }, + WishItemSetInput: { + bundleProductId: { __type: 'ID' }, + description: { __type: 'String' }, + productId: { __type: 'ID' }, + wishlistId: { __type: 'ID' }, + }, + Wishlist: { + __typename: { __type: 'String!' }, + createdAt: { __type: 'AWSDateTime!' }, + createdBy: { __type: 'User' }, + description: { __type: 'String' }, + id: { __type: 'ID!' }, + isDefault: { __type: 'Boolean!' }, + items: { + __type: 'WishItemConnection!', + __args: { + cursor: 'Int', + filter: 'WishItemFilterInput', + limits: 'Int', + sortBy: '[SorterInput!]', + }, + }, + name: { __type: 'String!' }, + updatedAt: { __type: 'AWSDateTime!' }, + updatedBy: { __type: 'User' }, + }, + WishlistConnection: { + __typename: { __type: 'String!' }, + nextCursor: { __type: 'ID' }, + nodes: { __type: '[Wishlist!]!' }, + totalCount: { __type: 'Int!' }, + }, + WishlistFilterInput: { + active: { __type: 'FilterInput' }, + createdAt: { __type: 'FilterInput' }, + id: { __type: 'FilterInput' }, + isDefault: { __type: 'FilterInput' }, + name: { __type: 'FilterInput' }, + updatedAt: { __type: 'FilterInput' }, + userId: { __type: 'FilterInput' }, + }, + WishlistSetInput: { + description: { __type: 'String' }, + name: { __type: 'String!' }, + }, + mutation: { + __typename: { __type: 'String!' }, + addOnProductSet: { + __type: 'ShopAddOnProduct!', + __args: { id: 'ID', input: 'AddOnProductInput!' }, + }, + addOnProductUnset: { __type: 'ShopAddOnProduct!', __args: { id: 'ID!' } }, + addOnProductsActivate: { + __type: 'Process!', + __args: { + filter: 'AddOnProductFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + addOnProductsDeactivate: { + __type: 'Process!', + __args: { + filter: 'AddOnProductFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + addOnProductsDelete: { + __type: 'Process!', + __args: { + filter: 'AddOnProductFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + addOnProductsPriceAdjust: { + __type: 'Process!', + __args: { + filter: 'AddOnProductFilterInput', + operator: 'BatchOperator!', + query: 'String', + safetyThreshold: 'Float', + shopId: 'ID!', + value: 'Float!', + }, + }, + addOnProductsQuantitySet: { + __type: 'Process!', + __args: { + filter: 'AddOnProductFilterInput', + operator: 'BatchOperator!', + quantity: 'Int!', + query: 'String', + shopId: 'ID!', + }, + }, + agentServiceSet: { + __type: 'AgencyService!', + __args: { id: 'ID', input: 'AgencyServiceInput!' }, + }, + agentServiceUnset: { __type: 'AgencyService!', __args: { id: 'ID!' } }, + appointmentAttend: { __type: 'ShopAppointment!', __args: { id: 'ID!' } }, + appointmentCancel: { __type: 'ShopAppointment!', __args: { id: 'ID!' } }, + appointmentConfirm: { __type: 'ShopAppointment!', __args: { id: 'ID!' } }, + appointmentCreate: { + __type: 'ShopAppointment!', + __args: { input: 'AppointmentCreateInput!' }, + }, + appointmentNoShow: { __type: 'ShopAppointment!', __args: { id: 'ID!' } }, + appointmentUpdate: { + __type: 'ShopAppointment!', + __args: { id: 'ID!', input: 'AppointmentUpdateInput!' }, + }, + attendanceCreate: { + __type: 'ShopAttendance!', + __args: { input: 'AttendanceCreateInput!' }, + }, + attendancesExport: { + __type: 'Process!', + __args: { filter: 'AttendanceFilterInput', shopId: 'ID!' }, + }, + bundleProductCreate: { + __type: 'ShopBundleProduct!', + __args: { input: 'BundleProductCreateInput!' }, + }, + bundleProductDelete: { + __type: 'ShopBundleProduct!', + __args: { id: 'ID!' }, + }, + bundleProductUpdate: { + __type: 'ShopBundleProduct!', + __args: { id: 'ID!', input: 'BundleProductUpdateInput!' }, + }, + campaignActivate: { __type: 'ShopCampaign!', __args: { id: 'ID!' } }, + campaignDeactivate: { __type: 'ShopCampaign!', __args: { id: 'ID!' } }, + campaignDeliveryReportExport: { __type: 'Process!', __args: { id: 'ID!' } }, + campaignMessageSend: { + __type: 'ShopCampaign!', + __args: { id: 'ID!', isResend: 'Boolean' }, + }, + campaignRecipientActionsExport: { + __type: 'Process!', + __args: { id: 'ID!' }, + }, + campaignSet: { + __type: 'ShopCampaign!', + __args: { id: 'ID', input: 'CampaignSetInput!' }, + }, + campaignUnset: { __type: 'ShopCampaign!', __args: { id: 'ID!' } }, + campaignsActivate: { + __type: 'Process!', + __args: { filter: 'CampaignFilterInput', query: 'String', shopId: 'ID!' }, + }, + campaignsDeactivate: { + __type: 'Process!', + __args: { filter: 'CampaignFilterInput', query: 'String', shopId: 'ID!' }, + }, + campaignsDelete: { + __type: 'Process!', + __args: { filter: 'CampaignFilterInput', query: 'String', shopId: 'ID!' }, + }, + cashFlowCreate: { + __type: 'ShopCashFlow!', + __args: { input: 'CashFlowInput!' }, + }, + cashVoucherSet: { + __type: 'CompanyCashVoucher!', + __args: { id: 'ID', input: 'CashVoucherSetInput!' }, + }, + cashVoucherUnset: { __type: 'CompanyCashVoucher!', __args: { id: 'ID!' } }, + cashVouchersActivate: { + __type: 'Process!', + __args: { query: 'String', shopId: 'ID!' }, + }, + cashVouchersDeactivate: { + __type: 'Process!', + __args: { query: 'String', shopId: 'ID!' }, + }, + cashVouchersDelete: { + __type: 'Process!', + __args: { query: 'String', shopId: 'ID!' }, + }, + channelMessageRead: { + __type: 'ChannelMessage!', + __args: { channelPlayerId: 'String!', messageId: 'ID!' }, + }, + channelMessageSet: { + __type: 'ChannelMessage!', + __args: { id: 'ID', input: 'ChannelMessageSetInput!' }, + }, + channelPlayerSet: { + __type: 'ChannelPlayer!', + __args: { id: 'String', input: 'ChannelPlayerSetInput!' }, + }, + channelPlayerUnset: { + __type: 'ChannelPlayer!', + __args: { channelId: 'ID!', id: 'String!' }, + }, + channelRead: { + __type: 'ChannelMessage!', + __args: { channelId: 'ID!', channelPlayerId: 'String!' }, + }, + channelSet: { + __type: 'Channel!', + __args: { id: 'ID', input: 'ChannelSetInput!' }, + }, + channelUnset: { __type: 'Channel!', __args: { id: 'ID!' } }, + checkoutCancel: { __type: 'ShopCheckout!', __args: { id: 'ID!' } }, + checkoutCashVoucherSet: { + __type: 'ShopCheckout!', + __args: { id: 'ID!', input: 'CheckoutCashVoucherInput!' }, + }, + checkoutCouponSet: { + __type: 'ShopCheckout!', + __args: { couponId: 'ID', handle: 'String', id: 'ID!' }, + }, + checkoutCouponUnset: { + __type: 'ShopCheckout!', + __args: { checkoutCouponId: 'ID', handle: 'String', id: 'ID!' }, + }, + checkoutCreateOffline: { + __type: 'ShopCheckout!', + __args: { input: 'CheckoutCreateOfflineInput!' }, + }, + checkoutItemSet: { + __type: 'ShopCheckout!', + __args: { + id: 'ID!', + input: 'CheckoutItemInput!', + operator: 'CheckoutItemSetOperator!', + progressive: 'Boolean', + softDelete: 'Boolean', + }, + }, + checkoutItemsCreate: { + __type: 'ShopCheckout!', + __args: { + id: 'ID!', + input: '[CheckoutItemCreateInput!]!', + progressive: 'Boolean', + }, + }, + checkoutItemsDelete: { + __type: 'ShopCheckout!', + __args: { checkoutItemIds: '[ID!]!', id: 'ID!' }, + }, + checkoutPay: { + __type: 'ShopCheckout!', + __args: { + id: 'ID!', + idempotencyKey: 'String', + input: 'CheckoutPayInput!', + }, + }, + checkoutPriceRecalculate: { + __type: 'ShopCheckout!', + __args: { id: 'ID!' }, + }, + checkoutProcess: { + __type: 'ShopCheckout!', + __args: { addOnProductInputs: '[CheckoutAddOnProductInput!]', id: 'ID!' }, + }, + checkoutSet: { + __type: 'ShopCheckout!', + __args: { id: 'ID', input: 'CheckoutInput!' }, + }, + collectionParentSet: { + __type: '[ShopCollection!]!', + __args: { input: '[CollectionParentSetInput!]!' }, + }, + collectionSet: { + __type: 'ShopCollection!', + __args: { id: 'ID', input: 'CollectionInput!' }, + }, + collectionUnset: { __type: 'ShopCollection!', __args: { id: 'ID!' } }, + collectionsActivate: { + __type: 'Process!', + __args: { + filter: 'CollectionFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + collectionsDeactivate: { + __type: 'Process!', + __args: { + filter: 'CollectionFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + collectionsExport: { + __type: 'Process!', + __args: { filter: 'CollectionFilterInput', shopId: 'ID!' }, + }, + collectionsImport: { + __type: 'Process!', + __args: { shopId: 'ID!', url: 'AWSURL!' }, + }, + collectionsReportExport: { + __type: 'Process!', + __args: { + exportShopIds: '[ID!]', + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + collectionsUnset: { + __type: 'Process!', + __args: { + filter: 'CollectionFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + companyCouponSet: { + __type: 'CompanyCoupon!', + __args: { + id: 'ID', + input: 'CouponInput!', + subCouponInput: 'SubCouponInput', + }, + }, + companyCouponUnset: { __type: 'CompanyCoupon!', __args: { id: 'ID!' } }, + companyDiscountSet: { + __type: 'CompanyDiscount!', + __args: { id: 'ID', input: 'DiscountInput!' }, + }, + companyDiscountUnset: { __type: 'CompanyDiscount!', __args: { id: 'ID!' } }, + companyMemberTierSet: { + __type: 'CompanyMemberTier!', + __args: { id: 'ID', input: 'CompanyMemberTierInput!' }, + }, + companyMemberTierUnset: { + __type: 'CompanyMemberTier!', + __args: { id: 'ID!' }, + }, + companyPaymentSourceDelete: { + __type: 'PaymentSource!', + __args: { companyId: 'ID!', id: 'ID!' }, + }, + companyShopActivate: { __type: 'CompanyShop!', __args: { id: 'ID!' } }, + companyShopCreate: { + __type: 'CompanyShop!', + __args: { + companyId: 'ID!', + credential: 'CompanyShopCredentialInput', + input: 'CompanyShopInput!', + }, + }, + companyShopDeactivate: { __type: 'CompanyShop!', __args: { id: 'ID!' } }, + companyShopSet: { + __type: 'CompanyShop!', + __args: { id: 'ID!', input: 'CompanyShopInput!' }, + }, + companyShopUpdate: { + __type: 'CompanyShop!', + __args: { id: 'ID!', input: 'CompanyShopInput!' }, + }, + companyUpdate: { + __type: 'Company!', + __args: { id: 'ID!', input: 'CompanyUpdateInput!' }, + }, + companyWebhookSet: { + __type: 'Webhook!', + __args: { event: 'String!', id: 'ID!', query: 'String!', uri: 'String!' }, + }, + couponRedeem: { + __type: 'UserCoupon!', + __args: { couponId: 'ID!', userId: 'ID' }, + }, + couponsActivate: { + __type: 'Process!', + __args: { + filter: 'CompanyCouponFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + couponsDeactivate: { + __type: 'Process!', + __args: { + filter: 'CompanyCouponFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + couponsDelete: { + __type: 'Process!', + __args: { + filter: 'CompanyCouponFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + couponsReportExport: { + __type: 'Process!', + __args: { + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + credentialEFTPaySet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialKConnectSet: { + __type: 'ShopCredential!', + __args: { input: 'ShopAuthenticationCredentialInput!', shopId: 'ID!' }, + }, + credentialKPayPosSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialKPaySet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialManualSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopManualCredentialInput!', shopId: 'ID!' }, + }, + credentialOCGCSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialSFExpressSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopShippingCredentialInput!', shopId: 'ID!' }, + }, + credentialSet: { + __type: 'ShopCredential!', + __args: { id: 'ID', input: 'CredentialSetInput!' }, + }, + credentialSmartPaySet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialStripeConnectRegister: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialStripeConnectSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialStripeSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialSwiftPassSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + credentialUnset: { __type: 'ShopCredential!', __args: { id: 'ID!' } }, + credentialUprisePaymentSet: { + __type: '[ShopCredential!]!', + __args: { input: 'ShopPaymentCredentialInput!', shopId: 'ID!' }, + }, + customerAddressCreate: { + __type: 'CustomerAddress!', + __args: { input: 'CustomerAddressCreateInput!' }, + }, + customerAddressDelete: { + __type: 'CustomerAddress!', + __args: { id: 'ID!' }, + }, + customerAddressUpdate: { + __type: 'CustomerAddress!', + __args: { id: 'ID!', input: 'CustomerAddressUpdateInput!' }, + }, + customerBlock: { + __type: 'Customer!', + __args: { id: 'ID!', shopId: 'ID!' }, + }, + customerCouponVoid: { __type: 'UserCoupon!', __args: { couponId: 'ID!' } }, + customerGiftPointsSet: { + __type: 'Customer!', + __args: { id: 'ID!', points: 'Int!', remarks: 'String', shopId: 'ID!' }, + }, + customerPaymentSourceCreate: { + __type: 'PaymentSource!', + __args: { credentialId: 'String!', token: 'String!' }, + }, + customerPaymentSourceDelete: { + __type: 'PaymentSource!', + __args: { id: 'ID!' }, + }, + customerRecover: { __type: 'Boolean', __args: { email: 'AWSEmail!' } }, + customerRecoverByMobile: { + __type: 'Boolean', + __args: { mobile: 'AWSPhone', mobileV2: 'String' }, + }, + customerRegister: { + __type: 'Customer!', + __args: { + credential: 'CustomerCredentialInput!', + input: 'CustomerProfileInput!', + shopId: 'ID', + }, + }, + customerReset: { + __type: 'Boolean', + __args: { password: 'String!', token: 'String!' }, + }, + customerUnblock: { + __type: 'Customer!', + __args: { id: 'ID!', shopId: 'ID!' }, + }, + customerUpdate: { + __type: 'Customer!', + __args: { + credential: 'UserCredentialUpdateInput', + id: 'ID!', + input: 'CustomerProfileInput!', + shopId: 'ID!', + }, + }, + customerVerify: { __type: 'Customer!', __args: { token: 'String!' } }, + customersExport: { + __type: 'Process!', + __args: { + filter: 'CustomerFilterInput', + query: 'String', + shopId: 'ID!', + timezone: 'String', + }, + }, + customersGiftPointsExport: { + __type: 'Process!', + __args: { + filter: 'GiftPointExportFilterInput', + shopId: 'ID!', + timezone: 'String', + }, + }, + customersGiftPointsSet: { + __type: 'Process!', + __args: { + filter: 'CustomerFilterInput', + operator: 'BatchOperator!', + points: 'Int!', + query: 'String', + shopId: 'ID!', + }, + }, + customersHashtagsSet: { + __type: 'Process!', + __args: { + filter: 'CustomerFilterInput', + hashtags: '[String!]!', + operator: 'BatchAssignmentOperator!', + query: 'String', + shopId: 'ID!', + }, + }, + customersImport: { + __type: 'Process!', + __args: { shopId: 'ID!', timezone: 'String', url: 'AWSURL!' }, + }, + customersMemberTierSet: { + __type: 'Process!', + __args: { + filter: 'CustomerFilterInput', + input: 'UserMemberTierSetInput!', + query: 'String', + shopId: 'ID!', + }, + }, + customersUpdateImport: { + __type: 'Process!', + __args: { shopId: 'ID!', url: 'AWSURL!' }, + }, + deliveryNoteComplete: { + __type: 'OrderDeliveryNote!', + __args: { id: 'ID!' }, + }, + deliveryNoteCreate: { + __type: 'OrderDeliveryNote!', + __args: { input: 'DeliveryNoteCreateInput!' }, + }, + deliveryNoteProcess: { + __type: 'OrderDeliveryNote!', + __args: { id: 'ID!' }, + }, + deliveryNoteSet: { + __type: 'OrderDeliveryNote!', + __args: { id: 'ID', input: 'DeliveryNoteSetInput!' }, + }, + deliveryNoteUpdate: { + __type: 'OrderDeliveryNote!', + __args: { id: 'ID!', input: 'DeliveryNoteUpdateInput!' }, + }, + deliveryNoteVoid: { __type: 'OrderDeliveryNote!', __args: { id: 'ID!' } }, + deliveryNotesComplete: { + __type: 'Process!', + __args: { + filter: 'DeliveryNotesFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + deliveryNotesProcess: { + __type: 'Process!', + __args: { + filter: 'DeliveryNotesFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + deliveryNotesSet: { + __type: 'Process!', + __args: { + filter: 'DeliveryNotesFilterInput', + input: 'DeliveryNoteSetInput!', + query: 'String', + shopId: 'ID!', + }, + }, + deviceConfigUpdate: { + __type: 'Boolean!', + __args: { input: 'DeviceConfigUpdateInput!' }, + }, + discountsActivate: { + __type: 'Process!', + __args: { filter: 'DiscountFilterInput', query: 'String', shopId: 'ID!' }, + }, + discountsDeactivate: { + __type: 'Process!', + __args: { filter: 'DiscountFilterInput', query: 'String', shopId: 'ID!' }, + }, + discountsDelete: { + __type: 'Process!', + __args: { filter: 'DiscountFilterInput', query: 'String', shopId: 'ID!' }, + }, + discountsReportExport: { + __type: 'Process!', + __args: { + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + emailTemplateCreate: { + __type: 'ShopEmailTemplate!', + __args: { input: 'ShopEmailTemplateCreateInput!' }, + }, + emailTemplateDelete: { + __type: 'ShopEmailTemplate!', + __args: { id: 'ID!' }, + }, + emailTemplateUpdate: { + __type: 'ShopEmailTemplate!', + __args: { id: 'ID!', input: 'ShopEmailTemplateUpdateInput!' }, + }, + honorProductSerialsImport: { + __type: 'Process!', + __args: { url: 'String!' }, + }, + ingredientSet: { + __type: 'Ingredient!', + __args: { id: 'ID', input: 'IngredientInput!' }, + }, + ingredientUnset: { __type: 'Ingredient!', __args: { id: 'ID!' } }, + internal_processSet: { + __type: 'Process!', + __args: { id: 'ID!', output: 'AWSJSON', status: 'ProcessStatus' }, + }, + inventoryReportExport: { + __type: 'Process!', + __args: { exportShopIds: '[ID!]', shopId: 'ID!' }, + }, + invoiceRefund: { + __type: 'OrderInvoice!', + __args: { amount: 'Float', id: 'ID!' }, + }, + invoiceVoid: { __type: 'OrderInvoice!', __args: { id: 'ID!' } }, + invoicesPrint: { + __type: 'Process!', + __args: { + filter: 'InvoiceFilterInput', + query: 'String', + shopId: 'ID!', + sortBy: '[SorterInput!]', + }, + }, + modifierProductsAdd: { + __type: 'ShopProductModifier!', + __args: { id: 'ID!', productIds: '[ID!]!' }, + }, + modifierProductsRemove: { + __type: 'ShopProductModifier!', + __args: { id: 'ID!', productIds: '[ID!]!' }, + }, + navigationTemplateCreate: { + __type: 'ShopNavigationTemplate!', + __args: { input: 'NavigationTemplateCreateInput!' }, + }, + navigationTemplateDelete: { + __type: 'ShopNavigationTemplate!', + __args: { id: 'ID!' }, + }, + navigationTemplateUpdate: { + __type: 'ShopNavigationTemplate!', + __args: { id: 'ID!', input: 'NavigationTemplateUpdateInput!' }, + }, + newsletterSubscribe: { + __type: 'NewsletterSubscription!', + __args: { id: 'ID', input: 'NewsletterSubscriptionSetInput!' }, + }, + newsletterUnset: { + __type: 'NewsletterSubscription!', + __args: { id: 'ID!' }, + }, + orderAdjustmentAdd: { + __type: 'ShopOrder!', + __args: { input: 'OrderAdjustmentInput!', orderId: 'ID!' }, + }, + orderAdjustmentRemove: { __type: 'ShopOrder!', __args: { id: 'ID!' } }, + orderCancel: { + __type: 'ShopOrder!', + __args: { id: 'ID!', input: 'OrderCancelInput!' }, + }, + orderCommentSet: { + __type: 'OrderComment!', + __args: { id: 'ID', input: 'OrderCommentInput!' }, + }, + orderCommentUnset: { __type: 'OrderComment!', __args: { id: 'ID!' } }, + orderConfirm: { __type: 'ShopOrder!', __args: { id: 'ID!' } }, + orderItemMetadataAdd: { + __type: 'ShopOrder!', + __args: { id: 'ID!', metadata: '[MetadataInput!]!' }, + }, + orderItemMetadataRemove: { + __type: 'ShopOrder!', + __args: { id: 'ID!', keys: '[String!]!' }, + }, + orderItemRemarkUpdate: { + __type: 'ShopOrder!', + __args: { id: 'ID!', remark: 'String!' }, + }, + orderItemUnitPriceUpdate: { + __type: 'ShopOrder!', + __args: { id: 'ID!', unitPrice: 'Float!' }, + }, + orderKitchenStatusUpdate: { + __type: 'ShopOrder!', + __args: { id: 'ID!', status: 'ShopOrderKitchenStatus!' }, + }, + orderMemberPointsDeduct: { + __type: 'ShopOrder!', + __args: { id: 'ID!', points: 'Int' }, + }, + orderRefund: { + __type: 'ShopOrder!', + __args: { amount: 'Float', id: 'ID!' }, + }, + orderResendConfirmationEmail: { + __type: 'ShopOrder!', + __args: { id: 'ID!' }, + }, + orderUpdate: { + __type: 'ShopOrder!', + __args: { id: 'ID!', input: 'OrderUpdateInput!' }, + }, + ordersActivate: { + __type: 'Process!', + __args: { filter: 'OrderFilterInput', shopId: 'ID!' }, + }, + ordersCancel: { + __type: 'Process!', + __args: { + cancelReason: 'String', + filter: 'OrderFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + ordersConfirm: { + __type: 'Process!', + __args: { filter: 'OrderFilterInput', query: 'String', shopId: 'ID!' }, + }, + ordersDeactivate: { + __type: 'Process!', + __args: { filter: 'OrderFilterInput', shopId: 'ID!' }, + }, + ordersExport: { + __type: 'Process!', + __args: { filter: 'OrderFilterInput', query: 'String', shopId: 'ID!' }, + }, + pageBulkAction: { + __type: 'Boolean', + __args: { + action: 'PageBulkAction!', + data: 'String', + filter: 'PageFilterInput!', + shopId: 'ID!', + }, + }, + pageSet: { __type: 'ShopPage!', __args: { id: 'ID', input: 'PageInput!' } }, + pageUnset: { __type: 'ShopPage!', __args: { id: 'ID!' } }, + pagesDelete: { + __type: 'Process', + __args: { filter: 'PageFilterInput', query: 'String', shopId: 'ID!' }, + }, + paymentMethodActivate: { __type: 'PaymentMethod!', __args: { id: 'ID!' } }, + paymentMethodCreate: { + __type: 'PaymentMethod!', + __args: { input: 'PaymentMethodCreateInput!' }, + }, + paymentMethodDeactivate: { + __type: 'PaymentMethod!', + __args: { id: 'ID!' }, + }, + paymentMethodDelete: { __type: 'PaymentMethod!', __args: { id: 'ID!' } }, + paymentMethodDisable: { __type: 'PaymentMethod!', __args: { id: 'ID!' } }, + paymentMethodEnable: { __type: 'PaymentMethod!', __args: { id: 'ID!' } }, + paymentMethodUpdate: { + __type: 'PaymentMethod!', + __args: { id: 'ID!', input: 'PaymentMethodUpdateInput!' }, + }, + productModifierCreate: { + __type: 'ShopProductModifier!', + __args: { input: 'ShopProductModifierCreateInput!' }, + }, + productModifierDelete: { + __type: 'ShopProductModifier!', + __args: { id: 'ID!' }, + }, + productModifierUpdate: { + __type: 'ShopProductModifier!', + __args: { id: 'ID!', input: 'ShopProductModifierUpdateInput!' }, + }, + productReportExport: { + __type: 'Process!', + __args: { + exportShopIds: '[ID!]', + shopId: 'ID!', + sku: 'String!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + productSet: { + __type: 'ShopProduct!', + __args: { allShop: 'Boolean', id: 'ID', input: 'ProductInput!' }, + }, + productUnset: { __type: 'ShopProduct!', __args: { id: 'ID!' } }, + productsActivate: { + __type: 'Process!', + __args: { filter: 'ProductFilterInput', query: 'String', shopId: 'ID!' }, + }, + productsCollectionSet: { + __type: 'Process!', + __args: { + collectionCodes: '[String!]!', + collectionIds: '[ID!]!', + filter: 'ProductFilterInput', + operator: 'BatchAssignmentOperator!', + query: 'String', + shopId: 'ID!', + }, + }, + productsDeactivate: { + __type: 'Process!', + __args: { filter: 'ProductFilterInput', query: 'String', shopId: 'ID!' }, + }, + productsDelete: { + __type: 'Process!', + __args: { filter: 'ProductFilterInput', query: 'String', shopId: 'ID!' }, + }, + productsExport: { + __type: 'Process!', + __args: { filter: 'ProductFilterInput', shopId: 'ID!' }, + }, + productsHashtagsSet: { + __type: 'Process!', + __args: { + filter: 'ProductFilterInput', + hashtags: '[String!]!', + operator: 'BatchAssignmentOperator!', + query: 'String', + shopId: 'ID!', + }, + }, + productsImport: { + __type: 'Process!', + __args: { shopId: 'ID!', url: 'AWSURL!' }, + }, + productsPriceAdjust: { + __type: 'Process!', + __args: { + filter: 'ProductFilterInput', + operator: 'BatchOperator!', + query: 'String', + safetyThreshold: 'Float', + shopId: 'ID!', + value: 'Float!', + }, + }, + productsQuantitySet: { + __type: 'Process!', + __args: { + filter: 'ProductFilterInput', + operator: 'BatchOperator!', + quantity: 'Int!', + query: 'String', + shopId: 'ID!', + }, + }, + productsReportExport: { + __type: 'Process!', + __args: { + exportShopIds: '[ID!]', + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + productsSeoExport: { + __type: 'Process!', + __args: { filter: 'ProductFilterInput', query: 'String', shopId: 'ID!' }, + }, + productsSeoImport: { + __type: 'Process!', + __args: { shopId: 'ID!', url: 'AWSURL!' }, + }, + productsUpdateImport: { + __type: 'Process!', + __args: { shopId: 'ID!', url: 'AWSURL!' }, + }, + profileUpdate: { + __type: 'UserOrCustomer!', + __args: { + credential: 'UserCredentialUpdateInput', + input: 'ProfileUpdateInput!', + }, + }, + promotionCodesReportExport: { + __type: 'Process!', + __args: { + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + receiptTemplateCreate: { + __type: 'ShopReceiptTemplate!', + __args: { input: 'ShopReceiptTemplateCreateInput!' }, + }, + receiptTemplateDelete: { + __type: 'ShopReceiptTemplate!', + __args: { id: 'ID!' }, + }, + receiptTemplateUpdate: { + __type: 'ShopReceiptTemplate!', + __args: { id: 'ID!', input: 'ShopReceiptTemplateUpdateInput!' }, + }, + receivePurchaseCancel: { + __type: 'CompanyReceivePurchase!', + __args: { id: 'ID!' }, + }, + receivePurchaseComplete: { + __type: 'CompanyReceivePurchase!', + __args: { id: 'ID!' }, + }, + receivePurchaseCreate: { + __type: 'CompanyReceivePurchase!', + __args: { input: 'ReceivePurchaseCreateInput!' }, + }, + receivePurchaseExport: { + __type: 'Process!', + __args: { filter: 'ReceivePurchaseFilterInput', shopId: 'ID!' }, + }, + receivePurchaseImport: { + __type: 'Process!', + __args: { id: 'ID!', shopId: 'ID!', url: 'AWSURL!' }, + }, + receivePurchaseUpdate: { + __type: 'CompanyReceivePurchase!', + __args: { id: 'ID!', input: 'ReceivePurchaseUpdateInput!' }, + }, + receivePurchaseVoid: { + __type: 'CompanyReceivePurchase!', + __args: { id: 'ID!' }, + }, + returnNoteApprove: { __type: 'ShopReturnNote!', __args: { id: 'ID!' } }, + returnNoteCancel: { __type: 'ShopReturnNote!', __args: { id: 'ID!' } }, + returnNoteComplete: { __type: 'ShopReturnNote!', __args: { id: 'ID!' } }, + returnNoteCreate: { + __type: 'ShopReturnNote!', + __args: { input: 'ReturnNoteCreateInput!' }, + }, + returnNoteReject: { __type: 'ShopReturnNote!', __args: { id: 'ID!' } }, + returnNoteUpdate: { + __type: 'ShopReturnNote!', + __args: { id: 'ID!', input: 'ReturnNoteUpdateInput!' }, + }, + returnNotesExport: { + __type: 'Process!', + __args: { filter: 'ReturnNoteFilterInput', shopId: 'ID!' }, + }, + serviceBundleCreate: { + __type: 'ShopServiceBundle!', + __args: { input: 'ServiceBundleCreateInput!' }, + }, + serviceBundleDelete: { + __type: 'ShopServiceBundle!', + __args: { id: 'ID!' }, + }, + serviceBundleUpdate: { + __type: 'ShopServiceBundle!', + __args: { id: 'ID!', input: 'ServiceBundleUpdateInput!' }, + }, + serviceCreate: { + __type: 'ShopService!', + __args: { input: 'ServiceCreateInput!' }, + }, + serviceDelete: { __type: 'ShopService!', __args: { id: 'ID!' } }, + serviceLocationCreate: { + __type: 'ShopServiceLocation!', + __args: { input: 'ServiceLocationCreateInput!' }, + }, + serviceLocationDelete: { + __type: 'ShopServiceLocation!', + __args: { id: 'ID!' }, + }, + serviceLocationSlotCreate: { + __type: 'ServiceLocationSlot!', + __args: { input: 'ServiceSlotCreateInput!' }, + }, + serviceLocationSlotDelete: { + __type: 'ServiceLocationSlot!', + __args: { id: 'ID!', repeat: 'Boolean' }, + }, + serviceLocationSlotRuleCreate: { + __type: 'ServiceLocationSlotRule!', + __args: { input: 'ServiceLocationSlotRuleCreateInput!' }, + }, + serviceLocationSlotRuleDelete: { + __type: 'ServiceLocationSlotRule!', + __args: { id: 'ID!' }, + }, + serviceLocationSlotRuleUpdate: { + __type: 'ServiceLocationSlotRule!', + __args: { id: 'ID!', input: 'ServiceLocationSlotRuleUpdateInput!' }, + }, + serviceLocationSlotUpdate: { + __type: 'ServiceLocationSlot!', + __args: { id: 'ID!', input: 'ServiceSlotUpdateInput!' }, + }, + serviceLocationUpdate: { + __type: 'ShopServiceLocation!', + __args: { id: 'ID!', input: 'ServiceLocationUpdateInput!' }, + }, + serviceUpdate: { + __type: 'ShopService!', + __args: { id: 'ID!', input: 'ServiceUpdateInput!' }, + }, + sessionCreate: { + __type: 'String!', + __args: { email: 'AWSEmail', password: 'String!', username: 'String' }, + }, + sessionRefresh: { + __type: 'SessionToken!', + __args: { refreshToken: 'String!', shopId: 'ID' }, + }, + sessionStart: { + __type: 'SessionToken!', + __args: { + email: 'AWSEmail', + mobile: 'AWSPhone', + mobileV2: 'String', + oneSignalPlayerId: 'ID', + password: 'String!', + }, + }, + shippingZonesDelete: { + __type: 'Process', + __args: { + filter: 'ShopShippingZoneFilterInput', + query: 'String', + shopId: 'ID!', + }, + }, + shopAddressSet: { + __type: 'ShopAddress!', + __args: { id: 'ID', input: 'ShopAddressInput!' }, + }, + shopAddressUnset: { __type: 'ShopAddress!', __args: { id: 'ID!' } }, + shopAnalysisToolSet: { + __type: 'ShopAnalysisTool!', + __args: { id: 'ID', input: 'AnalysisToolInput!' }, + }, + shopAnalysisToolUnset: { + __type: 'ShopAnalysisTool!', + __args: { id: 'ID!' }, + }, + shopAttributeCreate: { + __type: 'ShopAttribute!', + __args: { input: 'ShopAttributeCreateInput!' }, + }, + shopAttributeDelete: { __type: 'ShopAttribute!', __args: { id: 'ID!' } }, + shopAttributeUpdate: { + __type: 'ShopAttribute!', + __args: { id: 'ID!', input: 'ShopAttributeUpdateInput!' }, + }, + shopContactEmailResendVerify: { __type: 'Boolean!', __args: { id: 'ID!' } }, + shopContactEmailVerify: { + __type: 'CompanyShop!', + __args: { token: 'String!' }, + }, + shopCredentialUnset: { __type: 'ShopCredential!', __args: { id: 'ID!' } }, + shopDeviceCreate: { + __type: 'ShopDevice!', + __args: { input: 'ShopDeviceCreateInput!' }, + }, + shopDeviceDelete: { __type: 'ShopDevice!', __args: { id: 'ID!' } }, + shopDeviceMetricsCreate: { + __type: 'ShopDeviceMetric!', + __args: { input: 'ShopDeviceMetricCreateInput!', shopId: 'ID' }, + }, + shopDeviceOneSignalAuth: { __type: 'Boolean!' }, + shopDeviceUpdate: { + __type: 'ShopDevice!', + __args: { id: 'ID', input: 'ShopDeviceUpdateInput!' }, + }, + shopEmailSend: { + __type: 'Boolean!', + __args: { input: 'ShopEmailSendInput!' }, + }, + shopFormCreate: { + __type: 'ShopForm!', + __args: { input: 'ShopFormCreateInput!' }, + }, + shopFormDelete: { __type: 'ShopForm!', __args: { id: 'ID!' } }, + shopFormRecordApprove: { __type: 'ShopFormRecord!', __args: { id: 'ID!' } }, + shopFormRecordReject: { __type: 'ShopFormRecord!', __args: { id: 'ID!' } }, + shopFormRecordUpdate: { + __type: 'ShopFormRecord!', + __args: { fields: '[MetadataInput!]!', id: 'ID!' }, + }, + shopFormRecordsExport: { + __type: 'Process!', + __args: { id: 'ID!', query: 'String', timezone: 'String' }, + }, + shopFormSubmit: { + __type: 'ShopFormRecord!', + __args: { fields: '[MetadataInput!]!', id: 'ID!' }, + }, + shopFormUpdate: { + __type: 'ShopForm!', + __args: { id: 'ID!', input: 'ShopFormUpdateInput!' }, + }, + shopMarqueeSet: { + __type: 'ShopMarquee!', + __args: { id: 'ID', input: 'ShopMarqueeInput!' }, + }, + shopMarqueeUnset: { __type: 'ShopMarquee!', __args: { id: 'ID!' } }, + shopPopupCreate: { + __type: 'ShopPopup!', + __args: { input: 'ShopPopupCreateInput!' }, + }, + shopPopupDelete: { __type: 'ShopPopup!', __args: { id: 'ID!' } }, + shopPopupUpdate: { + __type: 'ShopPopup!', + __args: { id: 'ID!', input: 'ShopPopupUpdateInput!' }, + }, + shopReferenceNoFormatCreate: { + __type: 'ShopReferenceNoFormat!', + __args: { input: 'ShopReferenceNoFormatCreateInput!' }, + }, + shopReferenceNoFormatDelete: { + __type: 'ShopReferenceNoFormat!', + __args: { id: 'ID!' }, + }, + shopReferenceNoFormatUpdate: { + __type: 'ShopReferenceNoFormat!', + __args: { id: 'ID!', input: 'ShopReferenceNoFormatUpdateInput!' }, + }, + shopShippingZoneBulkAction: { + __type: 'Boolean', + __args: { + action: 'ShopShippingZoneBulkAction!', + data: 'String', + filter: 'ShopShippingZoneFilterInput!', + shopId: 'ID!', + }, + }, + shopShippingZoneSet: { + __type: 'ShopShippingZone!', + __args: { id: 'ID', input: 'ShopShippingZoneInput!' }, + }, + shopShippingZoneUnset: { + __type: 'ShopShippingZone!', + __args: { id: 'ID!' }, + }, + shopTaxZoneSet: { + __type: 'ShopTaxZone!', + __args: { id: 'ID', input: 'ShopTaxZoneInput!' }, + }, + shopTaxZoneUnset: { __type: 'ShopTaxZone!', __args: { id: 'ID!' } }, + shopWarehousesAdd: { + __type: 'CompanyShop!', + __args: { shopId: 'ID!', warehouseIds: '[ID!]!' }, + }, + shopWarehousesRemove: { + __type: 'CompanyShop!', + __args: { shopId: 'ID!', warehouseIds: '[ID!]!' }, + }, + shopsReportExport: { + __type: 'Process!', + __args: { + shopId: 'ID!', + startedAt: 'AWSDateTime!', + startedThru: 'AWSDateTime!', + }, + }, + staffActivate: { __type: 'CompanyStaff!', __args: { id: 'ID!' } }, + staffCreate: { + __type: 'CompanyStaff!', + __args: { input: 'CompanyStaffCreateInput!' }, + }, + staffDeactivate: { __type: 'CompanyStaff!', __args: { id: 'ID!' } }, + staffDelete: { __type: 'CompanyStaff!', __args: { id: 'ID!' } }, + staffUpdate: { + __type: 'CompanyStaff!', + __args: { id: 'ID!', input: 'CompanyStaffUpdateInput!' }, + }, + stockAdjustmentCancel: { + __type: 'CompanyStockAdjustment!', + __args: { id: 'ID!' }, + }, + stockAdjustmentComplete: { + __type: 'CompanyStockAdjustment!', + __args: { id: 'ID!' }, + }, + stockAdjustmentCreate: { + __type: 'CompanyStockAdjustment!', + __args: { input: 'StockAdjustmentCreateInput!' }, + }, + stockAdjustmentExport: { + __type: 'Process!', + __args: { filter: 'StockAdjustmentFilterInput', shopId: 'ID!' }, + }, + stockAdjustmentImport: { + __type: 'Process!', + __args: { id: 'ID!', shopId: 'ID!', url: 'AWSURL!' }, + }, + stockAdjustmentUpdate: { + __type: 'CompanyStockAdjustment!', + __args: { id: 'ID!', input: 'StockAdjustmentUpdateInput!' }, + }, + stockAdjustmentVoid: { + __type: 'CompanyStockAdjustment!', + __args: { id: 'ID!' }, + }, + stockTransferComplete: { + __type: 'CompanyStockTransfer!', + __args: { id: 'ID!', items: '[TransferItemInput!]' }, + }, + stockTransferCreate: { + __type: 'CompanyStockTransfer!', + __args: { + input: 'StockTransferCreateInput!', + status: 'CompanyStockTransferStatus', + }, + }, + stockTransferExport: { + __type: 'Process!', + __args: { filter: 'StockTransferFilterInput', shopId: 'ID!' }, + }, + stockTransferImport: { + __type: 'Process!', + __args: { id: 'ID!', shopId: 'ID!', url: 'AWSURL!' }, + }, + stockTransferSend: { + __type: 'CompanyStockTransfer!', + __args: { id: 'ID!' }, + }, + stockTransferUpdate: { + __type: 'CompanyStockTransfer!', + __args: { id: 'ID!', input: 'StockTransferUpdateInput!' }, + }, + stockTransferVoid: { + __type: 'CompanyStockTransfer!', + __args: { id: 'ID!' }, + }, + stocktakeCancel: { __type: 'CompanyStocktake!', __args: { id: 'ID!' } }, + stocktakeComplete: { + __type: 'Process!', + __args: { id: 'ID!', replace: 'Boolean', shopId: 'ID!' }, + }, + stocktakeExport: { + __type: 'Process!', + __args: { shopId: 'ID!', warehouseId: 'ID!' }, + }, + stocktakeExportV2: { + __type: 'Process!', + __args: { id: 'ID!', shopId: 'ID!' }, + }, + stocktakeImport: { + __type: 'CompanyStocktake!', + __args: { id: 'ID!', url: 'AWSURL!' }, + }, + stocktakeImportV2: { + __type: 'Process!', + __args: { id: 'ID!', shopId: 'ID!', url: 'AWSURL!' }, + }, + stocktakeItemsSet: { + __type: 'CompanyStocktake!', + __args: { id: 'ID!', input: '[StocktakeItemInput!]!' }, + }, + stocktakeSet: { + __type: 'CompanyStocktake!', + __args: { id: 'ID', input: 'StocktakeInput!' }, + }, + tableCreate: { + __type: 'ShopTable!', + __args: { input: 'TableCreateInput!' }, + }, + tableDelete: { __type: 'ShopTable!', __args: { id: 'ID!' } }, + tableUpdate: { + __type: 'ShopTable!', + __args: { id: 'ID!', input: 'TableUpdateInput!' }, + }, + userAddressSet: { + __type: 'UserAddress!', + __args: { id: 'ID', input: 'UserAddressInput!', userId: 'ID!' }, + }, + userAddressUnset: { __type: 'UserAddress!', __args: { id: 'ID!' } }, + userBlock: { __type: 'User!', __args: { companyId: 'ID!', id: 'ID!' } }, + userCouponsExport: { + __type: 'Process!', + __args: { + filter: 'UserCouponExportFilterInput', + shopId: 'ID!', + timezone: 'String', + }, + }, + userCouponsGenerate: { + __type: 'CompanyCoupon!', + __args: { count: 'Int!', id: 'ID!' }, + }, + userCreate: { + __type: 'User!', + __args: { + companyId: 'ID!', + credential: 'UserCredentialInput!', + input: 'UserCreateInput!', + }, + }, + userDelete: { __type: 'User!', __args: { companyId: 'ID!', id: 'ID!' } }, + userForgotPassword: { + __type: 'Boolean', + __args: { + email: 'AWSEmail', + mobile: 'AWSPhone', + mobileV2: 'String', + shopId: 'ID', + }, + }, + userMemberTierSet: { + __type: 'CompanyMemberTier', + __args: { customerId: 'ID!', input: 'UserMemberTierSetInput!' }, + }, + userRegister: { + __type: 'User!', + __args: { + credential: 'UserCredentialInput!', + fingerPrint: 'String', + shop: 'UserRegisterShopInput', + user: 'UserRegisterUserInput', + }, + }, + userResendVerification: { + __type: 'Boolean!', + __args: { email: 'AWSEmail', mobile: 'AWSPhone', mobileV2: 'String' }, + }, + userResetPassword: { + __type: 'Boolean', + __args: { key: 'String!', password: 'String!' }, + }, + userUnblock: { __type: 'User!', __args: { companyId: 'ID!', id: 'ID!' } }, + userUpdate: { + __type: 'User!', + __args: { + companyId: 'ID!', + credential: 'UserCredentialUpdateInput', + id: 'ID!', + input: 'UserUpdateInput!', + }, + }, + userVerify: { __type: 'User!', __args: { token: 'String!' } }, + venueCreate: { + __type: 'ShopVenue!', + __args: { input: 'VenueCreateInput!' }, + }, + venueDelete: { __type: 'ShopVenue!', __args: { id: 'ID!' } }, + venueTablesCleanUp: { __type: 'ShopVenue!', __args: { id: 'ID!' } }, + venueUpdate: { + __type: 'ShopVenue!', + __args: { id: 'ID!', input: 'VenueUpdateInput!' }, + }, + warehouseSet: { + __type: 'CompanyWarehouse!', + __args: { id: 'ID', input: 'WarehouseSetInput!' }, + }, + warehouseUnset: { __type: 'CompanyWarehouse!', __args: { id: 'ID!' } }, + webhookActivate: { __type: 'Webhook!', __args: { id: 'ID!' } }, + webhookDeactivate: { __type: 'Webhook!', __args: { id: 'ID!' } }, + wishItemSet: { + __type: 'WishItem!', + __args: { id: 'ID', input: 'WishItemSetInput!' }, + }, + wishItemUnset: { __type: 'WishItem!', __args: { id: 'ID!' } }, + wishlistSet: { + __type: 'Wishlist!', + __args: { id: 'ID', input: 'WishlistSetInput!' }, + }, + wishlistUnset: { __type: 'Wishlist!', __args: { id: 'ID!' } }, + }, + query: { + __typename: { __type: 'String!' }, + apiVersion: { __type: 'String' }, + appVersion: { __type: 'String', __args: { bundleId: 'ID!' } }, + me: { __type: 'Me' }, + node: { __type: 'Node', __args: { handle: 'String', id: 'ID!' } }, + process: { __type: 'Process', __args: { id: 'ID!' } }, + shopByHostname: { + __type: 'CompanyShop', + __args: { acceptLanguage: 'String', hostname: 'String' }, + }, + uploadUrl: { __type: 'AWSURL!', __args: { input: 'UploadUrlInput!' } }, + }, + subscription: { + __typename: { __type: 'String!' }, + channelMessageUpdate: { + __type: 'ChannelMessage', + __args: { channelId: 'ID', shopId: 'ID' }, + }, + channelUpdate: { + __type: 'Channel', + __args: { code: 'String', shopId: 'ID' }, + }, + checkoutUpdate: { __type: 'ShopCheckout' }, + processUpdate: { __type: 'Process!', __args: { id: 'ID!' } }, + }, + [SchemaUnionsKey]: { + Node: [ + 'AgencyService', + 'AgencyServiceApplication', + 'ApplicationComment', + 'CampaignAction', + 'CampaignRecipient', + 'Channel', + 'ChannelMessage', + 'CheckoutCashVoucher', + 'CheckoutItem', + 'Company', + 'CompanyCashVoucher', + 'CompanyCoupon', + 'CompanyDiscount', + 'CompanyMemberTier', + 'CompanyReceivePurchase', + 'CompanyReceivePurchaseItem', + 'CompanyShop', + 'CompanyStaff', + 'CompanyStockAdjustment', + 'CompanyStockTransfer', + 'CompanyStocktake', + 'CompanyStocktakeItem', + 'CompanyWarehouse', + 'Customer', + 'CustomerAddress', + 'DeliveryNoteItem', + 'GiftPointAdjustment', + 'HonorProductSerial', + 'Ingredient', + 'InvoiceCreditNote', + 'NewsletterSubscription', + 'OrderActivity', + 'OrderAddOnProduct', + 'OrderComment', + 'OrderDeliveryNote', + 'OrderInvoice', + 'OrderItem', + 'PaymentMethod', + 'PaymentSource', + 'ProductVariation', + 'ReturnNoteItem', + 'ServiceLocationSlot', + 'ServiceLocationSlotRule', + 'ShopAddOnProduct', + 'ShopAddress', + 'ShopAnalysisTool', + 'ShopAppointment', + 'ShopAttendance', + 'ShopAttribute', + 'ShopBundleProduct', + 'ShopBundleProductOption', + 'ShopCampaign', + 'ShopCashFlow', + 'ShopCheckout', + 'ShopCollection', + 'ShopContactEmail', + 'ShopCredential', + 'ShopDevice', + 'ShopEmailTemplate', + 'ShopForm', + 'ShopFormRecord', + 'ShopMarquee', + 'ShopNavigationTemplate', + 'ShopOrder', + 'ShopPage', + 'ShopPopup', + 'ShopProduct', + 'ShopProductModifier', + 'ShopReceiptTemplate', + 'ShopReferenceNoFormat', + 'ShopReturnNote', + 'ShopService', + 'ShopServiceBundle', + 'ShopServiceLocation', + 'ShopShippingZone', + 'ShopTable', + 'ShopTaxZone', + 'ShopVenue', + 'StockAdjustmentItem', + 'StockMovement', + 'StockTransferItem', + 'User', + 'UserAddress', + 'UserCard', + 'UserCoupon', + 'Webhook', + 'WishItem', + 'Wishlist', + ], + Connection: [ + 'AgencyServiceConnection', + 'AttendanceConnection', + 'CampaignConnection', + 'CampaignRecipientConnection', + 'ChannelConnection', + 'ChannelMessageConnection', + 'CheckoutCashVoucherConnection', + 'CheckoutItemConnection', + 'CollectionConnection', + 'CollectionSalesConnection', + 'CompanyCashVoucherCodeConnection', + 'CompanyCashVoucherConnection', + 'CompanyConnection', + 'CompanyCouponConnection', + 'CompanyDiscountConnection', + 'CompanyMemberTierConnection', + 'CompanyReceivePurchaseConnection', + 'CompanyReceivePurchaseItemConnection', + 'CompanyStaffConnection', + 'CompanyStockAdjustmentConnection', + 'CompanyStockTransferConnection', + 'CompanyStocktakeConnection', + 'CompanyStocktakeItemConnection', + 'CouponSalesConnection', + 'CouponSalesRecordConnection', + 'CreditNoteConnection', + 'CustomerAddressConnection', + 'CustomerConnection', + 'DeliveryNoteConnection', + 'DiscountSalesConnection', + 'GiftPointAdjustmentConnection', + 'HonorProductSerialConnection', + 'IngredientConnection', + 'InventoryReportDataConnection', + 'InvoiceConnection', + 'MemberTierSalesConnection', + 'MemberTierSalesRecordConnection', + 'NewsletterSubscriptionConnection', + 'OrderActivityConnection', + 'OrderAddOnProductConnection', + 'OrderConnection', + 'OrderItemConnection', + 'PageConnection', + 'PaymentMethodConnection', + 'PaymentSourceConnection', + 'ProductConnection', + 'ProductSalesConnection', + 'ProductSalesRecordConnection', + 'ProductUnionConnection', + 'ReturnNoteItemConnection', + 'SalespersonSalesConnection', + 'SalespersonSalesRecordConnection', + 'ServiceApplicationConnection', + 'ServiceLocationSlotConnection', + 'ServiceLocationSlotRuleConnection', + 'ShopAddOnProductConnection', + 'ShopAnalysisToolConnection', + 'ShopAppointmentConnection', + 'ShopAttributeConnection', + 'ShopBundleProductConnection', + 'ShopCashFlowConnection', + 'ShopCheckoutConnection', + 'ShopConnection', + 'ShopContactEmailConnection', + 'ShopDeviceConnection', + 'ShopDeviceMetricConnection', + 'ShopEmailTemplateConnection', + 'ShopFormConnection', + 'ShopFormRecordConnection', + 'ShopMarqueeConnection', + 'ShopNavigationTemplateConnection', + 'ShopPopupConnection', + 'ShopProductModifierConnection', + 'ShopReceiptTemplateConnection', + 'ShopReferenceNoFormatConnection', + 'ShopReturnNoteConnection', + 'ShopSalesConnection', + 'ShopServiceBundleConnection', + 'ShopServiceConnection', + 'ShopServiceLocationConnection', + 'ShopShippingZoneConnection', + 'ShopTableConnection', + 'ShopTaxZoneConnection', + 'ShopVenueConnection', + 'StockAdjustmentItemConnection', + 'StockMovementConnection', + 'StockTransferItemConnection', + 'UserAddressConnection', + 'UserConnection', + 'UserCouponConnection', + 'VariationConnection', + 'VariationSalesConnection', + 'VariationStockConnection', + 'WarehouseConnection', + 'WishItemConnection', + 'WishlistConnection', + ], + Me: ['Customer', 'User'], + ProductUnion: ['ShopBundleProduct', 'ShopProduct', 'ShopServiceBundle'], + UserOrCustomer: ['Customer', 'User'], + }, +} as const; + +export interface Address { + __typename?: 'Address'; + city?: Maybe; + country?: Country; + district?: Maybe; + email?: Maybe; + lines?: Maybe>; + /** + * Short display name of the address, e.g. 'Home'. + */ + name?: Maybe; + person?: Maybe; + tel?: Maybe; +} + +export interface AgencyService { + __typename?: 'AgencyService'; + active?: Scalars['Boolean']['output']; + agent: User; + applications: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => ServiceApplicationConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface AgencyServiceApplication { + __typename?: 'AgencyServiceApplication'; + agent: User; + comments: Array>; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + meta?: Maybe; + service: AgencyService; + shop: CompanyShop; + status?: ApplicationStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface AgencyServiceConnection { + __typename?: 'AgencyServiceConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ApplicationComment { + __typename?: 'ApplicationComment'; + application: AgencyServiceApplication; + content?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + user: User; +} + +export interface AttendanceConnection { + __typename?: 'AttendanceConnection'; + /** + * Base64 encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Data nodes of current page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface AttendanceSecondsByDay { + __typename?: 'AttendanceSecondsByDay'; + createdAt?: Scalars['AWSDateTime']['output']; + createdThru?: Scalars['AWSDateTime']['output']; + seconds?: Scalars['Int']['output']; + shopId?: Scalars['ID']['output']; + shopName?: Scalars['String']['output']; +} + +/** + * AttributeFilter limits 25 attributes per query + */ +export interface AttributeFilter { + __typename?: 'AttributeFilter'; + key?: Scalars['String']['output']; + name?: Scalars['String']['output']; + type?: ShopAttributeType; + value?: Array; +} + +export interface CampaignAction { + __typename?: 'CampaignAction'; + active?: Maybe; + campaign: ShopCampaign; + content?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + richContent?: Maybe; + type?: CampaignActionType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CampaignActionResult { + __typename?: 'CampaignActionResult'; + action?: CampaignActionType; + failureCount?: Scalars['Int']['output']; + successCount?: Scalars['Int']['output']; +} + +export interface CampaignConnection { + __typename?: 'CampaignConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface CampaignRecipient { + __typename?: 'CampaignRecipient'; + active?: Maybe; + campaign: ShopCampaign; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + referenceId?: Maybe; + responseMessage?: Maybe; + sendingStatus?: CampaignRecipientStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + userId?: Scalars['String']['output']; +} + +export interface CampaignRecipientConnection { + __typename?: 'CampaignRecipientConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface CampaignResult { + __typename?: 'CampaignResult'; + failureCount?: Scalars['Int']['output']; + pendingCount?: Scalars['Int']['output']; + successCount?: Scalars['Int']['output']; +} + +export interface Channel { + __typename?: 'Channel'; + active?: Scalars['Boolean']['output']; + code?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + messages: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelMessageConnection; + metadata?: Maybe>; + pin?: Scalars['Boolean']['output']; + players: Array; + shop: CompanyShop; + shopId?: Maybe; + type?: ChannelType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ChannelConnection { + __typename?: 'ChannelConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; + unreadCount?: Scalars['Int']['output']; +} + +export interface ChannelMessage { + __typename?: 'ChannelMessage'; + active?: Scalars['Boolean']['output']; + allRead?: Scalars['Boolean']['output']; + /** + * Message attachments. + */ + attachments?: Maybe>; + channel: Channel; + /** + * @deprecated Use `channel.id` instead. + */ + channelId?: Maybe; + /** + * you should use channelPlayerId with Channel.players to determine the message player more quickly + * @deprecated Use `sender` instead. + */ + channelPlayerId?: Scalars['String']['output']; + channelType?: ChannelType; + content?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + pin?: Scalars['Boolean']['output']; + /** + * Processes are attached to system messages, dashboard can aggregate all process + * status for the loading status of the bell icon. Dashboard can also display + * a download link parsed from the output of the process. + */ + process?: Maybe; + read: (args: { + playerId: Scalars['String']['input']; + }) => Scalars['Boolean']['output']; + richContent?: Maybe; + sender?: Maybe; + shop: CompanyShop; + /** + * @deprecated Use `shop.id` instead. + */ + shopId?: Maybe; + thumbnail?: Maybe; + type?: ChannelMessageType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ChannelMessageConnection { + __typename?: 'ChannelMessageConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ChannelPlayer { + __typename?: 'ChannelPlayer'; + active?: Scalars['Boolean']['output']; + channel: Channel; + createdAt?: Maybe; + createdBy?: Maybe; + email?: Maybe; + id?: Maybe; + /** + * @deprecated System users no longer joins the channel. + */ + isSystem?: Maybe; + messages: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelMessageConnection; + name?: Maybe; + picture?: Maybe; + updatedAt?: Maybe; + updatedBy?: Maybe; +} + +export interface ChartData { + __typename?: 'ChartData'; + name?: Scalars['String']['output']; + value?: Scalars['Float']['output']; +} + +export interface CheckoutAdjustment { + __typename?: 'CheckoutAdjustment'; + amount?: Scalars['Float']['output']; + description?: Maybe; + sortIndex?: Scalars['Int']['output']; +} + +export interface CheckoutBundleProduct { + __typename?: 'CheckoutBundleProduct'; + bundleProduct: ShopBundleProduct; + options: Array; +} + +export interface CheckoutBundleProductOption { + __typename?: 'CheckoutBundleProductOption'; + id?: Scalars['ID']['output']; + label?: Scalars['String']['output']; + price?: Scalars['Float']['output']; + product?: Maybe; + remark?: Maybe; + variation?: Maybe; +} + +export interface CheckoutCashVoucher { + __typename?: 'CheckoutCashVoucher'; + active?: Maybe; + cashVoucher?: Maybe; + checkout: ShopCheckout; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + quantity?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CheckoutCashVoucherConnection { + __typename?: 'CheckoutCashVoucherConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CheckoutCoupon { + __typename?: 'CheckoutCoupon'; + coupon?: Maybe; + handle?: Maybe; + id?: Scalars['ID']['output']; +} + +export interface CheckoutItem { + __typename?: 'CheckoutItem'; + addOnProduct?: Maybe; + bundleProduct?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deletedAt?: Maybe; + description?: Maybe; + id?: Scalars['ID']['output']; + media?: Maybe; + metadata?: Maybe>; + metadataFields?: Maybe>; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + remark?: Maybe; + serviceBundle?: Maybe; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CheckoutItemConnection { + __typename?: 'CheckoutItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CheckoutPayment { + __typename?: 'CheckoutPayment'; + charge?: Maybe; + credentialId?: Maybe; + invoiceId?: Scalars['ID']['output']; + provider?: PaymentProvider; + token?: Maybe; +} + +export interface CheckoutRoundingPolicy { + __typename?: 'CheckoutRoundingPolicy'; + maximumFractionDigits?: Scalars['Int']['output']; + strategy?: CheckoutRoundingStrategy; +} + +export interface CheckoutService { + __typename?: 'CheckoutService'; + bundleProduct?: Maybe; + location?: Maybe; + options?: Maybe>; + service: ShopService; + serviceOptions?: Maybe>; + slots?: Maybe>; +} + +export interface CheckoutServiceBundle { + __typename?: 'CheckoutServiceBundle'; + serviceBundle: ShopServiceBundle; + services: Array; +} + +export interface CheckoutServiceOption { + __typename?: 'CheckoutServiceOption'; + id?: Scalars['ID']['output']; + label?: Scalars['String']['output']; + medias?: Maybe>; + name?: Scalars['String']['output']; + price?: Scalars['Float']['output']; + sku?: Scalars['String']['output']; + variation?: Maybe; +} + +export interface CollectionConnection { + __typename?: 'CollectionConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CollectionRecord { + __typename?: 'CollectionRecord'; + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; +} + +export interface CollectionSales { + __typename?: 'CollectionSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 賣出數量 + */ + avgPrice?: Scalars['Float']['output']; + code?: Maybe; + /** + * 轉化率 = 訂單 / 點擊率 + */ + conversionRate?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + /** + * 地區分佈 + */ + countries: Array; + /** + * 點擊率 + */ + hitRate?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + /** + * 會員銷售額 + */ + memberAmount?: Scalars['Float']['output']; + /** + * 會員級別消費 + */ + memberLevelAmounts: Array; + /** + * 會員級別分佈 + */ + memberLevels: Array; + name?: Scalars['String']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 瀏覽量 + */ + pageView?: Scalars['Int']['output']; + /** + * 銷售點分佈 + */ + salesPoints: Array; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; + shopId?: Scalars['ID']['output']; +} + +export interface CollectionSalesConnection { + __typename?: 'CollectionSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface Company { + __typename?: 'Company'; + address?: Maybe
; + attendances: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => AttendanceConnection; + cashVouchers: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyCashVoucherConnection; + channels: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelConnection; + coupons: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyCouponConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customers: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CustomerConnection; + defaultMemberHashtagSchedules?: Maybe>; + deliveryNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => DeliveryNoteConnection; + description?: Maybe; + devices: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopDeviceConnection; + discounts: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyDiscountConnection; + honorProductSerials: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + id?: Scalars['ID']['output']; + industry?: Maybe; + ingredients: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => IngredientConnection; + memberPointResetDates?: Maybe>; + memberPointResetGracefulPeriod?: Maybe; + memberTiers: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyMemberTierConnection; + name?: Scalars['String']['output']; + orders: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + paymentSources: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => PaymentSourceConnection; + receivePurchases: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyReceivePurchaseConnection; + report: CompanyReport; + returnNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopReturnNoteConnection; + shops: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopConnection; + staffs: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyStaffConnection; + stockAdjustments: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyStockAdjustmentConnection; + stockTransfers: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyStockTransferConnection; + stocktakes: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyStocktakeConnection; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + users: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => UserConnection; + warehouses: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => WarehouseConnection; + /** + * Registered webhooks in this company. + */ + webhooks: Array; +} + +export interface CompanyCashVoucher { + __typename?: 'CompanyCashVoucher'; + active?: Maybe; + codes: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => CompanyCashVoucherCodeConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; + numberOfVoucher?: Scalars['Int']['output']; + singleVoucherValue?: Scalars['Float']['output']; + thumbnail?: Maybe; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + validFor?: Maybe; +} + +export interface CompanyCashVoucherCode { + __typename?: 'CompanyCashVoucherCode'; + cashVoucher: CompanyCashVoucher; + code?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + status?: CashVoucherCodeStatus; + validFor?: Maybe; +} + +export interface CompanyCashVoucherCodeConnection { + __typename?: 'CompanyCashVoucherCodeConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyCashVoucherConnection { + __typename?: 'CompanyCashVoucherConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyConnection { + __typename?: 'CompanyConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyCoupon { + __typename?: 'CompanyCoupon'; + actions?: Maybe>; + active?: Scalars['Boolean']['output']; + applyCode?: Maybe; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + discardSubsequent?: Scalars['Boolean']['output']; + enabled?: Scalars['Boolean']['output']; + excludedDiscountIds?: Maybe>; + excludedDiscounts: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyDiscountConnection; + excludedProductIds?: Maybe>; + handle?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + isRedeemable?: Scalars['Boolean']['output']; + media?: Maybe; + memberLimit?: Maybe; + memberPointCost?: Scalars['Int']['output']; + membersOnly?: Scalars['Boolean']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + orders: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + products: Array; + publishAt?: Scalars['AWSDateTime']['output']; + publishLimit?: Maybe; + publishThru?: Maybe; + /** + * 後台備註 + */ + remark?: Maybe; + repeat?: Maybe; + resolveCode?: Maybe; + shops: Array; + sortIndex?: Scalars['Int']['output']; + /** + * @deprecated Changed to media + */ + thumbnail?: Maybe; + triggers?: Maybe>; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + usage: (args?: { + customerId?: Maybe; + }) => Scalars['Int']['output']; + userCoupons: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + validAt?: Scalars['AWSDateTime']['output']; + validForPeriod?: Maybe; + validThru?: Maybe; +} + +export interface CompanyCouponConnection { + __typename?: 'CompanyCouponConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyDiscount { + __typename?: 'CompanyDiscount'; + actions?: Maybe>; + active?: Scalars['Boolean']['output']; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + discardSubsequent?: Scalars['Boolean']['output']; + excludedDiscountIds?: Maybe>; + excludedDiscounts: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyDiscountConnection; + excludedProductIds?: Maybe>; + id?: Scalars['ID']['output']; + membersOnly?: Scalars['Boolean']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + publishAt?: Scalars['AWSDateTime']['output']; + publishThru?: Scalars['AWSDateTime']['output']; + remark?: Maybe; + repeat?: Scalars['Int']['output']; + sortIndex?: Scalars['Int']['output']; + triggers?: Maybe>; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CompanyDiscountConnection { + __typename?: 'CompanyDiscountConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyHashtagSchedule { + __typename?: 'CompanyHashtagSchedule'; + hashtags?: Array; + validAt?: Scalars['AWSDateTime']['output']; + validThru?: Maybe; +} + +export interface CompanyMemberMetadataField { + __typename?: 'CompanyMemberMetadataField'; + /** + * Index + */ + key?: Scalars['String']['output']; + metadata?: Maybe>; + /** + * Column Name + */ + name?: Scalars['String']['output']; + required?: Scalars['Boolean']['output']; + type?: CompanyMemberMetadataFieldType; + unique?: Maybe; + values?: Array; + visible?: Maybe; +} + +export interface CompanyMemberTier { + __typename?: 'CompanyMemberTier'; + active?: Maybe; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customers: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CustomerConnection; + expiryType?: ExpiryDateTypes; + extensionAmount?: Scalars['Int']['output']; + extensionMonths?: Scalars['Int']['output']; + extensionType?: UpgradeConditionType; + id?: Scalars['ID']['output']; + isDefault?: Maybe; + level?: Scalars['Int']['output']; + memberPointActive?: Scalars['Boolean']['output']; + memberPointPerUnit?: Scalars['Int']['output']; + memberPointUnitPrice?: Scalars['Int']['output']; + name?: Scalars['String']['output']; + startedAt?: Maybe; + startedThru?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + upgradeConditionAmount?: Scalars['Int']['output']; + upgradeConditionMonths?: Scalars['Int']['output']; + upgradeConditionType?: UpgradeConditionType; + upgradeConditions?: Maybe>; + userId?: Maybe; + validMonths?: Scalars['Int']['output']; +} + +export interface CompanyMemberTierConnection { + __typename?: 'CompanyMemberTierConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyReceivePurchase { + __typename?: 'CompanyReceivePurchase'; + active?: Maybe; + completedAt?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deviceId?: Maybe; + id?: Scalars['ID']['output']; + items: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyReceivePurchaseItemConnection; + metadata?: Maybe>; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + /** + * @deprecated Use staffId instead. + */ + salespersonId?: Maybe; + staff?: Maybe; + staffId?: Maybe; + status?: CompanyReceivePurchaseStatus; + totalQuantity?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + warehouse: CompanyWarehouse; +} + +export interface CompanyReceivePurchaseConnection { + __typename?: 'CompanyReceivePurchaseConnection'; + /** + * Base64 encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Data nodes of current page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyReceivePurchaseItem { + __typename?: 'CompanyReceivePurchaseItem'; + cost?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + sku?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CompanyReceivePurchaseItemConnection { + __typename?: 'CompanyReceivePurchaseItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyReport { + __typename?: 'CompanyReport'; + collectionSales: (args: { + id: Scalars['ID']['input']; + shopId?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CollectionSales; + couponSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSales; + discountSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => DiscountSales; + /** + * 倉庫總覽 + */ + inventory: (args: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + warehouseIds: Array; + }) => InventoryReportDataConnection; + memberTierSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => MemberTierSales; + productSales: (args: { + shopId?: Maybe; + sku: Scalars['String']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => ProductSales; + promotionCodeSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSales; + salespersonSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => SalespersonSales; + topCollectionSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + shopId?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CollectionSalesConnection; + topCouponSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSalesConnection; + topDiscountSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => DiscountSalesConnection; + topMemberTierSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => MemberTierSalesConnection; + topProductSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + shopId?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => ProductSalesConnection; + topPromotionCodeSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSalesConnection; + topSalespersonSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => SalespersonSalesConnection; + topShopSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + shopId?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => ShopSalesConnection; + topVariationSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + shopId?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => VariationSalesConnection; + /** + * 所有類別數據 + */ + totalCollectionSales: (args: { + shopId?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCollectionSales; + /** + * 所有優惠券數據 + */ + totalCouponSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCouponSales; + /** + * 所有折扣數據 + */ + totalDiscountSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalDiscountSales; + /** + * 所有會員級別數據 + */ + totalMemberTierSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalMemberTierSales; + /** + * 所有產品數據 + */ + totalProductSales: (args: { + shopId?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalProductSales; + /** + * 所有推廣碼數據 + */ + totalPromotionCodeSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCouponSales; + /** + * 所有職員銷售數據 + */ + totalSalespersonSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalSalespersonSales; + /** + * 所有訂單數據 + */ + totalShopSales: (args: { + shopId?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalShopSales; + /** + * 所有產品細項數據 + */ + totalVariationSales: (args: { + shopId?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalVariationSales; + /** + * 成交額 + */ + turnover: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Float']['output']; + variationSales: (args: { + shopId?: Maybe; + sku: Scalars['String']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => VariationSales; + /** + * 成交量 + */ + volume: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Int']['output']; +} + +export interface CompanyShop { + __typename?: 'CompanyShop'; + active?: Scalars['Boolean']['output']; + addOnProducts: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopAddOnProductConnection; + address?: Maybe; + /** + * @deprecated Change to single address + */ + addresses?: Maybe>; + agent?: Maybe; + allowGuestCheckout?: Scalars['Boolean']['output']; + allowMemberPointCheckout?: Maybe; + analysisTools: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopAnalysisToolConnection; + appointments: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopAppointmentConnection; + attendances: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => AttendanceConnection; + attributes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + autoConfirm?: Maybe; + autoConfirmRegistration?: Maybe; + availableWarehouses: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => WarehouseConnection; + bundleProducts: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopBundleProductConnection; + campaigns: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CampaignConnection; + cashFlows: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopCashFlowConnection; + /** + * @deprecated use `CompanyShop.channels` instead + */ + channelMessages: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelMessageConnection; + channels: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelConnection; + checkoutRounding?: Maybe; + checkouts: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopCheckoutConnection; + collections: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + company: Company; + companyVerifyData?: Maybe; + /** + * @deprecated Change to contactEmails. + */ + contactEmail?: Maybe; + contactEmails: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + credentials: (args?: { + filter?: Maybe; + filterV2?: Maybe; + }) => Array; + creditNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CreditNoteConnection; + currentCashInDevice: (args: { + deviceId: Scalars['String']['input']; + filter?: Maybe; + }) => Scalars['Float']['output']; + customDomain?: Maybe; + customers: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CustomerConnection; + deliveryNoteAutoComplete?: Maybe; + deliveryNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => DeliveryNoteConnection; + devices: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopDeviceConnection; + emailTemplates: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopEmailTemplateConnection; + forms: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopFormConnection; + hasRegistrationEmail?: Maybe; + honorProductSerials: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + hostname?: Maybe; + /** + * @deprecated Use icoMedia instead + */ + ico?: Maybe; + icoMedia?: Maybe; + id?: Scalars['ID']['output']; + invoices: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => InvoiceConnection; + /** + * @deprecated Change to contactEmails. + */ + isContactEmailVerified?: Maybe; + locale?: Scalars['String']['output']; + /** + * @deprecated Use logoMedia instead + */ + logo?: Maybe; + logoMedia?: Maybe; + /** + * 低庫存 + */ + lowStock?: Maybe; + marquees: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + maxDeviceCount?: Maybe; + medias?: Maybe>; + memberMetadataFields?: Maybe>; + memberPointActive?: Scalars['Boolean']['output']; + memberPointClearanceGracefulPeriod?: Maybe; + /** + * A graceful period to be safe from point clearance, ISO duration. + */ + memberPointGracefulPeriod?: Maybe; + memberPointReleaseDelay?: Scalars['Int']['output']; + memberPointReleasePolicy?: MemberPointReleasePolicy; + /** + * @deprecated Moved to company level + */ + memberPointResetDates?: Maybe>; + /** + * @deprecated Use memberPointResetDates instead + */ + memberPointResetMonth?: Maybe; + memberPointUseActive?: Scalars['Boolean']['output']; + /** + * checkout.memberPointDiscount = (memberPoints / memberPointUseUnitPoint) * memberPointUsePerUnit + */ + memberPointUsePerUnit?: Scalars['Int']['output']; + memberPointUseUnitPoint?: Scalars['Int']['output']; + /** + * @deprecated Change to metadata. + */ + meta?: Maybe>>; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + metadata?: Maybe>; + name?: Scalars['String']['output']; + nameEN?: Maybe; + navigationTemplates: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopNavigationTemplateConnection; + node: (args?: { + handle?: Maybe; + id?: Maybe; + }) => Maybe; + nodes: (args: { handle: Scalars['String']['input'] }) => Maybe>; + /** + * Specify null for indefinite pending orders + */ + orderExpiry?: Maybe; + /** + * @deprecated Use `orderExpiryDuration` instead. + */ + orderExpiryDay?: Maybe; + orders: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + /** + * 滯銷 + */ + overStock?: Maybe; + pages: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => PageConnection; + paymentMethods: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => PaymentMethodConnection; + popups: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + productModifiers: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopProductModifierConnection; + productUnions: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductUnionConnection; + products: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + /** + * @deprecated Use rasterLogoMedia instead + */ + rasterLogo?: Maybe; + rasterLogoMedia?: Maybe; + receiptTemplates: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopReceiptTemplateConnection; + referenceNoLength?: Maybe; + referenceNoPrefix?: Maybe; + registrationMessages?: Maybe>; + remarks?: Maybe; + report: (args?: { filter?: Maybe }) => ShopReport; + reservationWarehouse: CompanyWarehouse; + returnNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopReturnNoteConnection; + returnWarehouse: CompanyWarehouse; + serviceBundles: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopServiceBundleConnection; + serviceLocations: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopServiceLocationConnection; + services: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopServiceConnection; + shippingZones: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopShippingZoneConnection; + shopReferenceNoFormats: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopReferenceNoFormatConnection; + staffs: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyStaffConnection; + stockAdjustments: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyStockAdjustmentConnection; + stockWarehouse: CompanyWarehouse; + stripeConnectLink?: Scalars['String']['output']; + stripeRateExpression?: Maybe; + subscriptions: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => NewsletterSubscriptionConnection; + tables: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopTableConnection; + taxZoneSelectedCountries?: Array; + taxZones: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopTaxZoneConnection; + timezone?: Maybe; + transferWarehouse: CompanyWarehouse; + type?: Maybe; + /** + * 缺貨 + */ + underStock?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + useCollectionProductSortIndex?: Maybe; + /** + * Getting warehouse sku stocks + */ + variationStocks: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + }) => VariationStockConnection; + variations: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => VariationConnection; + venues: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopVenueConnection; + welcomeMessages?: Maybe>; +} + +export interface CompanyStaff { + __typename?: 'CompanyStaff'; + active?: Maybe; + address?: Maybe
; + attendSecondsByDay: (args?: { + createdAt?: Maybe; + createdThru?: Maybe; + }) => Array; + attendances: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => AttendanceConnection; + code?: Scalars['String']['output']; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + /** + * Orders that are assigned to the staff. + */ + orders: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + password?: Scalars['String']['output']; + phoneNumber?: Maybe; + role?: StaffRole; + /** + * Orders that are assigned to the salesperson. + */ + salespersonOrders: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + shop: CompanyShop; + startedAt?: Scalars['AWSDateTime']['output']; + startedThru?: Maybe; + thumbnail?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CompanyStaffConnection { + __typename?: 'CompanyStaffConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyStockAdjustment { + __typename?: 'CompanyStockAdjustment'; + active?: Maybe; + company: Company; + completedAt?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + device?: Maybe; + deviceId?: Maybe; + id?: Scalars['ID']['output']; + items: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => StockAdjustmentItemConnection; + metadata?: Maybe>; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + shop: CompanyShop; + staff?: Maybe; + status?: StockAdjustmentStatus; + totalQuantity?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + warehouse: CompanyWarehouse; +} + +export interface CompanyStockAdjustmentConnection { + __typename?: 'CompanyStockAdjustmentConnection'; + /** + * Base64 encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Data nodes of current page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyStockTransfer { + __typename?: 'CompanyStockTransfer'; + completedAt?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deviceId?: Maybe; + id?: Scalars['ID']['output']; + inboundWarehouse?: Maybe; + /** + * @deprecated Use itemsV2 + */ + items: Array; + itemsV2: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => StockTransferItemConnection; + metadata?: Maybe>; + outboundWarehouse?: Maybe; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + /** + * @deprecated Use staffId instead. + */ + salespersonId?: Maybe; + sentAt?: Maybe; + staff?: Maybe; + staffId?: Maybe; + status?: CompanyStockTransferStatus; + totalQuantity?: Scalars['Int']['output']; + totalReceivedQuantity?: Scalars['Int']['output']; + transferWarehouse?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CompanyStockTransferConnection { + __typename?: 'CompanyStockTransferConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyStockTransferItem { + __typename?: 'CompanyStockTransferItem'; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + receivedQuantity?: Scalars['Int']['output']; + sku?: Scalars['ID']['output']; +} + +export interface CompanyStocktake { + __typename?: 'CompanyStocktake'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deviceId?: Maybe; + id?: Scalars['ID']['output']; + items: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CompanyStocktakeItemConnection; + metadata?: Maybe>; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + /** + * @deprecated Use staffId instead. + */ + salespersonId?: Maybe; + staff?: Maybe; + staffId?: Maybe; + status?: CompanyStocktakeStatus; + totalQuantity?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + warehouse: CompanyWarehouse; +} + +export interface CompanyStocktakeConnection { + __typename?: 'CompanyStocktakeConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyStocktakeItem { + __typename?: 'CompanyStocktakeItem'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + currentStock?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + quantityDiff?: Scalars['Int']['output']; + sku?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CompanyStocktakeItemConnection { + __typename?: 'CompanyStocktakeItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CompanyWarehouse { + __typename?: 'CompanyWarehouse'; + active?: Scalars['Boolean']['output']; + address?: Maybe
; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; + shops: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopConnection; + type?: CompanyWarehouseTypes; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +/** + * Base connection for paginated data in the system. + */ +export interface Connection { + __typename?: + | 'AgencyServiceConnection' + | 'AttendanceConnection' + | 'CampaignConnection' + | 'CampaignRecipientConnection' + | 'ChannelConnection' + | 'ChannelMessageConnection' + | 'CheckoutCashVoucherConnection' + | 'CheckoutItemConnection' + | 'CollectionConnection' + | 'CollectionSalesConnection' + | 'CompanyCashVoucherCodeConnection' + | 'CompanyCashVoucherConnection' + | 'CompanyConnection' + | 'CompanyCouponConnection' + | 'CompanyDiscountConnection' + | 'CompanyMemberTierConnection' + | 'CompanyReceivePurchaseConnection' + | 'CompanyReceivePurchaseItemConnection' + | 'CompanyStaffConnection' + | 'CompanyStockAdjustmentConnection' + | 'CompanyStockTransferConnection' + | 'CompanyStocktakeConnection' + | 'CompanyStocktakeItemConnection' + | 'CouponSalesConnection' + | 'CouponSalesRecordConnection' + | 'CreditNoteConnection' + | 'CustomerAddressConnection' + | 'CustomerConnection' + | 'DeliveryNoteConnection' + | 'DiscountSalesConnection' + | 'GiftPointAdjustmentConnection' + | 'HonorProductSerialConnection' + | 'IngredientConnection' + | 'InventoryReportDataConnection' + | 'InvoiceConnection' + | 'MemberTierSalesConnection' + | 'MemberTierSalesRecordConnection' + | 'NewsletterSubscriptionConnection' + | 'OrderActivityConnection' + | 'OrderAddOnProductConnection' + | 'OrderConnection' + | 'OrderItemConnection' + | 'PageConnection' + | 'PaymentMethodConnection' + | 'PaymentSourceConnection' + | 'ProductConnection' + | 'ProductSalesConnection' + | 'ProductSalesRecordConnection' + | 'ProductUnionConnection' + | 'ReturnNoteItemConnection' + | 'SalespersonSalesConnection' + | 'SalespersonSalesRecordConnection' + | 'ServiceApplicationConnection' + | 'ServiceLocationSlotConnection' + | 'ServiceLocationSlotRuleConnection' + | 'ShopAddOnProductConnection' + | 'ShopAnalysisToolConnection' + | 'ShopAppointmentConnection' + | 'ShopAttributeConnection' + | 'ShopBundleProductConnection' + | 'ShopCashFlowConnection' + | 'ShopCheckoutConnection' + | 'ShopConnection' + | 'ShopContactEmailConnection' + | 'ShopDeviceConnection' + | 'ShopDeviceMetricConnection' + | 'ShopEmailTemplateConnection' + | 'ShopFormConnection' + | 'ShopFormRecordConnection' + | 'ShopMarqueeConnection' + | 'ShopNavigationTemplateConnection' + | 'ShopPopupConnection' + | 'ShopProductModifierConnection' + | 'ShopReceiptTemplateConnection' + | 'ShopReferenceNoFormatConnection' + | 'ShopReturnNoteConnection' + | 'ShopSalesConnection' + | 'ShopServiceBundleConnection' + | 'ShopServiceConnection' + | 'ShopServiceLocationConnection' + | 'ShopShippingZoneConnection' + | 'ShopTableConnection' + | 'ShopTaxZoneConnection' + | 'ShopVenueConnection' + | 'StockAdjustmentItemConnection' + | 'StockMovementConnection' + | 'StockTransferItemConnection' + | 'UserAddressConnection' + | 'UserConnection' + | 'UserCouponConnection' + | 'VariationConnection' + | 'VariationSalesConnection' + | 'VariationStockConnection' + | 'WarehouseConnection' + | 'WishItemConnection' + | 'WishlistConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; + $on: $Connection; +} + +export interface CouponAction { + __typename?: 'CouponAction'; + actionId?: Maybe; + actionIds?: Maybe>; + actionType?: CouponActionType; + actionValue?: Maybe; + actionValueType?: Maybe; +} + +export interface CouponSales { + __typename?: 'CouponSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 訂單 + */ + avgPrice?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + /** + * 地區分佈 + */ + countries: Array; + /** + * 折扣金額 + */ + discountAmount?: Scalars['Float']['output']; + handle?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + /** + * 會員銷售額 + */ + memberAmount?: Scalars['Float']['output']; + /** + * 會員級別消費 + */ + memberLevelAmounts: Array; + /** + * 會員級別分佈 + */ + memberLevels: Array; + name?: Scalars['String']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 派出數量 + */ + redeemCount?: Maybe; + /** + * 銷售點分佈 + */ + salesPoints: Array; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CouponSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; + /** + * 使用數量 + */ + usageCount?: Scalars['Int']['output']; +} + +export interface CouponSalesConnection { + __typename?: 'CouponSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CouponSalesRecord { + __typename?: 'CouponSalesRecord'; + /** + * 金額 + */ + amount?: Scalars['Float']['output']; + /** + * 數量 + */ + count?: Scalars['Int']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + discountAmount?: Scalars['Float']['output']; + orderId?: Scalars['ID']['output']; + referenceNo?: Scalars['String']['output']; + shopId?: Scalars['ID']['output']; + shopName?: Scalars['String']['output']; +} + +export interface CouponSalesRecordConnection { + __typename?: 'CouponSalesRecordConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CouponTrigger { + __typename?: 'CouponTrigger'; + triggerId?: Maybe; + triggerIds?: Maybe>; + triggerType?: CouponTriggerType; + triggerValue?: Maybe; + triggerValueType?: Maybe; +} + +export interface CreditNoteConnection { + __typename?: 'CreditNoteConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface Customer { + __typename?: 'Customer'; + addresses: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CustomerAddressConnection; + blocked?: Scalars['Boolean']['output']; + channels: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelConnection; + checkouts: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopCheckoutConnection; + /** + * Company that owns this customer. + */ + company: Company; + coupons: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + email?: Scalars['AWSEmail']['output']; + emailVerified?: Scalars['Boolean']['output']; + /** + * Gift points if the immediate parent object is a shop, null for merchant users. + */ + giftPoints: (args?: { + shopId?: Maybe; + }) => Scalars['Int']['output']; + /** + * Gift points balance that is available before the next reset date. + */ + giftPointsBalance: (args?: { + shopId?: Maybe; + }) => Array; + /** + * Gift point adjustment records. + */ + giftPointsHistory: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => GiftPointAdjustmentConnection; + hashtags?: Array; + id?: Scalars['ID']['output']; + /** + * @deprecated Use `emailVerified` instead. + */ + isEmailVerified?: Maybe; + /** + * @deprecated Use `phoneNumberVerified` instead. + */ + isPhoneNumberVerified?: Maybe; + lastLogin?: Maybe; + memberTier?: Maybe; + /** + * These attributes are stored under app_metadata as an object and can be used in + * filters. + */ + metadata: Array; + orders: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => OrderConnection; + paymentSources: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => PaymentSourceConnection; + phoneNumber?: Maybe; + phoneNumberVerified?: Scalars['Boolean']['output']; + picture?: Maybe; + /** + * @deprecated Use giftPoints + */ + points?: Scalars['Int']['output']; + previousMemberTier?: Maybe; + report: (args?: { filter?: Maybe }) => UserReport; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + wishlists: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => WishlistConnection; +} + +export interface CustomerAddress { + __typename?: 'CustomerAddress'; + country?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + email?: Maybe; + id?: Scalars['ID']['output']; + isDefault?: Scalars['Boolean']['output']; + lines?: Maybe>; + name?: Maybe; + person?: Maybe; + tel?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface CustomerAddressConnection { + __typename?: 'CustomerAddressConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CustomerConnection { + __typename?: 'CustomerConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface CustomerMemberTier { + __typename?: 'CustomerMemberTier'; + /** + * CompanyMemberTierId + */ + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; + startedAt?: Scalars['AWSDateTime']['output']; + startedThru?: Maybe; +} + +export interface DailyAvailability { + __typename?: 'DailyAvailability'; + /** + * ['0','1','2','3','4','5','6'] for 1=Monday to 0=Sunday. + */ + daysOfWeek?: Maybe>; + /** + * HH:mm + */ + startedAt?: Maybe; + /** + * HH:mm + */ + startedThru?: Maybe; +} + +export interface DeliveryNoteConnection { + __typename?: 'DeliveryNoteConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface DeliveryNoteItem { + __typename?: 'DeliveryNoteItem'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + order: ShopOrder; + orderItem?: Maybe; + quantity?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface DiscountAction { + __typename?: 'DiscountAction'; + actionId?: Maybe; + actionIds?: Maybe>; + actionType?: DiscountActionType; + actionValue?: Maybe; + actionValueType?: Maybe; +} + +export interface DiscountSales { + __typename?: 'DiscountSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 訂單 + */ + avgPrice?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + /** + * 地區分佈 + */ + countries: Array; + /** + * 折扣金額 + */ + discountAmount?: Scalars['Float']['output']; + id?: Scalars['ID']['output']; + /** + * 會員銷售額 + */ + memberAmount?: Scalars['Float']['output']; + /** + * 會員級別消費 + */ + memberLevelAmounts: Array; + /** + * 會員級別分佈 + */ + memberLevels: Array; + name?: Scalars['String']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 銷售點分佈 + */ + salesPoints: Array; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CouponSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; + /** + * 使用數量 + */ + usageCount?: Scalars['Int']['output']; +} + +export interface DiscountSalesConnection { + __typename?: 'DiscountSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface DiscountTrigger { + __typename?: 'DiscountTrigger'; + triggerId?: Maybe; + triggerIds?: Maybe>; + triggerType?: DiscountTriggerType; + triggerValue?: Maybe; + triggerValueType?: Maybe; +} + +/** + * Structured duration format, partially inspired by ISO 8601. + */ +export interface Duration { + __typename?: 'Duration'; + days?: Scalars['Int']['output']; + hours?: Scalars['Int']['output']; + minutes?: Scalars['Int']['output']; + months?: Scalars['Int']['output']; + seconds?: Maybe; + weeks?: Scalars['Int']['output']; + years?: Scalars['Int']['output']; +} + +export interface GiftPointAdjustment { + __typename?: 'GiftPointAdjustment'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customer: User; + /** + * Human readable remarks when adjusted manually. + */ + description?: Maybe; + direction?: GiftPointDirection; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + /** + * Gift points adjusted in this transaction. + */ + points?: Scalars['Int']['output']; + remark?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface GiftPointAdjustmentConnection { + __typename?: 'GiftPointAdjustmentConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface GiftPointBalance { + __typename?: 'GiftPointBalance'; + date?: Maybe; + points?: Scalars['Int']['output']; +} + +export interface HonorProductSerial { + __typename?: 'HonorProductSerial'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + imei?: Maybe; + metadata?: Maybe>; + sku?: Maybe; + sn1?: Maybe; + sn2?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface HonorProductSerialConnection { + __typename?: 'HonorProductSerialConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface Ingredient { + __typename?: 'Ingredient'; + ProductVariation?: Maybe; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + name?: Scalars['String']['output']; + quantity: (args: { + warehouseId: Scalars['ID']['input']; + }) => Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface IngredientConnection { + __typename?: 'IngredientConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface InventoryReportDataConnection { + __typename?: 'InventoryReportDataConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface InventoryReportDatum { + __typename?: 'InventoryReportDatum'; + combination?: Maybe; + productName: (args: { + shopId: Scalars['ID']['input']; + }) => Maybe; + /** + * variation sku + */ + sku?: Scalars['String']['output']; + stocks: Array; +} + +export interface InventoryReportStockDatum { + __typename?: 'InventoryReportStockDatum'; + quantity?: Scalars['Int']['output']; + warehouseId?: Scalars['ID']['output']; +} + +export interface InvoiceConnection { + __typename?: 'InvoiceConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface InvoiceCredential { + __typename?: 'InvoiceCredential'; + active?: Maybe; + createdAt?: Maybe; + createdBy?: Maybe; + description?: Maybe; + id?: Maybe; + identity?: Maybe; + meta?: Maybe; + name?: Maybe; + platform?: Maybe; + referenceNo?: Scalars['String']['output']; + secret?: Maybe; + shop?: Maybe; + type?: Maybe; + updatedAt?: Maybe; + updatedBy?: Maybe; +} + +export interface InvoiceCreditNote { + __typename?: 'InvoiceCreditNote'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + currency?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + invoice?: Maybe; + meta?: Maybe; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + shop: CompanyShop; + status?: InvoiceCreditNoteStatus; + total?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + user: User; +} + +export interface LineChartData { + __typename?: 'LineChartData'; + data: Array; + name?: Scalars['String']['output']; +} + +export interface Me { + __typename?: 'Customer' | 'User'; + $on: $Me; +} + +export interface Media { + __typename?: 'Media'; + alt?: Maybe; + id?: Maybe; + metadata?: Maybe>; + /** + * Converts the source media into specified size and content type, optionally + * cropping with the image positioned according to gravity. + */ + optimizedSrc: (args?: { + contentType?: Maybe; + fitting?: Maybe; + gravity?: Maybe; + height?: Maybe; + quality?: Maybe; + width?: Maybe; + }) => Maybe; + src?: Scalars['AWSURL']['output']; + /** + * Hashtags describing the source image, generated from the perceived contents. + */ + suggestedHashtags?: Maybe>; +} + +export interface MemberTierSales { + __typename?: 'MemberTierSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均消費 = 銷售額 / 賣出數量 + */ + avgAmount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 訂單 + */ + avgPrice?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + /** + * 人數 + */ + memberCount?: Scalars['Int']['output']; + /** + * 人數變化 + */ + memberCountChange?: Scalars['Int']['output']; + /** + * shopMetadataFields, e.g. 性別, 年份, 生日月份, 地區分佈 + */ + memberTierTopHits: (args: { + key: Scalars['String']['input']; + }) => Array; + /** + * 級別 + */ + name?: Scalars['String']['output']; + /** + * 新註冊人數 + */ + newMemberCount?: Scalars['Int']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => MemberTierSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; +} + +export interface MemberTierSalesConnection { + __typename?: 'MemberTierSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface MemberTierSalesRecord { + __typename?: 'MemberTierSalesRecord'; + /** + * 金額 + */ + amount?: Scalars['Float']['output']; + /** + * 數量 + */ + count?: Scalars['Int']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + orderId?: Scalars['ID']['output']; + referenceNo?: Scalars['String']['output']; + shopId?: Scalars['ID']['output']; + shopName?: Scalars['String']['output']; +} + +export interface MemberTierSalesRecordConnection { + __typename?: 'MemberTierSalesRecordConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface MemberTierUpgradeCondition { + __typename?: 'MemberTierUpgradeCondition'; + type?: UpgradeConditionType; + upgradeConditionAmount?: Scalars['Int']['output']; + upgradeConditionMonths?: Maybe; +} + +export interface Metadata { + __typename?: 'Metadata'; + key?: Scalars['String']['output']; + value?: Scalars['String']['output']; +} + +export interface NewsletterSubscription { + __typename?: 'NewsletterSubscription'; + active?: Maybe; + company: Company; + contact?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + shop: CompanyShop; + type?: SubscriptionType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + userId?: Maybe; +} + +export interface NewsletterSubscriptionConnection { + __typename?: 'NewsletterSubscriptionConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +/** + * Base data node for all enttities in the system. + */ +export interface Node { + __typename?: + | 'AgencyService' + | 'AgencyServiceApplication' + | 'ApplicationComment' + | 'CampaignAction' + | 'CampaignRecipient' + | 'Channel' + | 'ChannelMessage' + | 'CheckoutCashVoucher' + | 'CheckoutItem' + | 'Company' + | 'CompanyCashVoucher' + | 'CompanyCoupon' + | 'CompanyDiscount' + | 'CompanyMemberTier' + | 'CompanyReceivePurchase' + | 'CompanyReceivePurchaseItem' + | 'CompanyShop' + | 'CompanyStaff' + | 'CompanyStockAdjustment' + | 'CompanyStockTransfer' + | 'CompanyStocktake' + | 'CompanyStocktakeItem' + | 'CompanyWarehouse' + | 'Customer' + | 'CustomerAddress' + | 'DeliveryNoteItem' + | 'GiftPointAdjustment' + | 'HonorProductSerial' + | 'Ingredient' + | 'InvoiceCreditNote' + | 'NewsletterSubscription' + | 'OrderActivity' + | 'OrderAddOnProduct' + | 'OrderComment' + | 'OrderDeliveryNote' + | 'OrderInvoice' + | 'OrderItem' + | 'PaymentMethod' + | 'PaymentSource' + | 'ProductVariation' + | 'ReturnNoteItem' + | 'ServiceLocationSlot' + | 'ServiceLocationSlotRule' + | 'ShopAddOnProduct' + | 'ShopAddress' + | 'ShopAnalysisTool' + | 'ShopAppointment' + | 'ShopAttendance' + | 'ShopAttribute' + | 'ShopBundleProduct' + | 'ShopBundleProductOption' + | 'ShopCampaign' + | 'ShopCashFlow' + | 'ShopCheckout' + | 'ShopCollection' + | 'ShopContactEmail' + | 'ShopCredential' + | 'ShopDevice' + | 'ShopEmailTemplate' + | 'ShopForm' + | 'ShopFormRecord' + | 'ShopMarquee' + | 'ShopNavigationTemplate' + | 'ShopOrder' + | 'ShopPage' + | 'ShopPopup' + | 'ShopProduct' + | 'ShopProductModifier' + | 'ShopReceiptTemplate' + | 'ShopReferenceNoFormat' + | 'ShopReturnNote' + | 'ShopService' + | 'ShopServiceBundle' + | 'ShopServiceLocation' + | 'ShopShippingZone' + | 'ShopTable' + | 'ShopTaxZone' + | 'ShopVenue' + | 'StockAdjustmentItem' + | 'StockMovement' + | 'StockTransferItem' + | 'User' + | 'UserAddress' + | 'UserCard' + | 'UserCoupon' + | 'Webhook' + | 'WishItem' + | 'Wishlist'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + $on: $Node; +} + +export interface OrderActivity { + __typename?: 'OrderActivity'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + event?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + order: ShopOrder; + orderId?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + userId?: Maybe; +} + +export interface OrderActivityConnection { + __typename?: 'OrderActivityConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes?: Maybe>>; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface OrderAddOnProduct { + __typename?: 'OrderAddOnProduct'; + active?: Scalars['Boolean']['output']; + addOnProduct: ShopAddOnProduct; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + quantity?: Scalars['Int']['output']; + remark?: Maybe; + sortIndex?: Scalars['Int']['output']; + unitPrice?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface OrderAddOnProductConnection { + __typename?: 'OrderAddOnProductConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface OrderAdjustment { + __typename?: 'OrderAdjustment'; + amount?: Scalars['Float']['output']; + description?: Maybe; + id?: Scalars['ID']['output']; + sortIndex?: Scalars['Int']['output']; +} + +export interface OrderComment { + __typename?: 'OrderComment'; + content?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + order: ShopOrder; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + user: User; +} + +export interface OrderConnection { + __typename?: 'OrderConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Orders total amount. + */ + totalAmount?: Scalars['Float']['output']; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface OrderDeliveryNote { + __typename?: 'OrderDeliveryNote'; + address?: Maybe
; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deliveryDetails?: Maybe; + id?: Scalars['ID']['output']; + items: Array; + /** + * @deprecated Use metadata instead + */ + meta?: Maybe; + metadata?: Maybe>; + order: ShopOrder; + referenceNo?: Scalars['String']['output']; + shippingProvider?: Maybe; + shop: CompanyShop; + status?: DeliveryNoteStatus; + trackingNumber?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + user?: Maybe; +} + +export interface OrderInvoice { + __typename?: 'OrderInvoice'; + address?: Maybe
; + cancelReason?: Maybe; + change?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + /** + * @deprecated Use paymentMethodV2 instead. + */ + credential: InvoiceCredential; + creditNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CreditNoteConnection; + currency?: Scalars['String']['output']; + customer?: Maybe; + id?: Scalars['ID']['output']; + meta?: Maybe; + metadata?: Maybe>; + order: ShopOrder; + paymentMethod?: PaymentProvider; + paymentMethodV2?: Maybe; + referenceNo?: Maybe; + shop: CompanyShop; + status?: OrderInvoiceStatus; + total?: Scalars['Float']['output']; + totalPaid?: Scalars['Float']['output']; + totalRefund?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface OrderItem { + __typename?: 'OrderItem'; + addOnProduct?: Maybe; + appointments: Array; + bundleProduct?: Maybe; + checkout: ShopCheckout; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deliverableQuantity?: Scalars['Int']['output']; + description?: Maybe; + id?: Scalars['ID']['output']; + media?: Maybe; + metadata?: Maybe>; + metadataFields?: Maybe>; + order: ShopOrder; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + remark?: Maybe; + returnNoteItems?: Maybe>; + serviceBundle?: Maybe; + sku?: Maybe; + unitPrice?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface OrderItemConnection { + __typename?: 'OrderItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface OtherDiscount { + __typename?: 'OtherDiscount'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; + name?: Scalars['String']['output']; +} + +export interface PageConnection { + __typename?: 'PageConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface PageViewsData { + __typename?: 'PageViewsData'; + name?: Scalars['String']['output']; + value?: Scalars['Float']['output']; +} + +export interface PaymentMethod { + __typename?: 'PaymentMethod'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + credential: ShopCredential; + description?: Maybe; + enabled?: Scalars['Boolean']['output']; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + provider?: PaymentProvider; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface PaymentMethodConnection { + __typename?: 'PaymentMethodConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +/** + * Stored payment methods for future payments. + */ +export interface PaymentSource { + __typename?: 'PaymentSource'; + brand?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + expiryMonth?: Scalars['Int']['output']; + expiryYear?: Scalars['Int']['output']; + holderName?: Maybe; + id?: Scalars['ID']['output']; + issuerCountry?: Maybe; + last4?: Scalars['String']['output']; + provider?: Scalars['String']['output']; + sourceId?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface PaymentSourceConnection { + __typename?: 'PaymentSourceConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface Permission { + __typename?: 'Permission'; + key?: Scalars['String']['output']; + value?: Array; +} + +/** + * A general representation of a deferred action that the server handles at the + * next available schedule for a given resource owner, i.e. available job queues + * for each shop. + */ +export interface Process { + __typename?: 'Process'; + createdAt?: Maybe; + id?: Scalars['ID']['output']; + /** + * Example outputs: + * 1. status: RUNNING `{ "progress": 0.12, "message": "12 of 1032 products exported." }` + * 2. status: SUCCESS `{ "href": "https://s3.amazonaws.com/exports/products.xlsx", "message": "1032 products exported." }` + * 3. status: FAILURE `{ "code": 500, "error": "Internal Server Error" }` + */ + output?: Maybe; + status?: ProcessStatus; + updatedAt?: Maybe; +} + +export interface ProductCombination { + __typename?: 'ProductCombination'; + name?: Scalars['String']['output']; + options: Array; +} + +export interface ProductCombinationOption { + __typename?: 'ProductCombinationOption'; + name?: Scalars['String']['output']; + priceAdjustment?: Scalars['Float']['output']; +} + +export interface ProductConnection { + __typename?: 'ProductConnection'; + filters: Array; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ProductDetail { + __typename?: 'ProductDetail'; + content?: Maybe; + title?: Maybe; +} + +export interface ProductMedia { + __typename?: 'ProductMedia'; + alt?: Maybe; + /** + * Partial combination of a product, to act as quick filters for front end. + */ + combination?: Maybe>; + id?: Maybe; + metadata?: Maybe>; + /** + * Converts the source media into specified size and content type, optionally + * cropping with the image positioned according to gravity. + */ + optimizedSrc: (args?: { + contentType?: Maybe; + gravity?: Maybe; + height?: Maybe; + quality?: Maybe; + width?: Maybe; + }) => Scalars['AWSURL']['output']; + src?: Scalars['AWSURL']['output']; +} + +export interface ProductModifier { + __typename?: 'ProductModifier'; + /** + * Maximum option selection + */ + max?: Maybe; + /** + * Minimum option selection + */ + min?: Maybe; + name?: Scalars['String']['output']; + options: Array; +} + +export interface ProductModifierOption { + __typename?: 'ProductModifierOption'; + name?: Scalars['String']['output']; + priceAdjustment?: Scalars['Float']['output']; +} + +export interface ProductModifierValue { + __typename?: 'ProductModifierValue'; + modifierId?: Scalars['ID']['output']; + modifiers: Array; +} + +export interface ProductSales { + __typename?: 'ProductSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 賣出數量 + */ + avgPrice?: Scalars['Float']['output']; + barcode?: Maybe; + /** + * 轉化率 = 訂單 / 點擊率 + */ + conversionRate?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + /** + * 地區分佈 + */ + countries: Array; + /** + * 點擊率 + */ + hitRate?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + medias: (args: { shopId: Scalars['ID']['input'] }) => Maybe>; + /** + * 會員銷售額 + */ + memberAmount?: Scalars['Float']['output']; + /** + * 會員級別消費 + */ + memberLevelAmounts: Array; + /** + * 會員級別分佈 + */ + memberLevels: Array; + name: (args?: { + shopId?: Maybe; + }) => Scalars['String']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 瀏覽量 + */ + pageView?: Scalars['Int']['output']; + /** + * 銷售點分佈 + */ + salesPoints: Array; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; + shopId?: Scalars['ID']['output']; + sku?: Scalars['String']['output']; +} + +export interface ProductSalesConnection { + __typename?: 'ProductSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ProductSalesRecord { + __typename?: 'ProductSalesRecord'; + amount?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + productBarcode?: Maybe; + productId?: Scalars['ID']['output']; + productName?: Scalars['String']['output']; + productSku?: Scalars['String']['output']; + quantity?: Scalars['Int']['output']; + referenceNo?: Scalars['String']['output']; + shopId?: Scalars['ID']['output']; + shopName?: Scalars['String']['output']; + unitPrice?: Scalars['Float']['output']; + variationBarcode?: Maybe; + variationBarcodes?: Maybe>; + variationId?: Maybe; + variationSku?: Maybe; +} + +export interface ProductSalesRecordConnection { + __typename?: 'ProductSalesRecordConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ProductUnion { + __typename?: 'ShopBundleProduct' | 'ShopProduct' | 'ShopServiceBundle'; + $on: $ProductUnion; +} + +export interface ProductUnionConnection { + __typename?: 'ProductUnionConnection'; + filters: Array; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ProductVariation { + __typename?: 'ProductVariation'; + active?: Scalars['Boolean']['output']; + averageCost?: Scalars['Float']['output']; + barcode?: Maybe; + barcodes?: Maybe>>; + combination: Array; + cost?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + hashtags?: Maybe>>; + id?: Scalars['ID']['output']; + ignoreStock?: Scalars['Boolean']['output']; + /** + * @deprecated Use product.medias instead. + */ + images?: Maybe>; + /** + * @deprecated Use product.medias instead. + */ + medias?: Maybe>; + product?: Maybe; + productId?: Scalars['String']['output']; + quantities: (args?: { + warehouseIds?: Maybe>; + }) => Array>; + quantity: (args?: { + warehouseId?: Maybe; + }) => Scalars['Int']['output']; + sku?: Scalars['String']['output']; + stockLocations?: Maybe>>; + suggestedRetailPrice?: Maybe; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + weight?: Maybe; +} + +export interface ProductVariationCombination { + __typename?: 'ProductVariationCombination'; + name?: Scalars['String']['output']; + option?: Scalars['String']['output']; +} + +export interface ReminderSetting { + __typename?: 'ReminderSetting'; + quantity?: Scalars['Int']['output']; + remind?: Scalars['Boolean']['output']; +} + +export interface ReturnNoteItem { + __typename?: 'ReturnNoteItem'; + active?: Scalars['Boolean']['output']; + bundleProductOptionId?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + order: ShopOrder; + orderId?: Scalars['ID']['output']; + orderItem: OrderItem; + orderItemId?: Scalars['ID']['output']; + productId?: Maybe; + productVariationId?: Maybe; + quantity?: Scalars['Int']['output']; + reason?: Maybe; + remark?: Maybe; + resalable?: Scalars['Boolean']['output']; + returnNote: ShopReturnNote; + returnNoteId?: Scalars['ID']['output']; + sku?: Scalars['String']['output']; + sortIndex?: Scalars['Int']['output']; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + warehouse?: Maybe; + warehouseId?: Maybe; +} + +export interface ReturnNoteItemConnection { + __typename?: 'ReturnNoteItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface Sales { + __typename?: 'Sales'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; +} + +export interface SalesByMethods { + __typename?: 'SalesByMethods'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; + name?: Scalars['String']['output']; +} + +export interface SalespersonSales { + __typename?: 'SalespersonSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均消費 = 銷售額 / 賣出數量 + */ + avgAmount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 訂單 + */ + avgPrice?: Scalars['Float']['output']; + /** + * 職員編號 + */ + code?: Scalars['String']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + /** + * 職員名稱 + */ + name?: Scalars['String']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => SalespersonSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; +} + +export interface SalespersonSalesConnection { + __typename?: 'SalespersonSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface SalespersonSalesRecord { + __typename?: 'SalespersonSalesRecord'; + /** + * 金額 + */ + amount?: Scalars['Float']['output']; + /** + * 數量 + */ + count?: Scalars['Int']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + orderId?: Scalars['ID']['output']; + referenceNo?: Scalars['String']['output']; + shopId?: Scalars['ID']['output']; + shopName?: Scalars['String']['output']; +} + +export interface SalespersonSalesRecordConnection { + __typename?: 'SalespersonSalesRecordConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ServiceApplicationConnection { + __typename?: 'ServiceApplicationConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ServiceLocationSlot { + __typename?: 'ServiceLocationSlot'; + active?: Scalars['Boolean']['output']; + capacity?: Scalars['Int']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + location: ShopServiceLocation; + metadata?: Maybe>; + price?: Scalars['Int']['output']; + recurrence?: Maybe; + ruleId?: Maybe; + shop: CompanyShop; + startedAt?: Scalars['AWSDateTime']['output']; + startedThru?: Scalars['AWSDateTime']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ServiceLocationSlotConnection { + __typename?: 'ServiceLocationSlotConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ServiceLocationSlotRule { + __typename?: 'ServiceLocationSlotRule'; + active?: Scalars['Boolean']['output']; + capacity?: Scalars['Int']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + price?: Scalars['Int']['output']; + recurrence?: Scalars['String']['output']; + startedAt?: Scalars['AWSDateTime']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ServiceLocationSlotRuleConnection { + __typename?: 'ServiceLocationSlotRuleConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ServiceOption { + __typename?: 'ServiceOption'; + id?: Scalars['ID']['output']; + medias?: Maybe>; + name?: Scalars['String']['output']; + price?: Scalars['Float']['output']; + sku?: Scalars['String']['output']; + variation?: Maybe; +} + +export interface ServiceSection { + __typename?: 'ServiceSection'; + description?: Maybe; + id?: Scalars['ID']['output']; + label?: Scalars['String']['output']; + options: Array; +} + +export interface Session { + __typename?: 'Session'; + createdAt?: Scalars['AWSDateTime']['output']; + id?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + user: User; +} + +export interface SessionToken { + __typename?: 'SessionToken'; + access_token?: Scalars['String']['output']; + expires_in?: Scalars['Int']['output']; + id_token?: Maybe; + refresh_token?: Maybe; + scope?: Maybe; + token_type?: Scalars['String']['output']; +} + +export interface ShippingZoneAddress { + __typename?: 'ShippingZoneAddress'; + city?: Maybe; + country?: Maybe; + email?: Maybe; + id?: Maybe; + lines?: Maybe>; + name?: Maybe; + person?: Maybe; + tel?: Maybe; +} + +export interface ShippingZoneConfig { + __typename?: 'ShippingZoneConfig'; + /** + * API Username + */ + identity?: Scalars['String']['output']; + /** + * API Key + */ + secret?: Scalars['String']['output']; +} + +export interface ShippingZoneExpressions { + __typename?: 'ShippingZoneExpressions'; + maxWeight?: Scalars['Float']['output']; + unit?: Scalars['Int']['output']; + unitPrice?: Scalars['Float']['output']; +} + +export interface ShopAddOnProduct { + __typename?: 'ShopAddOnProduct'; + active?: Scalars['Boolean']['output']; + amount?: Maybe; + barcode?: Maybe; + cost?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + hashtags?: Maybe>; + id?: Scalars['ID']['output']; + ignoreStock?: Scalars['Boolean']['output']; + medias?: Maybe>; + name?: Scalars['String']['output']; + product?: Maybe; + productId?: Maybe; + publishAt?: Maybe; + publishThru?: Maybe; + purchaseLimit?: Scalars['Int']['output']; + quantity: (args?: { + warehouseId?: Maybe; + }) => Scalars['Int']['output']; + sku?: Scalars['String']['output']; + type?: AddOnProductType; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + weight?: Scalars['Float']['output']; +} + +export interface ShopAddOnProductConnection { + __typename?: 'ShopAddOnProductConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopAddress { + __typename?: 'ShopAddress'; + city?: Maybe; + country?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + default?: Scalars['Boolean']['output']; + email?: Maybe; + id?: Scalars['ID']['output']; + lines?: Maybe>; + name?: Maybe; + person?: Maybe; + tel?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopAnalysisTool { + __typename?: 'ShopAnalysisTool'; + active?: Scalars['Boolean']['output']; + context?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + shop: CompanyShop; + type?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopAnalysisToolConnection { + __typename?: 'ShopAnalysisToolConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopAppointment { + __typename?: 'ShopAppointment'; + active?: Scalars['Boolean']['output']; + attendanceStatus?: AppointmentAttendanceStatus; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customer?: Maybe; + id?: Scalars['ID']['output']; + location: ShopServiceLocation; + metadata?: Maybe>; + order?: Maybe; + orderItem?: Maybe; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + service: ShopService; + shop: CompanyShop; + slots: Array; + startedAt?: Scalars['AWSDateTime']['output']; + startedThru?: Scalars['AWSDateTime']['output']; + status?: AppointmentStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopAppointmentConnection { + __typename?: 'ShopAppointmentConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopAttendance { + __typename?: 'ShopAttendance'; + company: Company; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + direction?: AttendanceDirection; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + shop: CompanyShop; + staff: CompanyStaff; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopAttribute { + __typename?: 'ShopAttribute'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + key?: Scalars['String']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + sortIndex?: Scalars['Int']['output']; + system?: Scalars['Boolean']['output']; + type?: ShopAttributeType; + typename?: ShopAttributeTypename; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopAttributeConnection { + __typename?: 'ShopAttributeConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopAttributeValue { + __typename?: 'ShopAttributeValue'; + attributeId?: Scalars['ID']['output']; + id?: Scalars['ID']['output']; + key?: Scalars['String']['output']; + type?: ShopAttributeType; + value?: Scalars['String']['output']; +} + +export interface ShopBundleProduct { + __typename?: 'ShopBundleProduct'; + active?: Scalars['Boolean']['output']; + ancestorCollectionCodes?: Maybe>; + barcode?: Maybe; + collectionCodes?: Maybe>; + collections: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + cost?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + hashtags?: Maybe>; + id?: Scalars['ID']['output']; + ignoreStock?: Scalars['Boolean']['output']; + medias?: Maybe>; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + metadata: Array; + name?: Scalars['String']['output']; + primarySortIndex?: Maybe; + publishAt?: Maybe; + publishThru?: Maybe; + quantity: (args?: { + warehouseId?: Maybe; + }) => Scalars['Int']['output']; + rewriteUri?: Maybe; + salesChannels?: Maybe>; + sections: Array; + shippingZones: Array; + shop: CompanyShop; + sku?: Maybe; + subtitle?: Maybe; + suggestedRetailPrice?: Scalars['Float']['output']; + /** + * the basic selling price of this bundle product + */ + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + weight?: Scalars['Float']['output']; + wishItems: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => WishItemConnection; +} + +export interface ShopBundleProductConnection { + __typename?: 'ShopBundleProductConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopBundleProductOption { + __typename?: 'ShopBundleProductOption'; + collection?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + hashtags?: Maybe>; + id?: Scalars['ID']['output']; + price?: Scalars['Float']['output']; + product?: Maybe; + products: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopBundleProductSection { + __typename?: 'ShopBundleProductSection'; + description?: Maybe; + id?: Maybe; + label?: Scalars['String']['output']; + options: Array; +} + +export interface ShopCampaign { + __typename?: 'ShopCampaign'; + actionResults: Array; + /** + * @deprecated Use `actions` instead. + */ + actionType?: CampaignActionType; + /** + * @deprecated Use `actions` instead. + */ + actionTypes?: Array; + actions: Array; + active?: Maybe; + /** + * Campaign default message content + */ + content?: Scalars['String']['output']; + /** + * Optional coupon code to be applied to the campaign. + * @deprecated Use `coupons` instead. + */ + coupon?: Maybe; + /** + * Optional coupons code to be applied to the campaign. + */ + coupons?: Maybe>; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + excludedHashtags?: Maybe>; + excludedMatchMode?: CampaignMatchMode; + id?: Scalars['ID']['output']; + /** + * Customers must have all the target hashtags to be included in the campaign. + * @deprecated Use `targetMatchMode` instead. + */ + matchMode?: Maybe; + name?: Maybe; + recipients: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CampaignRecipientConnection; + result: CampaignResult; + /** + * @deprecated Use `actions` instead. + */ + richContent?: Maybe; + shop: CompanyShop; + targetHashtags?: Array>; + /** + * Customer with these hashtags will be included in the campaign. + */ + targetMatchMode?: CampaignMatchMode; + thumbnail?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + validAt?: Scalars['AWSDateTime']['output']; + validThru?: Maybe; +} + +export interface ShopCashFlow { + __typename?: 'ShopCashFlow'; + amount?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + deviceId?: Maybe; + direction?: ShopCashFlowDirection; + id?: Scalars['ID']['output']; + locale?: Scalars['String']['output']; + remark?: Maybe; + shop: CompanyShop; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopCashFlowConnection { + __typename?: 'ShopCashFlowConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopCheckout { + __typename?: 'ShopCheckout'; + /** + * Available add on products + * @deprecated Use `availableAddOnProducts` instead + */ + addOnProducts: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => ShopAddOnProductConnection; + availableAddOnProducts: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => ShopAddOnProductConnection; + availablePaymentMethods?: Maybe>; + availablePaymentMethodsV2?: Maybe>; + availableShippingZones: Array; + billingAddress?: Maybe
; + cashVouchers: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CheckoutCashVoucherConnection; + /** + * @deprecated Use `staffId` instead + */ + cashier?: Maybe; + couponDiscount?: Scalars['Float']['output']; + coupons: Array; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + currency?: Scalars['String']['output']; + customer?: Maybe; + deviceId?: Maybe; + estimationShippingFee?: Maybe; + id?: Scalars['ID']['output']; + internalRemark?: Maybe; + internalRemarkMedias?: Maybe>; + isPreOrder?: Maybe; + items: (args?: { + withDeleted?: Maybe; + }) => Array; + lastPaidTime?: Maybe; + metadata?: Maybe>; + order?: Maybe; + payment: (args: { input: CheckoutPaymentInput }) => Maybe; + pickUpAddress?: Maybe
; + pickUpAddressId?: Maybe; + referenceNo?: Maybe; + remark?: Maybe; + remarkMedias?: Maybe>; + salesperson?: Maybe; + salespersonId?: Maybe; + /** + * Selected add on products + */ + selectedAddOnProducts: Array; + shippingAddress?: Maybe
; + shippingFee?: Scalars['Float']['output']; + shippingProvider?: Maybe; + shop: CompanyShop; + shopDiscount?: Scalars['Float']['output']; + staff?: Maybe; + staffId?: Maybe; + status?: CheckoutStatus; + subtotal?: Scalars['Float']['output']; + table?: Maybe; + taxFee?: Scalars['Float']['output']; + total?: Maybe; + totalAdjustments: Array; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopCheckoutConnection { + __typename?: 'ShopCheckoutConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopCollection { + __typename?: 'ShopCollection'; + active?: Scalars['Boolean']['output']; + allChildren: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + /** + * @deprecated Use `descendentProducts` instead. + */ + allProducts: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + children: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + /** + * Common code for the collection to be addressed by products and discounts. + */ + code?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + dailyAvailability?: Maybe; + descendentProductUnions: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductUnionConnection; + /** + * Products of this collection and all its descendent collections. + */ + descendentProducts: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + description?: Maybe; + id?: Scalars['ID']['output']; + media?: Maybe; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + name?: Scalars['String']['output']; + parent?: Maybe; + parentId?: Maybe; + parentIds?: Maybe; + parents?: Maybe>; + productUnions: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductUnionConnection; + /** + * Immediate child products of this collection. + */ + products: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + rewriteUri?: Maybe; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + thumbnail?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopConnection { + __typename?: 'ShopConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopContactEmail { + __typename?: 'ShopContactEmail'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + email?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + type?: ShopContactEmailType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + verified?: Scalars['Boolean']['output']; +} + +export interface ShopContactEmailConnection { + __typename?: 'ShopContactEmailConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopCredential { + __typename?: 'ShopCredential'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + id?: Scalars['ID']['output']; + identity?: Scalars['String']['output']; + /** + * @deprecated Use metadata instead + */ + meta?: Maybe; + metadata?: Maybe>; + name?: Maybe; + paymentMethods: Array; + platform?: ShopCredentialPlatform; + secret?: Maybe; + shop: CompanyShop; + type?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopCredentialMeta { + __typename?: 'ShopCredentialMeta'; + /** + * @deprecated Use metadata instead + */ + capabilitiesStatusActive?: Maybe; + /** + * @deprecated Use metadata instead + */ + loginId?: Maybe; + /** + * @deprecated Use metadata instead + */ + loginPWD?: Maybe; +} + +export interface ShopDevice { + __typename?: 'ShopDevice'; + active?: Scalars['Boolean']['output']; + cashFlows: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopCashFlowConnection; + configs?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + defaultConfigs?: Maybe; + description?: Maybe; + deviceId?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + lastLogin?: Maybe; + metadata?: Maybe>; + metrics: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopDeviceMetricConnection; + name?: Scalars['String']['output']; + shop?: Maybe; + status?: ShopDeviceStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopDeviceConnection { + __typename?: 'ShopDeviceConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopDeviceMetric { + __typename?: 'ShopDeviceMetric'; + createdAt?: Scalars['AWSDateTime']['output']; + id?: Scalars['ID']['output']; + metadata: Array; +} + +export interface ShopDeviceMetricConnection { + __typename?: 'ShopDeviceMetricConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopEmailTemplate { + __typename?: 'ShopEmailTemplate'; + active?: Scalars['Boolean']['output']; + configs?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + isDefault?: Scalars['Boolean']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + shop: CompanyShop; + type?: ShopEmailTemplateType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopEmailTemplateConnection { + __typename?: 'ShopEmailTemplateConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopForm { + __typename?: 'ShopForm'; + active?: Scalars['Boolean']['output']; + autoApprove?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + metadataFields: Array; + name?: Scalars['String']['output']; + records: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopFormRecordConnection; + shop: CompanyShop; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + validAt?: Maybe; + validThru?: Maybe; +} + +export interface ShopFormConnection { + __typename?: 'ShopFormConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopFormRecord { + __typename?: 'ShopFormRecord'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customer?: Maybe; + form?: Maybe; + id?: Scalars['ID']['output']; + metadata: Array; + status?: ShopFormRecordStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopFormRecordConnection { + __typename?: 'ShopFormRecordConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopMarquee { + __typename?: 'ShopMarquee'; + active?: Scalars['Boolean']['output']; + backgroundColor?: Maybe; + closable?: Maybe; + content?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + path?: Maybe; + positionBottom?: Maybe; + positionTop?: Maybe; + shopId?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopMarqueeConnection { + __typename?: 'ShopMarqueeConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopNavigationTemplate { + __typename?: 'ShopNavigationTemplate'; + active?: Scalars['Boolean']['output']; + configs?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + shop: CompanyShop; + type?: NavigationTemplateType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopNavigationTemplateConnection { + __typename?: 'ShopNavigationTemplateConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopOrder { + __typename?: 'ShopOrder'; + activities: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => Maybe; + appointments: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopAppointmentConnection; + billingAddress?: Maybe
; + cancelReason?: Maybe; + channel?: Maybe; + checkout: ShopCheckout; + checkoutId?: Maybe; + comments: Array; + company: Company; + couponDiscount?: Scalars['Float']['output']; + coupons: Array; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + creditNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CreditNoteConnection; + currency?: Scalars['String']['output']; + customer?: Maybe; + deductibleMemberPoints?: Scalars['Int']['output']; + deliveryNotes: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => DeliveryNoteConnection; + deviceId?: Maybe; + gainMemberPoints?: Maybe; + id?: Scalars['ID']['output']; + internalRemark?: Maybe; + internalRemarkMedias?: Maybe>; + invoices: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => InvoiceConnection; + isPreOrder?: Maybe; + items: Array; + itemsV2: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => OrderItemConnection; + kitchenStatus?: ShopOrderKitchenStatus; + memberPointDiscount?: Scalars['Float']['output']; + memberPoints?: Scalars['Float']['output']; + metadata?: Maybe>; + paymentProvider?: Maybe; + paymentStatus?: ShopOrderInvoiceStatus; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + remarkMedias?: Maybe>; + returnNoteItems: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ReturnNoteItemConnection; + /** + * @deprecated Use `deductibleMemberPoints` instead + */ + rewardedMemberPoints?: Scalars['Int']['output']; + salesperson?: Maybe; + shippingAddress?: Maybe
; + shippingFee?: Scalars['Float']['output']; + shippingProvider?: Maybe; + shippingStatus?: ShopOrderDeliveryNoteStatus; + shop: CompanyShop; + shopDiscount?: Scalars['Float']['output']; + staff?: Maybe; + status?: ShopOrderStatus; + subtotal?: Scalars['Float']['output']; + taxFee?: Scalars['Float']['output']; + total?: Scalars['Float']['output']; + totalAdjustments: Array; + totalPaid?: Scalars['Float']['output']; + totalRefund?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopPage { + __typename?: 'ShopPage'; + active?: Scalars['Boolean']['output']; + /** + * @deprecated Frontend is not used. + */ + atFooter?: Maybe; + /** + * @deprecated Frontend is not used. + */ + atHeader?: Maybe; + /** + * @deprecated Frontend is not used. + */ + atMenu?: Maybe; + body?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + display?: Scalars['Boolean']['output']; + /** + * @deprecated Frontend is not used. + */ + group?: Maybe; + hashtags?: Maybe>; + href?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + name?: Scalars['String']['output']; + rewriteUri?: Maybe; + shop: CompanyShop; + sortIndex?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopPopup { + __typename?: 'ShopPopup'; + active?: Scalars['Boolean']['output']; + content?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + href?: Maybe; + id?: Scalars['ID']['output']; + path?: Maybe; + shopId?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + validAt?: Scalars['AWSDateTime']['output']; + validThru?: Maybe; +} + +export interface ShopPopupConnection { + __typename?: 'ShopPopupConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopProduct { + __typename?: 'ShopProduct'; + active?: Scalars['Boolean']['output']; + ancestorCollectionCodes?: Maybe>; + attributes: (args?: { + keys?: Maybe>; + }) => Maybe>; + barcode?: Maybe; + basePrice?: Scalars['Float']['output']; + bundleProducts: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopBundleProductConnection; + collectionCodes?: Maybe>; + /** + * @deprecated for internal use only + */ + collectionPaths?: Maybe>; + collections: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + combinations: Array; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + details?: Maybe>; + /** + * @deprecated Superseded by `publishAt` and `publishThru`. + */ + hasPublishDuration?: Maybe; + /** + * @deprecated Change to hashtags + */ + hashTagsArray?: Maybe>; + hashtags?: Maybe>; + id?: Scalars['ID']['output']; + /** + * @deprecated No longer supported + */ + images?: Maybe>; + maxPrice?: Scalars['Float']['output']; + medias?: Maybe>; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + metadata?: Maybe>; + metadataFields?: Maybe>; + modifierValues?: Maybe>; + /** + * POS remark options + */ + modifiers: Array; + name?: Scalars['String']['output']; + paginatedVariations: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => VariationConnection; + primarySortIndex?: Maybe; + printDescription?: Maybe; + publishAt?: Maybe; + publishThru?: Maybe; + /** + * @deprecated unused field + */ + purchaseLimit?: Maybe; + /** + * @deprecated Change to modifiers + */ + remarkSet?: Maybe; + rewriteUri?: Maybe; + salesChannels?: Maybe>; + shippingZones?: Maybe>; + shop: CompanyShop; + sku?: Maybe; + stockMovements: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => StockMovementConnection; + subtitle?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + variations: Array; + wishItems: (args?: { + cursor?: Maybe; + limits?: Maybe; + }) => WishItemConnection; +} + +export interface ShopProductModifier { + __typename?: 'ShopProductModifier'; + active?: Scalars['Boolean']['output']; + code?: Scalars['String']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + modifiers: Array; + name?: Scalars['String']['output']; + productCount?: Scalars['Int']['output']; + products: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductConnection; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopProductModifierConnection { + __typename?: 'ShopProductModifierConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopReceiptTemplate { + __typename?: 'ShopReceiptTemplate'; + active?: Scalars['Boolean']['output']; + configs?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + shop: CompanyShop; + type?: ReceiptTemplateType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopReceiptTemplateConnection { + __typename?: 'ShopReceiptTemplateConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopReferenceNoFormat { + __typename?: 'ShopReferenceNoFormat'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + length?: Scalars['Int']['output']; + prefix?: Scalars['String']['output']; + shopId?: Scalars['String']['output']; + type?: ShopReferenceNoFormatType; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopReferenceNoFormatConnection { + __typename?: 'ShopReferenceNoFormatConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopReport { + __typename?: 'ShopReport'; + /** + * @deprecated Change to turnover. + */ + amount?: Scalars['Float']['output']; + /** + * 類別分析明細 + * @deprecated Use CompanyReport.collectionSales instead + */ + collectionSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CollectionSales; + /** + * @deprecated Change to volume. + */ + count?: Scalars['Float']['output']; + /** + * 優惠券分析明細 + * @deprecated Use CompanyReport.couponSales instead + */ + couponSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSales; + /** + * 會員總消費 + */ + customerSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Sales; + /** + * 折扣分析明細 + * @deprecated Use CompanyReport.discountSales instead + */ + discountSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => DiscountSales; + /** + * 會員級別分析明細 + * @deprecated Use CompanyReport.memberTierSales instead + */ + memberTierSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => MemberTierSales; + /** + * 新客總消費 + */ + newCustomerSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Sales; + /** + * 非會員總消費 + */ + nonCustomerSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Sales; + /** + * 舊客總消費 + */ + oldCustomerSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Sales; + otherDiscounts: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + pageViews: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 待處理訂單 + */ + pendingOrderCount: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Float']['output']; + /** + * 產品分析明細 + * @deprecated Use CompanyReport.productSales instead + */ + productSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => ProductSales; + /** + * 推廣碼分析明細 + * @deprecated Use CompanyReport.promotionCodeSales instead + */ + promotionCodeSales: (args: { + id: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSales; + refund: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Float']['output']; + salesByMethods: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + salesByOrderItems: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * @deprecated Use CompanyReport.topCollectionSales instead + */ + topCollectionSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CollectionSalesConnection; + /** + * @deprecated Use CompanyReport.topCouponSales instead + */ + topCouponSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSalesConnection; + /** + * @deprecated Use CompanyReport.topDiscountSales instead + */ + topDiscountSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => DiscountSalesConnection; + /** + * @deprecated Use CompanyReport.topMemberTierSales instead + */ + topMemberTierSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => MemberTierSalesConnection; + /** + * @deprecated Use CompanyReport.topProductSales instead + */ + topProductSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => ProductSalesConnection; + /** + * @deprecated Use CompanyReport.topPromotionCodeSales instead + */ + topPromotionCodeSales: (args: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => CouponSalesConnection; + /** + * 產品銷售分析 + */ + topSalesProducts: (args: { + limits?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 產品銷售分析 + */ + topSalesVariations: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 產品瀏覽分析 + */ + topViewProducts: (args: { + limits?: Maybe; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 所有類別數據 + * @deprecated Use CompanyReport.totalCollectionSales instead + */ + totalCollectionSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCollectionSales; + /** + * 所有優惠券數據 + * @deprecated Use CompanyReport.totalCouponSales instead + */ + totalCouponSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCouponSales; + /** + * 所有折扣數據 + * @deprecated Use CompanyReport.totalDiscountSales instead + */ + totalDiscountSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalDiscountSales; + /** + * 所有產品銷售分析 + */ + totalItemSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalItemSales; + /** + * 所有會員級別數據 + * @deprecated Use CompanyReport.totalMemberTierSales instead + */ + totalMemberTierSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalMemberTierSales; + /** + * 所有產品數據 + * @deprecated Use CompanyReport.totalProductSales instead + */ + totalProductSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalProductSales; + /** + * 所有推廣碼數據 + * @deprecated Use CompanyReport.totalPromotionCodeSales instead + */ + totalPromotionCodeSales: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => TotalCouponSales; + /** + * 成交額 + */ + turnover: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Float']['output']; + /** + * 未付款訂單 + */ + unpaidOrderAmount: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Float']['output']; + unpaidOrderCount: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Int']['output']; + /** + * 客戶年齡分析 + */ + userAge: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 客戶地域分析 + */ + userCountry: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 客戶性別分析 + */ + userGender: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Array; + /** + * 成交量 + */ + volume: (args: { + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Scalars['Int']['output']; +} + +export interface ShopReturnNote { + __typename?: 'ShopReturnNote'; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + items: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ReturnNoteItemConnection; + metadata?: Maybe>; + order: ShopOrder; + referenceNo?: Scalars['String']['output']; + remark?: Maybe; + shop: CompanyShop; + status?: ReturnNoteStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + warehouse: CompanyWarehouse; +} + +export interface ShopReturnNoteConnection { + __typename?: 'ShopReturnNoteConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopSales { + __typename?: 'ShopSales'; + /** + * 銷售額 + */ + amount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + avgCount?: Scalars['Float']['output']; + /** + * 平均單價 = 銷售額 / 訂單 + */ + avgPrice?: Scalars['Float']['output']; + /** + * 賣出數量 + */ + count?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + /** + * 會員銷售額 + */ + memberAmount?: Scalars['Float']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; +} + +export interface ShopSalesConnection { + __typename?: 'ShopSalesConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopService { + __typename?: 'ShopService'; + active?: Scalars['Boolean']['output']; + autoConfirm?: Scalars['Boolean']['output']; + /** + * e.g. 30mins前可預約 + */ + availableSince?: Maybe; + bundleProduct?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + id?: Scalars['ID']['output']; + medias?: Maybe>; + metadata?: Maybe>; + name?: Scalars['String']['output']; + /** + * maximum sellable quantity + */ + quantity?: Maybe; + sections?: Maybe>; + /** + * 項目名稱, e.g. 地點, 服務 + */ + serviceLocationName?: Maybe; + serviceLocations: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopServiceLocationConnection; + shop: CompanyShop; + sku?: Scalars['String']['output']; + slots: (args?: { + cursor?: Maybe; + filter?: Maybe; + isAvailable?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ServiceLocationSlotConnection; + sortIndex?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + /** + * 生效日期 + */ + validSince?: Maybe; + /** + * 有效期至 + */ + validUntil?: Maybe; +} + +export interface ShopServiceBundle { + __typename?: 'ShopServiceBundle'; + active?: Scalars['Boolean']['output']; + availableForSale?: Scalars['Boolean']['output']; + collections: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => CollectionConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + hashtags?: Maybe>; + id?: Scalars['ID']['output']; + medias?: Maybe>; + metaDescription?: Maybe; + metaKeywords?: Maybe; + metaTitle?: Maybe; + metadata?: Maybe>; + name?: Scalars['String']['output']; + publishAt?: Maybe; + publishThru?: Maybe; + /** + * maximum sellable quantity + */ + quantity?: Maybe; + rewriteUri?: Maybe; + services: Array; + shop: CompanyShop; + sku?: Scalars['String']['output']; + slotRequiredAtCheckout?: Scalars['Boolean']['output']; + sortIndex?: Scalars['Int']['output']; + subtitle?: Maybe; + suggestedRetailPrice?: Scalars['Float']['output']; + unitPrice?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + validationStrategy?: Maybe; +} + +export interface ShopServiceBundleConnection { + __typename?: 'ShopServiceBundleConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopServiceConnection { + __typename?: 'ShopServiceConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopServiceLocation { + __typename?: 'ShopServiceLocation'; + address?: Maybe
; + appointments: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ShopAppointmentConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + /** + * slot duration, 15mins or 30mins or 60mins... + */ + durationMins?: Scalars['Int']['output']; + id?: Scalars['ID']['output']; + /** + * 單次預約-最多可預約數量 + */ + maximumAvailableSlots?: Maybe; + medias?: Maybe>; + metadata?: Maybe>; + name?: Scalars['String']['output']; + services: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopServiceConnection; + shop: CompanyShop; + slotRules: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ServiceLocationSlotRuleConnection; + slots: (args?: { + cursor?: Maybe; + filter?: Maybe; + isAvailable?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ServiceLocationSlotConnection; + sortIndex?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopServiceLocationConnection { + __typename?: 'ShopServiceLocationConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopShippingProvider { + __typename?: 'ShopShippingProvider'; + active?: Maybe; + addresses?: Maybe>; + config?: Maybe; + countries?: Maybe>; + createdAt?: Maybe; + createdBy?: Maybe; + expressions?: Maybe>; + id?: Maybe; + metadata?: Maybe>; + name?: Maybe; + provider?: Maybe; + shop?: Maybe; + sortIndex?: Maybe; + updatedAt?: Maybe; + updatedBy?: Maybe; +} + +/** + * A shipping zone setting, pairing up countries and shipping methods (providers). + */ +export interface ShopShippingZone { + __typename?: 'ShopShippingZone'; + active?: Scalars['Boolean']['output']; + addresses?: Maybe>; + config?: Maybe; + countries?: Array; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + expressions: Array; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + name?: Scalars['String']['output']; + provider?: ShippingZoneProvider; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopShippingZoneConnection { + __typename?: 'ShopShippingZoneConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopTable { + __typename?: 'ShopTable'; + checkouts: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopCheckoutConnection; + /** + * CIRCLE: [ x, y, radius ] + * POLYGON: [ x1, y1, x2, y2, x3, y3, ... ] + */ + color?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + /** + * @deprecated Use `venue` instead + */ + group?: Maybe; + id?: Scalars['ID']['output']; + /** + * @deprecated Use `metadata` instead + */ + meta?: Maybe; + metadata?: Maybe>; + name?: Scalars['String']['output']; + shape?: Maybe; + shapeData?: Maybe>; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + status?: TableStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + venue: ShopVenue; +} + +export interface ShopTableConnection { + __typename?: 'ShopTableConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface ShopTaxZone { + __typename?: 'ShopTaxZone'; + countries?: Array; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + shop: CompanyShop; + taxRate?: Scalars['Float']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopTaxZoneConnection { + __typename?: 'ShopTaxZoneConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface ShopVenue { + __typename?: 'ShopVenue'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + media?: Maybe; + metadata?: Maybe>; + name?: Scalars['String']['output']; + shop: CompanyShop; + sortIndex?: Scalars['Int']['output']; + tables: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopTableConnection; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface ShopVenueConnection { + __typename?: 'ShopVenueConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface StockAdjustmentItem { + __typename?: 'StockAdjustmentItem'; + cost?: Scalars['Float']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + sku?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface StockAdjustmentItemConnection { + __typename?: 'StockAdjustmentItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface StockMovement { + __typename?: 'StockMovement'; + active?: Scalars['Boolean']['output']; + combination?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + direction?: StockMovementDirection; + id?: Scalars['ID']['output']; + quantity?: Scalars['Int']['output']; + /** + * typename#{id}, e.g. ShopCheckouts#UUID + */ + reference?: Maybe; + referenceSourceNo?: Maybe; + sku?: Scalars['String']['output']; + status?: StockMovementStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface StockMovementConnection { + __typename?: 'StockMovementConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface StockTransferItem { + __typename?: 'StockTransferItem'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + id?: Scalars['ID']['output']; + metadata?: Maybe>; + productVariation?: Maybe; + quantity?: Scalars['Int']['output']; + receivedQuantity?: Scalars['Int']['output']; + remark?: Maybe; + sku?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface StockTransferItemConnection { + __typename?: 'StockTransferItemConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface TopSalesProduct { + __typename?: 'TopSalesProduct'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; + product?: Maybe; + productName?: Scalars['String']['output']; +} + +export interface TopSalesVariations { + __typename?: 'TopSalesVariations'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; + orderCount?: Scalars['Int']['output']; + variation: ProductVariation; +} + +export interface TotalCollectionSales { + __typename?: 'TotalCollectionSales'; + /** + * 所有.銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 所有.平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 所有.平均售價 = 銷售額 / 賣出數量 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 所有.轉化率 = 訂單 / 點擊率 + */ + totalConversionRate?: Scalars['Float']['output']; + /** + * 所有.賣出數量 + */ + totalCount?: Scalars['Float']['output']; + /** + * 所有.點擊率 + */ + totalHitRate?: Scalars['Int']['output']; + /** + * 所有.訂單 + */ + totalOrder?: Scalars['Int']['output']; + /** + * 所有.瀏覽量 + */ + totalPageView?: Scalars['Int']['output']; +} + +export interface TotalCouponSales { + __typename?: 'TotalCouponSales'; + /** + * 所有.銷售額(折扣後) + */ + totalAmount?: Scalars['Float']['output']; + /** + * 所有.平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 所有.平均訂單價 = 銷售額 / 訂單 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 所有.賣出數量(產品) + */ + totalCount?: Scalars['Float']['output']; + /** + * 所有.折扣金額 + */ + totalDiscountAmount?: Scalars['Float']['output']; + /** + * 所有.訂單 + */ + totalOrder?: Scalars['Int']['output']; + /** + * 所有.派出數量 + */ + totalRedeemCount?: Scalars['Int']['output']; + /** + * 所有.使用數量 + */ + totalUsageCount?: Scalars['Int']['output']; +} + +export interface TotalDiscountSales { + __typename?: 'TotalDiscountSales'; + /** + * 所有.銷售額(折扣後) + */ + totalAmount?: Scalars['Float']['output']; + /** + * 所有.平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 所有.平均訂單價 = 銷售額 / 訂單 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 所有.賣出數量(產品) + */ + totalCount?: Scalars['Float']['output']; + /** + * 所有.折扣金額 + */ + totalDiscountAmount?: Scalars['Float']['output']; + /** + * 所有.訂單 + */ + totalOrder?: Scalars['Int']['output']; + /** + * 所有.使用數量 + */ + totalUsageCount?: Scalars['Int']['output']; +} + +export interface TotalItemSales { + __typename?: 'TotalItemSales'; + amount?: Scalars['Float']['output']; + count?: Scalars['Int']['output']; + orderCount?: Scalars['Int']['output']; +} + +export interface TotalMemberTierSales { + __typename?: 'TotalMemberTierSales'; + /** + * 銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 平均消費 = 銷售額 / 訂單 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 賣出數量(產品) + */ + totalCount?: Scalars['Int']['output']; + /** + * 總人數 + */ + totalMemberCount?: Scalars['Int']['output']; + /** + * 新註冊人數 + */ + totalNewMemberCount?: Scalars['Int']['output']; + /** + * 訂單 + */ + totalOrder?: Scalars['Int']['output']; +} + +export interface TotalProductSales { + __typename?: 'TotalProductSales'; + /** + * 所有.銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 所有.平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 所有.平均售價 = 銷售額 / 賣出數量 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 所有.轉化率 = 訂單 / 點擊率 + */ + totalConversionRate?: Scalars['Float']['output']; + /** + * 所有.賣出數量 + */ + totalCount?: Scalars['Float']['output']; + /** + * 所有.點擊率 + */ + totalHitRate?: Scalars['Int']['output']; + /** + * 所有.訂單 + */ + totalOrder?: Scalars['Int']['output']; + /** + * 所有.瀏覽量 + */ + totalPageView?: Scalars['Int']['output']; +} + +export interface TotalSalespersonSales { + __typename?: 'TotalSalespersonSales'; + /** + * 銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 平均消費 = 銷售額 / 訂單 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 賣出數量(產品) + */ + totalCount?: Scalars['Int']['output']; + /** + * 訂單 + */ + totalOrder?: Scalars['Int']['output']; +} + +export interface TotalShopSales { + __typename?: 'TotalShopSales'; + /** + * 銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 平均消費 = 銷售額 / 訂單 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 賣出數量(產品) + */ + totalCount?: Scalars['Int']['output']; + /** + * 會員銷售額 + */ + totalMemberAmount?: Scalars['Float']['output']; + /** + * 非會員銷售額 + */ + totalNonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + totalOrder?: Scalars['Int']['output']; +} + +export interface TotalVariationSales { + __typename?: 'TotalVariationSales'; + /** + * 所有.銷售額 + */ + totalAmount?: Scalars['Float']['output']; + /** + * 所有.平均購買數量 = 賣出數量 / 訂單 + */ + totalAvgCount?: Scalars['Float']['output']; + /** + * 所有.平均售價 = 銷售額 / 賣出數量 + */ + totalAvgPrice?: Scalars['Float']['output']; + /** + * 所有.賣出數量 + */ + totalCount?: Scalars['Float']['output']; + /** + * 所有.訂單 + */ + totalOrder?: Scalars['Int']['output']; } -export enum CacheControlScope { - PRIVATE = 'PRIVATE', - PUBLIC = 'PUBLIC', +export interface User { + __typename?: 'User'; + addresses: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => UserAddressConnection; + agencyServices: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => AgencyServiceConnection; + blocked?: Scalars['Boolean']['output']; + channels: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => ChannelConnection; + companies: (args?: { + cursor?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => CompanyConnection; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + devices: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopDeviceConnection; + email?: Scalars['AWSEmail']['output']; + id?: Scalars['ID']['output']; + isEmailVerified?: Scalars['Boolean']['output']; + isPhoneNumberVerified?: Scalars['Boolean']['output']; + lastLogin?: Maybe; + metadata?: Maybe; + name?: Scalars['String']['output']; + permissions: Array; + phoneNumber?: Maybe; + picture?: Maybe; + shops: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ShopConnection; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; } -export interface FilterCharacter { - gender?: InputMaybe; - name?: InputMaybe; - species?: InputMaybe; - status?: InputMaybe; - type?: InputMaybe; +export interface UserAddress { + __typename?: 'UserAddress'; + country?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + email?: Maybe; + id?: Scalars['ID']['output']; + isDefault?: Scalars['Boolean']['output']; + lines?: Maybe>; + name?: Maybe; + person?: Maybe; + tel?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; } -export interface FilterEpisode { - episode?: InputMaybe; - name?: InputMaybe; +export interface UserAddressConnection { + __typename?: 'UserAddressConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; } -export interface FilterLocation { - dimension?: InputMaybe; - name?: InputMaybe; - type?: InputMaybe; +export interface UserCard { + __typename?: 'UserCard'; + active?: Scalars['Boolean']['output']; + card?: Scalars['AWSJSON']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + default?: Scalars['Boolean']['output']; + id?: Scalars['ID']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + user: User; } -export const scalarsEnumsHash: import('gqty').ScalarsEnumsHash = { - Boolean: true, - CacheControlScope: true, - ID: true, - Int: true, - String: true, - Upload: true, -}; -export const generatedSchema = { - Character: { - __typename: { __type: 'String!' }, - created: { __type: 'String' }, - episode: { __type: '[Episode]!' }, - gender: { __type: 'String' }, - id: { __type: 'ID' }, - image: { __type: 'String' }, - location: { __type: 'Location' }, - name: { __type: 'String' }, - origin: { __type: 'Location' }, - species: { __type: 'String' }, - status: { __type: 'String' }, - type: { __type: 'String' }, - }, - Characters: { - __typename: { __type: 'String!' }, - info: { __type: 'Info' }, - results: { __type: '[Character]' }, - }, - Episode: { - __typename: { __type: 'String!' }, - air_date: { __type: 'String' }, - characters: { __type: '[Character]!' }, - created: { __type: 'String' }, - episode: { __type: 'String' }, - id: { __type: 'ID' }, - name: { __type: 'String' }, - }, - Episodes: { - __typename: { __type: 'String!' }, - info: { __type: 'Info' }, - results: { __type: '[Episode]' }, - }, - FilterCharacter: { - gender: { __type: 'String' }, - name: { __type: 'String' }, - species: { __type: 'String' }, - status: { __type: 'String' }, - type: { __type: 'String' }, - }, - FilterEpisode: { episode: { __type: 'String' }, name: { __type: 'String' } }, - FilterLocation: { - dimension: { __type: 'String' }, - name: { __type: 'String' }, - type: { __type: 'String' }, - }, - Info: { - __typename: { __type: 'String!' }, - count: { __type: 'Int' }, - next: { __type: 'Int' }, - pages: { __type: 'Int' }, - prev: { __type: 'Int' }, - }, - Location: { - __typename: { __type: 'String!' }, - created: { __type: 'String' }, - dimension: { __type: 'String' }, - id: { __type: 'ID' }, - name: { __type: 'String' }, - residents: { __type: '[Character]!' }, - type: { __type: 'String' }, - }, - Locations: { - __typename: { __type: 'String!' }, - info: { __type: 'Info' }, - results: { __type: '[Location]' }, - }, - mutation: {}, - query: { - __typename: { __type: 'String!' }, - character: { __type: 'Character', __args: { id: 'ID!' } }, - characters: { - __type: 'Characters', - __args: { filter: 'FilterCharacter', page: 'Int' }, - }, - charactersByIds: { __type: '[Character]', __args: { ids: '[ID!]!' } }, - episode: { __type: 'Episode', __args: { id: 'ID!' } }, - episodes: { - __type: 'Episodes', - __args: { filter: 'FilterEpisode', page: 'Int' }, - }, - episodesByIds: { __type: '[Episode]', __args: { ids: '[ID!]!' } }, - location: { __type: 'Location', __args: { id: 'ID!' } }, - locations: { - __type: 'Locations', - __args: { filter: 'FilterLocation', page: 'Int' }, - }, - locationsByIds: { __type: '[Location]', __args: { ids: '[ID!]!' } }, - }, - subscription: {}, -} as const; - -export interface Character { - __typename?: 'Character'; +export interface UserConnection { + __typename?: 'UserConnection'; /** - * Time at which the character was created in the database. + * Encoded cursor for pagination if more records are available. */ - created?: Maybe; + nextCursor?: Maybe; /** - * Episodes in which this character appeared. + * Actual data nodes in this page. */ - episode: Array>; + nodes: Array; /** - * The gender of the character ('Female', 'Male', 'Genderless' or 'unknown'). + * Total collection count of the current collection. */ - gender?: Maybe; + totalCount?: Scalars['Int']['output']; +} + +export interface UserCoupon { + __typename?: 'UserCoupon'; + coupon: CompanyCoupon; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + customer?: Maybe; + handle?: Scalars['String']['output']; + id?: Scalars['ID']['output']; + status?: UserCouponStatus; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + usage?: Scalars['Int']['output']; + usedAt?: Maybe; /** - * The id of the character. + * @deprecated Use customer instead */ - id?: Maybe; + user?: Maybe; + validAt?: Maybe; + validThru?: Maybe; +} + +export interface UserCouponConnection { + __typename?: 'UserCouponConnection'; /** - * Link to the character's image. - * All images are 300x300px and most are medium shots or portraits since they are intended to be used as avatars. + * Encoded cursor for pagination if more records are available. */ - image?: Maybe; + nextCursor?: Maybe; /** - * The character's last known location + * Actual data nodes in this page. */ - location?: Maybe; + nodes: Array; /** - * The name of the character. + * Total collection count of the current collection. */ - name?: Maybe; + totalCount?: Scalars['Int']['output']; +} + +export interface UserOrCustomer { + __typename?: 'Customer' | 'User'; + $on: $UserOrCustomer; +} + +export interface UserReport { + __typename?: 'UserReport'; /** - * The character's origin location + * @deprecated handled by frontend */ - origin?: Maybe; + averageConsumption?: Scalars['Float']['output']; + turnover?: Scalars['Float']['output']; + volume?: Scalars['Int']['output']; +} + +export interface VariationConnection { + __typename?: 'VariationConnection'; /** - * The species of the character. + * Encoded cursor for pagination if more records are available. */ - species?: Maybe; + nextCursor?: Maybe; /** - * The status of the character ('Alive', 'Dead' or 'unknown'). + * Actual data nodes in this page. */ - status?: Maybe; + nodes: Array; /** - * The type or subspecies of the character. + * Total collection count of the current collection. */ - type?: Maybe; -} - -export interface Characters { - __typename?: 'Characters'; - info?: Maybe; - results?: Maybe>>; + totalCount?: Scalars['Int']['output']; } -export interface Episode { - __typename?: 'Episode'; +export interface VariationSales { + __typename?: 'VariationSales'; /** - * The air date of the episode. + * 銷售額 */ - air_date?: Maybe; + amount?: Scalars['Float']['output']; /** - * List of characters who have been seen in the episode. + * 平均購買數量 = 賣出數量 / 訂單 */ - characters: Array>; + avgCount?: Scalars['Float']['output']; /** - * Time at which the episode was created in the database. + * 平均單價 = 銷售額 / 賣出數量 */ - created?: Maybe; + avgPrice?: Scalars['Float']['output']; + barcode?: Maybe; + barcodes?: Maybe>; /** - * The code of the episode. + * 賣出數量 */ - episode?: Maybe; + count?: Scalars['Int']['output']; /** - * The id of the episode. + * 地區分佈 */ - id?: Maybe; + countries: Array; + id?: Scalars['ID']['output']; /** - * The name of the episode. + * 會員銷售額 */ - name?: Maybe; -} - -export interface Episodes { - __typename?: 'Episodes'; - info?: Maybe; - results?: Maybe>>; + memberAmount?: Scalars['Float']['output']; + /** + * 會員級別消費 + */ + memberLevelAmounts: Array; + /** + * 會員級別分佈 + */ + memberLevels: Array; + name?: Scalars['String']['output']; + /** + * 非會員銷售額 + */ + nonMemberAmount?: Scalars['Float']['output']; + /** + * 訂單 + */ + orderCount?: Scalars['Int']['output']; + /** + * 銷售點分佈 + */ + salesPoints: Array; + /** + * 銷售記錄 + */ + salesRecords: (args?: { + cursor?: Maybe; + limits?: Maybe; + query?: Maybe; + sortBy?: Maybe>; + }) => ProductSalesRecordConnection; + /** + * 銷售趨勢 + */ + salesTrends: Array; + shopId?: Scalars['ID']['output']; + sku?: Scalars['String']['output']; } -export interface Info { - __typename?: 'Info'; +export interface VariationSalesConnection { + __typename?: 'VariationSalesConnection'; /** - * The length of the response. + * Encoded cursor for pagination if more records are available. */ - count?: Maybe; + nextCursor?: Maybe; /** - * Number of the next page (if it exists) + * Actual data nodes in this page. */ - next?: Maybe; + nodes: Array; /** - * The amount of pages. + * Total collection count of the current collection. */ - pages?: Maybe; + totalCount?: Scalars['Int']['output']; +} + +export interface VariationStock { + __typename?: 'VariationStock'; + quantity?: Scalars['Int']['output']; + sku?: Scalars['String']['output']; +} + +export interface VariationStockConnection { + __typename?: 'VariationStockConnection'; + /** + * Encoded cursor for pagination if more records are available. + */ + nextCursor?: Maybe; + /** + * Actual data nodes in this page. + */ + nodes: Array; /** - * Number of the previous page (if it exists) + * Total collection count of the current collection. */ - prev?: Maybe; + totalCount?: Scalars['Int']['output']; } -export interface Location { - __typename?: 'Location'; +export interface WarehouseConnection { + __typename?: 'WarehouseConnection'; /** - * Time at which the location was created in the database. + * Encoded cursor for pagination if more records are available. */ - created?: Maybe; + nextCursor?: Maybe; /** - * The dimension in which the location is located. + * Actual data nodes in this page. */ - dimension?: Maybe; + nodes: Array; + /** + * Total collection count of the current collection. + */ + totalCount?: Scalars['Int']['output']; +} + +export interface WarehouseQuantity { + __typename?: 'WarehouseQuantity'; + quantity?: Scalars['Int']['output']; + warehouse: CompanyWarehouse; + /** + * @deprecated Use warehouse instead. + */ + warehouseId?: Scalars['ID']['output']; +} + +/** + * Webhook requests will always be a HTTP POST request with specified JSON payload. + */ +export interface Webhook { + __typename?: 'Webhook'; /** - * The id of the location. + * Webhooks enabled from a successful ping. */ - id?: Maybe; + active?: Scalars['Boolean']['output']; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; /** - * The name of the location. + * The event subscribed to this webhook, formatted in glob pattern for wildcards. */ - name?: Maybe; + event?: Scalars['String']['output']; + id?: Scalars['ID']['output']; /** - * List of characters who have been last seen in the location. + * GraphQL query to specify the event payload sent. */ - residents: Array>; + query?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; /** - * The type of the location. + * Target URI to be invoked when a matching event happens. */ - type?: Maybe; + uri?: Scalars['AWSURL']['output']; } -export interface Locations { - __typename?: 'Locations'; - info?: Maybe; - results?: Maybe>>; +export interface WishItem { + __typename?: 'WishItem'; + bundleProduct?: Maybe; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + id?: Scalars['ID']['output']; + product?: Maybe; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; + wishlist: Wishlist; } -export interface Mutation { - __typename?: 'Mutation'; +export interface WishItemConnection { + __typename?: 'WishItemConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; } -export interface Query { - __typename?: 'Query'; +export interface Wishlist { + __typename?: 'Wishlist'; + createdAt?: Scalars['AWSDateTime']['output']; + createdBy?: Maybe; + description?: Maybe; + id?: Scalars['ID']['output']; + isDefault?: Scalars['Boolean']['output']; + items: (args?: { + cursor?: Maybe; + filter?: Maybe; + limits?: Maybe; + sortBy?: Maybe>; + }) => WishItemConnection; + name?: Scalars['String']['output']; + updatedAt?: Scalars['AWSDateTime']['output']; + updatedBy?: Maybe; +} + +export interface WishlistConnection { + __typename?: 'WishlistConnection'; + nextCursor?: Maybe; + nodes: Array; + totalCount?: Scalars['Int']['output']; +} + +export interface Mutation { + __typename?: 'Mutation'; + addOnProductSet: (args: { + id?: Maybe; + input: AddOnProductInput; + }) => ShopAddOnProduct; + addOnProductUnset: (args: { id: Scalars['ID']['input'] }) => ShopAddOnProduct; + addOnProductsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + addOnProductsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + addOnProductsDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + addOnProductsPriceAdjust: (args: { + filter?: Maybe; + operator: BatchOperator; + query?: Maybe; + safetyThreshold?: Maybe; + shopId: Scalars['ID']['input']; + value: Scalars['Float']['input']; + }) => Process; + addOnProductsQuantitySet: (args: { + filter?: Maybe; + operator: BatchOperator; + quantity: Scalars['Int']['input']; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + agentServiceSet: (args: { + id?: Maybe; + input: AgencyServiceInput; + }) => AgencyService; + agentServiceUnset: (args: { id: Scalars['ID']['input'] }) => AgencyService; + appointmentAttend: (args: { id: Scalars['ID']['input'] }) => ShopAppointment; + appointmentCancel: (args: { id: Scalars['ID']['input'] }) => ShopAppointment; + appointmentConfirm: (args: { id: Scalars['ID']['input'] }) => ShopAppointment; + appointmentCreate: (args: { + input: AppointmentCreateInput; + }) => ShopAppointment; + appointmentNoShow: (args: { id: Scalars['ID']['input'] }) => ShopAppointment; + appointmentUpdate: (args: { + id: Scalars['ID']['input']; + input: AppointmentUpdateInput; + }) => ShopAppointment; + attendanceCreate: (args: { input: AttendanceCreateInput }) => ShopAttendance; + attendancesExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + bundleProductCreate: (args: { + input: BundleProductCreateInput; + }) => ShopBundleProduct; + bundleProductDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopBundleProduct; + bundleProductUpdate: (args: { + id: Scalars['ID']['input']; + input: BundleProductUpdateInput; + }) => ShopBundleProduct; + campaignActivate: (args: { id: Scalars['ID']['input'] }) => ShopCampaign; + campaignDeactivate: (args: { id: Scalars['ID']['input'] }) => ShopCampaign; + /** + * Exports current delivery report of the specified campaign. + */ + campaignDeliveryReportExport: (args: { + id: Scalars['ID']['input']; + }) => Process; + campaignMessageSend: (args: { + id: Scalars['ID']['input']; + isResend?: Maybe; + }) => ShopCampaign; + campaignRecipientActionsExport: (args: { + id: Scalars['ID']['input']; + }) => Process; + campaignSet: (args: { + id?: Maybe; + input: CampaignSetInput; + }) => ShopCampaign; + campaignUnset: (args: { id: Scalars['ID']['input'] }) => ShopCampaign; + /** + * Bulk actions + */ + campaignsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + campaignsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + campaignsDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + cashFlowCreate: (args: { input: CashFlowInput }) => ShopCashFlow; + cashVoucherSet: (args: { + id?: Maybe; + input: CashVoucherSetInput; + }) => CompanyCashVoucher; + cashVoucherUnset: (args: { + id: Scalars['ID']['input']; + }) => CompanyCashVoucher; + cashVouchersActivate: (args: { + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + cashVouchersDeactivate: (args: { + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + cashVouchersDelete: (args: { + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + channelMessageRead: (args: { + channelPlayerId: Scalars['String']['input']; + messageId: Scalars['ID']['input']; + }) => ChannelMessage; + channelMessageSet: (args: { + id?: Maybe; + input: ChannelMessageSetInput; + }) => ChannelMessage; + channelPlayerSet: (args: { + id?: Maybe; + input: ChannelPlayerSetInput; + }) => ChannelPlayer; + channelPlayerUnset: (args: { + channelId: Scalars['ID']['input']; + id: Scalars['String']['input']; + }) => ChannelPlayer; + /** + * You can use playerId or userId or just id to reproduce the read behaviour + * Return the latest message. + */ + channelRead: (args: { + channelId: Scalars['ID']['input']; + channelPlayerId: Scalars['String']['input']; + }) => ChannelMessage; + channelSet: (args: { + id?: Maybe; + input: ChannelSetInput; + }) => Channel; + channelUnset: (args: { id: Scalars['ID']['input'] }) => Channel; + checkoutCancel: (args: { id: Scalars['ID']['input'] }) => ShopCheckout; + checkoutCashVoucherSet: (args: { + id: Scalars['ID']['input']; + input: CheckoutCashVoucherInput; + }) => ShopCheckout; + /** + * Adds a coupon by id or code into a checkout. + */ + checkoutCouponSet: (args: { + couponId?: Maybe; + handle?: Maybe; + id: Scalars['ID']['input']; + }) => ShopCheckout; + /** + * Remove a previously added coupon from checkout. + */ + checkoutCouponUnset: (args: { + checkoutCouponId?: Maybe; + handle?: Maybe; + id: Scalars['ID']['input']; + }) => ShopCheckout; + checkoutCreateOffline: (args: { + input: CheckoutCreateOfflineInput; + }) => ShopCheckout; + checkoutItemSet: (args: { + id: Scalars['ID']['input']; + input: CheckoutItemInput; + operator: CheckoutItemSetOperator; + progressive?: Maybe; + softDelete?: Maybe; + }) => ShopCheckout; + checkoutItemsCreate: (args: { + id: Scalars['ID']['input']; + input: Array; + progressive?: Maybe; + }) => ShopCheckout; + checkoutItemsDelete: (args: { + checkoutItemIds: Array; + id: Scalars['ID']['input']; + }) => ShopCheckout; + checkoutPay: (args: { + id: Scalars['ID']['input']; + idempotencyKey?: Maybe; + input: CheckoutPayInput; + }) => ShopCheckout; + checkoutPriceRecalculate: (args: { + id: Scalars['ID']['input']; + }) => ShopCheckout; + /** + * Stock checking and locking the checkout + */ + checkoutProcess: (args: { + addOnProductInputs?: Maybe>; + id: Scalars['ID']['input']; + }) => ShopCheckout; + checkoutSet: (args: { + id?: Maybe; + input: CheckoutInput; + }) => ShopCheckout; + collectionParentSet: (args: { + input: Array; + }) => Array; + collectionSet: (args: { + id?: Maybe; + input: CollectionInput; + }) => ShopCollection; + collectionUnset: (args: { id: Scalars['ID']['input'] }) => ShopCollection; + collectionsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + collectionsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Export existing collections in a shop into a XLSX file. + */ + collectionsExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + collectionsImport: (args: { + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + collectionsReportExport: (args: { + exportShopIds?: Maybe>; + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + /** + * Delete collections in bulk. + */ + collectionsUnset: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + companyCouponSet: (args: { + id?: Maybe; + input: CouponInput; + subCouponInput?: Maybe; + }) => CompanyCoupon; + companyCouponUnset: (args: { id: Scalars['ID']['input'] }) => CompanyCoupon; + companyDiscountSet: (args: { + id?: Maybe; + input: DiscountInput; + }) => CompanyDiscount; + companyDiscountUnset: (args: { + id: Scalars['ID']['input']; + }) => CompanyDiscount; + companyMemberTierSet: (args: { + id?: Maybe; + input: CompanyMemberTierInput; + }) => CompanyMemberTier; + companyMemberTierUnset: (args: { + id: Scalars['ID']['input']; + }) => CompanyMemberTier; + companyPaymentSourceDelete: (args: { + companyId: Scalars['ID']['input']; + id: Scalars['ID']['input']; + }) => PaymentSource; + companyShopActivate: (args: { id: Scalars['ID']['input'] }) => CompanyShop; + companyShopCreate: (args: { + companyId: Scalars['ID']['input']; + credential?: Maybe; + input: CompanyShopInput; + }) => CompanyShop; + companyShopDeactivate: (args: { id: Scalars['ID']['input'] }) => CompanyShop; + /** + * @deprecated Use companyShopUpdate instead + */ + companyShopSet: (args: { + id: Scalars['ID']['input']; + input: CompanyShopInput; + }) => CompanyShop; + /** + * Update shop settings. + */ + companyShopUpdate: (args: { + id: Scalars['ID']['input']; + input: CompanyShopInput; + }) => CompanyShop; + companyUpdate: (args: { + id: Scalars['ID']['input']; + input: CompanyUpdateInput; + }) => Company; /** - * Get a specific character by ID + * Creates a webhook, server will send a test event payload upon creation. + * Webhooks are automatically set to active on a successful ping. */ - character: (args: { id: Scalars['ID'] }) => Maybe; + companyWebhookSet: (args: { + event: Scalars['String']['input']; + id: Scalars['ID']['input']; + query: Scalars['String']['input']; + uri: Scalars['String']['input']; + }) => Webhook; + couponRedeem: (args: { + couponId: Scalars['ID']['input']; + userId?: Maybe; + }) => UserCoupon; + couponsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + couponsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + couponsDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + couponsReportExport: (args: { + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; /** - * Get the list of all characters + * @deprecated Use `credentialSet` instead. */ - characters: (args?: { - filter?: Maybe; - page?: Maybe; - }) => Maybe; + credentialEFTPaySet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; /** - * Get a list of characters selected by ids + * @deprecated Use `credentialSet` instead. */ - charactersByIds: (args: { - ids: Array; - }) => Maybe>>; + credentialKConnectSet: (args: { + input: ShopAuthenticationCredentialInput; + shopId: Scalars['ID']['input']; + }) => ShopCredential; /** - * Get a specific episode by ID + * @deprecated Use `credentialSet` instead. */ - episode: (args: { id: Scalars['ID'] }) => Maybe; + credentialKPayPosSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; /** - * Get the list of all episodes + * @deprecated Use `credentialSet` instead. */ - episodes: (args?: { - filter?: Maybe; - page?: Maybe; - }) => Maybe; + credentialKPaySet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; /** - * Get a list of episodes selected by ids + * @deprecated Use `credentialSet` instead. */ - episodesByIds: (args: { - ids: Array; - }) => Maybe>>; + credentialManualSet: (args: { + input: ShopManualCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; /** - * Get a specific locations by ID + * @deprecated Use `credentialSet` instead. */ - location: (args: { id: Scalars['ID'] }) => Maybe; + credentialOCGCSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; /** - * Get the list of all locations + * @deprecated Use `credentialSet` instead. */ - locations: (args?: { - filter?: Maybe; - page?: Maybe; - }) => Maybe; + credentialSFExpressSet: (args: { + input: ShopShippingCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + credentialSet: (args: { + id?: Maybe; + input: CredentialSetInput; + }) => ShopCredential; /** - * Get a list of locations selected by ids + * @deprecated Use `credentialSet` instead. */ - locationsByIds: (args: { - ids: Array; - }) => Maybe>>; + credentialSmartPaySet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + /** + * @deprecated Use `credentialSet` instead. + */ + credentialStripeConnectRegister: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + /** + * @deprecated Use `credentialSet` instead. + */ + credentialStripeConnectSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + /** + * @deprecated Use `credentialSet` instead. + */ + credentialStripeSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + /** + * @deprecated Use `credentialSet` instead. + */ + credentialSwiftPassSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + credentialUnset: (args: { id: Scalars['ID']['input'] }) => ShopCredential; + /** + * @deprecated Use `credentialSet` instead. + */ + credentialUprisePaymentSet: (args: { + input: ShopPaymentCredentialInput; + shopId: Scalars['ID']['input']; + }) => Array; + customerAddressCreate: (args: { + input: CustomerAddressCreateInput; + }) => CustomerAddress; + customerAddressDelete: (args: { + id: Scalars['ID']['input']; + }) => CustomerAddress; + customerAddressUpdate: (args: { + id: Scalars['ID']['input']; + input: CustomerAddressUpdateInput; + }) => CustomerAddress; + customerBlock: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + }) => Customer; + customerCouponVoid: (args: { + couponId: Scalars['ID']['input']; + }) => UserCoupon; + /** + * SET: Assign a new points. + */ + customerGiftPointsSet: (args: { + id: Scalars['ID']['input']; + points: Scalars['Int']['input']; + remarks?: Maybe; + shopId: Scalars['ID']['input']; + }) => Customer; + customerPaymentSourceCreate: (args: { + credentialId: Scalars['String']['input']; + token: Scalars['String']['input']; + }) => PaymentSource; + customerPaymentSourceDelete: (args: { + id: Scalars['ID']['input']; + }) => PaymentSource; + /** + * Sends a password resetting token via email to the customer. + */ + customerRecover: (args: { + email: Scalars['AWSEmail']['input']; + }) => Maybe; + /** + * Sends a password resetting code via SMS to the customer. + */ + customerRecoverByMobile: (args?: { + mobile?: Maybe; + mobileV2?: Maybe; + }) => Maybe; + /** + * 1. A verification email will be sent to the user if an email address is specified. + * 2. A verification SMS will be sent to the user if a mobile number is specified. + */ + customerRegister: (args: { + credential: CustomerCredentialInput; + input: CustomerProfileInput; + shopId?: Maybe; + }) => Customer; + /** + * Resetting a customer's password with the token received via email or SMS. + */ + customerReset: (args: { + password: Scalars['String']['input']; + token: Scalars['String']['input']; + }) => Maybe; + customerUnblock: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + }) => Customer; + /** + * Admin, or merchants maintaining their private customers details. + */ + customerUpdate: (args: { + credential?: Maybe; + id: Scalars['ID']['input']; + input: CustomerProfileInput; + shopId: Scalars['ID']['input']; + }) => Customer; + customerVerify: (args: { token: Scalars['String']['input'] }) => Customer; + /** + * Export existing members filtered from specified filter into excel format. + */ + customersExport: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + timezone?: Maybe; + }) => Process; + customersGiftPointsExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + timezone?: Maybe; + }) => Process; + customersGiftPointsSet: (args: { + filter?: Maybe; + operator: BatchOperator; + points: Scalars['Int']['input']; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + customersHashtagsSet: (args: { + filter?: Maybe; + hashtags: Array; + operator: BatchAssignmentOperator; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Import customers from a publicly accessible URL, data-uri can be used but is not recommended for large files. + */ + customersImport: (args: { + shopId: Scalars['ID']['input']; + timezone?: Maybe; + url: Scalars['AWSURL']['input']; + }) => Process; + customersMemberTierSet: (args: { + filter?: Maybe; + input: UserMemberTierSetInput; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + customersUpdateImport: (args: { + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + deliveryNoteComplete: (args: { + id: Scalars['ID']['input']; + }) => OrderDeliveryNote; + deliveryNoteCreate: (args: { + input: DeliveryNoteCreateInput; + }) => OrderDeliveryNote; + deliveryNoteProcess: (args: { + id: Scalars['ID']['input']; + }) => OrderDeliveryNote; + /** + * @deprecated Use deliveryNotesCreate Or deliveryNotesUpdate instead + */ + deliveryNoteSet: (args: { + id?: Maybe; + input: DeliveryNoteSetInput; + }) => OrderDeliveryNote; + deliveryNoteUpdate: (args: { + id: Scalars['ID']['input']; + input: DeliveryNoteUpdateInput; + }) => OrderDeliveryNote; + deliveryNoteVoid: (args: { id: Scalars['ID']['input'] }) => OrderDeliveryNote; + /** + * Mark delivery notes as completed in bulk. + */ + deliveryNotesComplete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Mark delivery notes as processing in bulk. + */ + deliveryNotesProcess: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Update delivery notes in bulk. + */ + deliveryNotesSet: (args: { + filter?: Maybe; + input: DeliveryNoteSetInput; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * POS update configs to backend. + */ + deviceConfigUpdate: (args: { + input: DeviceConfigUpdateInput; + }) => Scalars['Boolean']['output']; + discountsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + discountsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + discountsDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + discountsReportExport: (args: { + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + emailTemplateCreate: (args: { + input: ShopEmailTemplateCreateInput; + }) => ShopEmailTemplate; + emailTemplateDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopEmailTemplate; + emailTemplateUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopEmailTemplateUpdateInput; + }) => ShopEmailTemplate; + honorProductSerialsImport: (args: { + url: Scalars['String']['input']; + }) => Process; + ingredientSet: (args: { + id?: Maybe; + input: IngredientInput; + }) => Ingredient; + ingredientUnset: (args: { id: Scalars['ID']['input'] }) => Ingredient; + /** + * Creates or updates target process, reserved for internal use. + */ + internal_processSet: (args: { + id: Scalars['ID']['input']; + output?: Maybe; + status?: Maybe; + }) => Process; + inventoryReportExport: (args: { + exportShopIds?: Maybe>; + shopId: Scalars['ID']['input']; + }) => Process; + invoiceRefund: (args: { + amount?: Maybe; + id: Scalars['ID']['input']; + }) => OrderInvoice; + invoiceVoid: (args: { id: Scalars['ID']['input'] }) => OrderInvoice; + /** + * This function has a maximum document limit, only the first 100 results will be + * printed. + */ + invoicesPrint: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + sortBy?: Maybe>; + }) => Process; + modifierProductsAdd: (args: { + id: Scalars['ID']['input']; + productIds: Array; + }) => ShopProductModifier; + modifierProductsRemove: (args: { + id: Scalars['ID']['input']; + productIds: Array; + }) => ShopProductModifier; + navigationTemplateCreate: (args: { + input: NavigationTemplateCreateInput; + }) => ShopNavigationTemplate; + navigationTemplateDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopNavigationTemplate; + navigationTemplateUpdate: (args: { + id: Scalars['ID']['input']; + input: NavigationTemplateUpdateInput; + }) => ShopNavigationTemplate; + newsletterSubscribe: (args: { + id?: Maybe; + input: NewsletterSubscriptionSetInput; + }) => NewsletterSubscription; + newsletterUnset: (args: { + id: Scalars['ID']['input']; + }) => NewsletterSubscription; + orderAdjustmentAdd: (args: { + input: OrderAdjustmentInput; + orderId: Scalars['ID']['input']; + }) => ShopOrder; + orderAdjustmentRemove: (args: { id: Scalars['ID']['input'] }) => ShopOrder; + orderCancel: (args: { + id: Scalars['ID']['input']; + input: OrderCancelInput; + }) => ShopOrder; + orderCommentSet: (args: { + id?: Maybe; + input: OrderCommentInput; + }) => OrderComment; + orderCommentUnset: (args: { id: Scalars['ID']['input'] }) => OrderComment; + orderConfirm: (args: { id: Scalars['ID']['input'] }) => ShopOrder; + orderItemMetadataAdd: (args: { + id: Scalars['ID']['input']; + metadata: Array; + }) => ShopOrder; + orderItemMetadataRemove: (args: { + id: Scalars['ID']['input']; + keys: Array; + }) => ShopOrder; + orderItemRemarkUpdate: (args: { + id: Scalars['ID']['input']; + remark: Scalars['String']['input']; + }) => ShopOrder; + orderItemUnitPriceUpdate: (args: { + id: Scalars['ID']['input']; + unitPrice: Scalars['Float']['input']; + }) => ShopOrder; + orderKitchenStatusUpdate: (args: { + id: Scalars['ID']['input']; + status: ShopOrderKitchenStatus; + }) => ShopOrder; + /** + * Deduct customer's rewarded member points + */ + orderMemberPointsDeduct: (args: { + id: Scalars['ID']['input']; + points?: Maybe; + }) => ShopOrder; + orderRefund: (args: { + amount?: Maybe; + id: Scalars['ID']['input']; + }) => ShopOrder; + /** + * Resend order confirmation email + */ + orderResendConfirmationEmail: (args: { + id: Scalars['ID']['input']; + }) => ShopOrder; + orderUpdate: (args: { + id: Scalars['ID']['input']; + input: OrderUpdateInput; + }) => ShopOrder; + ordersActivate: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Cancel orders in bulk + */ + ordersCancel: (args: { + cancelReason?: Maybe; + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Confirm orders in bulk. + */ + ordersConfirm: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + ordersDeactivate: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Export existing orders in a company into a XLSX file. + */ + ordersExport: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * @deprecated Use `pagesDelete` instead. + */ + pageBulkAction: (args: { + action: PageBulkAction; + data?: Maybe; + filter: PageFilterInput; + shopId: Scalars['ID']['input']; + }) => Maybe; + pageSet: (args: { + id?: Maybe; + input: PageInput; + }) => ShopPage; + pageUnset: (args: { id: Scalars['ID']['input'] }) => ShopPage; + /** + * Delete pages in bulk. + */ + pagesDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Maybe; + paymentMethodActivate: (args: { + id: Scalars['ID']['input']; + }) => PaymentMethod; + paymentMethodCreate: (args: { + input: PaymentMethodCreateInput; + }) => PaymentMethod; + paymentMethodDeactivate: (args: { + id: Scalars['ID']['input']; + }) => PaymentMethod; + paymentMethodDelete: (args: { id: Scalars['ID']['input'] }) => PaymentMethod; + paymentMethodDisable: (args: { id: Scalars['ID']['input'] }) => PaymentMethod; + paymentMethodEnable: (args: { id: Scalars['ID']['input'] }) => PaymentMethod; + paymentMethodUpdate: (args: { + id: Scalars['ID']['input']; + input: PaymentMethodUpdateInput; + }) => PaymentMethod; + productModifierCreate: (args: { + input: ShopProductModifierCreateInput; + }) => ShopProductModifier; + productModifierDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopProductModifier; + productModifierUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopProductModifierUpdateInput; + }) => ShopProductModifier; + productReportExport: (args: { + exportShopIds?: Maybe>; + shopId: Scalars['ID']['input']; + sku: Scalars['String']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + /** + * Creates a Product when `id` is not specified, otherwise it updates. + */ + productSet: (args: { + allShop?: Maybe; + id?: Maybe; + input: ProductInput; + }) => ShopProduct; + /** + * *Note that products should never be deleted when operations (e.g. stock movements, orders... etc.) exists.* + */ + productUnset: (args: { id: Scalars['ID']['input'] }) => ShopProduct; + productsActivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsCollectionSet: (args: { + collectionCodes: Array; + collectionIds: Array; + filter?: Maybe; + operator: BatchAssignmentOperator; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsDeactivate: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Export products filtered from specified filter into excel format. + */ + productsExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsHashtagsSet: (args: { + filter?: Maybe; + hashtags: Array; + operator: BatchAssignmentOperator; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + /** + * Import products from a publicly accessible URL, data-uri can be used but is not recommended for large files. + */ + productsImport: (args: { + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + productsPriceAdjust: (args: { + filter?: Maybe; + operator: BatchOperator; + query?: Maybe; + safetyThreshold?: Maybe; + shopId: Scalars['ID']['input']; + value: Scalars['Float']['input']; + }) => Process; + productsQuantitySet: (args: { + filter?: Maybe; + operator: BatchOperator; + quantity: Scalars['Int']['input']; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsReportExport: (args: { + exportShopIds?: Maybe>; + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + productsSeoExport: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + productsSeoImport: (args: { + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + productsUpdateImport: (args: { + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + /** + * Update the current user's profile, can be used by both customers and merchants. + */ + profileUpdate: (args: { + credential?: Maybe; + input: ProfileUpdateInput; + }) => UserOrCustomer; + promotionCodesReportExport: (args: { + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + receiptTemplateCreate: (args: { + input: ShopReceiptTemplateCreateInput; + }) => ShopReceiptTemplate; + receiptTemplateDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopReceiptTemplate; + receiptTemplateUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopReceiptTemplateUpdateInput; + }) => ShopReceiptTemplate; + receivePurchaseCancel: (args: { + id: Scalars['ID']['input']; + }) => CompanyReceivePurchase; + receivePurchaseComplete: (args: { + id: Scalars['ID']['input']; + }) => CompanyReceivePurchase; + receivePurchaseCreate: (args: { + input: ReceivePurchaseCreateInput; + }) => CompanyReceivePurchase; + receivePurchaseExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + receivePurchaseImport: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + receivePurchaseUpdate: (args: { + id: Scalars['ID']['input']; + input: ReceivePurchaseUpdateInput; + }) => CompanyReceivePurchase; + receivePurchaseVoid: (args: { + id: Scalars['ID']['input']; + }) => CompanyReceivePurchase; + returnNoteApprove: (args: { id: Scalars['ID']['input'] }) => ShopReturnNote; + returnNoteCancel: (args: { id: Scalars['ID']['input'] }) => ShopReturnNote; + returnNoteComplete: (args: { id: Scalars['ID']['input'] }) => ShopReturnNote; + /** + * POS will create and complete automatically. + */ + returnNoteCreate: (args: { input: ReturnNoteCreateInput }) => ShopReturnNote; + returnNoteReject: (args: { id: Scalars['ID']['input'] }) => ShopReturnNote; + returnNoteUpdate: (args: { + id: Scalars['ID']['input']; + input: ReturnNoteUpdateInput; + }) => ShopReturnNote; + returnNotesExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + serviceBundleCreate: (args: { + input: ServiceBundleCreateInput; + }) => ShopServiceBundle; + serviceBundleDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopServiceBundle; + serviceBundleUpdate: (args: { + id: Scalars['ID']['input']; + input: ServiceBundleUpdateInput; + }) => ShopServiceBundle; + serviceCreate: (args: { input: ServiceCreateInput }) => ShopService; + serviceDelete: (args: { id: Scalars['ID']['input'] }) => ShopService; + serviceLocationCreate: (args: { + input: ServiceLocationCreateInput; + }) => ShopServiceLocation; + serviceLocationDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopServiceLocation; + serviceLocationSlotCreate: (args: { + input: ServiceSlotCreateInput; + }) => ServiceLocationSlot; + serviceLocationSlotDelete: (args: { + id: Scalars['ID']['input']; + repeat?: Maybe; + }) => ServiceLocationSlot; + serviceLocationSlotRuleCreate: (args: { + input: ServiceLocationSlotRuleCreateInput; + }) => ServiceLocationSlotRule; + serviceLocationSlotRuleDelete: (args: { + id: Scalars['ID']['input']; + }) => ServiceLocationSlotRule; + serviceLocationSlotRuleUpdate: (args: { + id: Scalars['ID']['input']; + input: ServiceLocationSlotRuleUpdateInput; + }) => ServiceLocationSlotRule; + serviceLocationSlotUpdate: (args: { + id: Scalars['ID']['input']; + input: ServiceSlotUpdateInput; + }) => ServiceLocationSlot; + serviceLocationUpdate: (args: { + id: Scalars['ID']['input']; + input: ServiceLocationUpdateInput; + }) => ShopServiceLocation; + serviceUpdate: (args: { + id: Scalars['ID']['input']; + input: ServiceUpdateInput; + }) => ShopService; + /** + * @deprecated Use sessionStart for a more detailed response of session tokens. + */ + sessionCreate: (args: { + email?: Maybe; + password: Scalars['String']['input']; + username?: Maybe; + }) => Scalars['String']['output']; + sessionRefresh: (args: { + refreshToken: Scalars['String']['input']; + shopId?: Maybe; + }) => SessionToken; + sessionStart: (args: { + email?: Maybe; + mobile?: Maybe; + mobileV2?: Maybe; + oneSignalPlayerId?: Maybe; + password: Scalars['String']['input']; + }) => SessionToken; + shippingZonesDelete: (args: { + filter?: Maybe; + query?: Maybe; + shopId: Scalars['ID']['input']; + }) => Maybe; + /** + * @deprecated Change to single address + */ + shopAddressSet: (args: { + id?: Maybe; + input: ShopAddressInput; + }) => ShopAddress; + /** + * @deprecated Change to single address + */ + shopAddressUnset: (args: { id: Scalars['ID']['input'] }) => ShopAddress; + shopAnalysisToolSet: (args: { + id?: Maybe; + input: AnalysisToolInput; + }) => ShopAnalysisTool; + shopAnalysisToolUnset: (args: { + id: Scalars['ID']['input']; + }) => ShopAnalysisTool; + shopAttributeCreate: (args: { + input: ShopAttributeCreateInput; + }) => ShopAttribute; + shopAttributeDelete: (args: { id: Scalars['ID']['input'] }) => ShopAttribute; + shopAttributeUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopAttributeUpdateInput; + }) => ShopAttribute; + shopContactEmailResendVerify: (args: { + id: Scalars['ID']['input']; + }) => Scalars['Boolean']['output']; + shopContactEmailVerify: (args: { + token: Scalars['String']['input']; + }) => CompanyShop; + /** + * @deprecated Use `credentialUnset` instead. + */ + shopCredentialUnset: (args: { id: Scalars['ID']['input'] }) => ShopCredential; + shopDeviceCreate: (args: { input: ShopDeviceCreateInput }) => ShopDevice; + shopDeviceDelete: (args: { id: Scalars['ID']['input'] }) => ShopDevice; + shopDeviceMetricsCreate: (args: { + input: ShopDeviceMetricCreateInput; + shopId?: Maybe; + }) => ShopDeviceMetric; + shopDeviceOneSignalAuth?: Scalars['Boolean']['output']; + /** + * Admin update configs to device. + */ + shopDeviceUpdate: (args: { + id?: Maybe; + input: ShopDeviceUpdateInput; + }) => ShopDevice; + shopEmailSend: (args: { + input: ShopEmailSendInput; + }) => Scalars['Boolean']['output']; + shopFormCreate: (args: { input: ShopFormCreateInput }) => ShopForm; + shopFormDelete: (args: { id: Scalars['ID']['input'] }) => ShopForm; + shopFormRecordApprove: (args: { + id: Scalars['ID']['input']; + }) => ShopFormRecord; + shopFormRecordReject: (args: { + id: Scalars['ID']['input']; + }) => ShopFormRecord; + shopFormRecordUpdate: (args: { + fields: Array; + id: Scalars['ID']['input']; + }) => ShopFormRecord; + shopFormRecordsExport: (args: { + id: Scalars['ID']['input']; + query?: Maybe; + timezone?: Maybe; + }) => Process; + shopFormSubmit: (args: { + fields: Array; + id: Scalars['ID']['input']; + }) => ShopFormRecord; + shopFormUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopFormUpdateInput; + }) => ShopForm; + shopMarqueeSet: (args: { + id?: Maybe; + input: ShopMarqueeInput; + }) => ShopMarquee; + shopMarqueeUnset: (args: { id: Scalars['ID']['input'] }) => ShopMarquee; + shopPopupCreate: (args: { input: ShopPopupCreateInput }) => ShopPopup; + shopPopupDelete: (args: { id: Scalars['ID']['input'] }) => ShopPopup; + shopPopupUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopPopupUpdateInput; + }) => ShopPopup; + shopReferenceNoFormatCreate: (args: { + input: ShopReferenceNoFormatCreateInput; + }) => ShopReferenceNoFormat; + shopReferenceNoFormatDelete: (args: { + id: Scalars['ID']['input']; + }) => ShopReferenceNoFormat; + shopReferenceNoFormatUpdate: (args: { + id: Scalars['ID']['input']; + input: ShopReferenceNoFormatUpdateInput; + }) => ShopReferenceNoFormat; + /** + * @deprecated Use shippingZonesDelete instead. + */ + shopShippingZoneBulkAction: (args: { + action: ShopShippingZoneBulkAction; + data?: Maybe; + filter: ShopShippingZoneFilterInput; + shopId: Scalars['ID']['input']; + }) => Maybe; + shopShippingZoneSet: (args: { + id?: Maybe; + input: ShopShippingZoneInput; + }) => ShopShippingZone; + shopShippingZoneUnset: (args: { + id: Scalars['ID']['input']; + }) => ShopShippingZone; + shopTaxZoneSet: (args: { + id?: Maybe; + input: ShopTaxZoneInput; + }) => ShopTaxZone; + shopTaxZoneUnset: (args: { id: Scalars['ID']['input'] }) => ShopTaxZone; + shopWarehousesAdd: (args: { + shopId: Scalars['ID']['input']; + warehouseIds: Array; + }) => CompanyShop; + shopWarehousesRemove: (args: { + shopId: Scalars['ID']['input']; + warehouseIds: Array; + }) => CompanyShop; + shopsReportExport: (args: { + shopId: Scalars['ID']['input']; + startedAt: Scalars['AWSDateTime']['input']; + startedThru: Scalars['AWSDateTime']['input']; + }) => Process; + staffActivate: (args: { id: Scalars['ID']['input'] }) => CompanyStaff; + staffCreate: (args: { input: CompanyStaffCreateInput }) => CompanyStaff; + staffDeactivate: (args: { id: Scalars['ID']['input'] }) => CompanyStaff; + staffDelete: (args: { id: Scalars['ID']['input'] }) => CompanyStaff; + staffUpdate: (args: { + id: Scalars['ID']['input']; + input: CompanyStaffUpdateInput; + }) => CompanyStaff; + stockAdjustmentCancel: (args: { + id: Scalars['ID']['input']; + }) => CompanyStockAdjustment; + stockAdjustmentComplete: (args: { + id: Scalars['ID']['input']; + }) => CompanyStockAdjustment; + stockAdjustmentCreate: (args: { + input: StockAdjustmentCreateInput; + }) => CompanyStockAdjustment; + stockAdjustmentExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + stockAdjustmentImport: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + stockAdjustmentUpdate: (args: { + id: Scalars['ID']['input']; + input: StockAdjustmentUpdateInput; + }) => CompanyStockAdjustment; + stockAdjustmentVoid: (args: { + id: Scalars['ID']['input']; + }) => CompanyStockAdjustment; + stockTransferComplete: (args: { + id: Scalars['ID']['input']; + items?: Maybe>; + }) => CompanyStockTransfer; + stockTransferCreate: (args: { + input: StockTransferCreateInput; + status?: Maybe; + }) => CompanyStockTransfer; + stockTransferExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + stockTransferImport: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + stockTransferSend: (args: { + id: Scalars['ID']['input']; + }) => CompanyStockTransfer; + stockTransferUpdate: (args: { + id: Scalars['ID']['input']; + input: StockTransferUpdateInput; + }) => CompanyStockTransfer; + stockTransferVoid: (args: { + id: Scalars['ID']['input']; + }) => CompanyStockTransfer; + stocktakeCancel: (args: { id: Scalars['ID']['input'] }) => CompanyStocktake; + stocktakeComplete: (args: { + id: Scalars['ID']['input']; + replace?: Maybe; + shopId: Scalars['ID']['input']; + }) => Process; + stocktakeExport: (args: { + shopId: Scalars['ID']['input']; + warehouseId: Scalars['ID']['input']; + }) => Process; + stocktakeExportV2: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + }) => Process; + stocktakeImport: (args: { + id: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => CompanyStocktake; + stocktakeImportV2: (args: { + id: Scalars['ID']['input']; + shopId: Scalars['ID']['input']; + url: Scalars['AWSURL']['input']; + }) => Process; + stocktakeItemsSet: (args: { + id: Scalars['ID']['input']; + input: Array; + }) => CompanyStocktake; + stocktakeSet: (args: { + id?: Maybe; + input: StocktakeInput; + }) => CompanyStocktake; + tableCreate: (args: { input: TableCreateInput }) => ShopTable; + tableDelete: (args: { id: Scalars['ID']['input'] }) => ShopTable; + tableUpdate: (args: { + id: Scalars['ID']['input']; + input: TableUpdateInput; + }) => ShopTable; + userAddressSet: (args: { + id?: Maybe; + input: UserAddressInput; + userId: Scalars['ID']['input']; + }) => UserAddress; + userAddressUnset: (args: { id: Scalars['ID']['input'] }) => UserAddress; + /** + * Block a secondary user in a company. + */ + userBlock: (args: { + companyId: Scalars['ID']['input']; + id: Scalars['ID']['input']; + }) => User; + userCouponsExport: (args: { + filter?: Maybe; + shopId: Scalars['ID']['input']; + timezone?: Maybe; + }) => Process; + userCouponsGenerate: (args: { + count: Scalars['Int']['input']; + id: Scalars['ID']['input']; + }) => CompanyCoupon; + /** + * Create a new secondary user in the specified company. + */ + userCreate: (args: { + companyId: Scalars['ID']['input']; + credential: UserCredentialInput; + input: UserCreateInput; + }) => User; + /** + * Delete a secondary user in a company. + */ + userDelete: (args: { + companyId: Scalars['ID']['input']; + id: Scalars['ID']['input']; + }) => User; + /** + * Reqeust a password resetting token to be sent. + */ + userForgotPassword: (args?: { + email?: Maybe; + mobile?: Maybe; + mobileV2?: Maybe; + shopId?: Maybe; + }) => Maybe; + userMemberTierSet: (args: { + customerId: Scalars['ID']['input']; + input: UserMemberTierSetInput; + }) => Maybe; + /** + * Creates a new user with specified credentials. When invoking with an active + * session, user can at most assign his own groups; If omitted then the user + * created will inherit the default group setting from Shop. + */ + userRegister: (args: { + credential: UserCredentialInput; + fingerPrint?: Maybe; + shop?: Maybe; + user?: Maybe; + }) => User; + /** + * Request a new OTP code for verification, this invalidates all previous OTP. + */ + userResendVerification: (args?: { + email?: Maybe; + mobile?: Maybe; + mobileV2?: Maybe; + }) => Scalars['Boolean']['output']; + /** + * Resets a password with a reset token sent previously. + */ + userResetPassword: (args: { + key: Scalars['String']['input']; + password: Scalars['String']['input']; + }) => Maybe; + /** + * Unblock a secondary user in a company. + */ + userUnblock: (args: { + companyId: Scalars['ID']['input']; + id: Scalars['ID']['input']; + }) => User; + /** + * Update an existing secondary user in a company. + */ + userUpdate: (args: { + companyId: Scalars['ID']['input']; + credential?: Maybe; + id: Scalars['ID']['input']; + input: UserUpdateInput; + }) => User; + /** + * Verifies a user with an OTP sent previously. + */ + userVerify: (args: { token: Scalars['String']['input'] }) => User; + venueCreate: (args: { input: VenueCreateInput }) => ShopVenue; + venueDelete: (args: { id: Scalars['ID']['input'] }) => ShopVenue; + venueTablesCleanUp: (args: { id: Scalars['ID']['input'] }) => ShopVenue; + venueUpdate: (args: { + id: Scalars['ID']['input']; + input: VenueUpdateInput; + }) => ShopVenue; + warehouseSet: (args: { + id?: Maybe; + input: WarehouseSetInput; + }) => CompanyWarehouse; + warehouseUnset: (args: { id: Scalars['ID']['input'] }) => CompanyWarehouse; + /** + * Triggers a ping to the Webhook URI, this webhook is set to active on a + * successful ping. + */ + webhookActivate: (args: { id: Scalars['ID']['input'] }) => Webhook; + /** + * Stop the webhook from sending further events. + */ + webhookDeactivate: (args: { id: Scalars['ID']['input'] }) => Webhook; + wishItemSet: (args: { + id?: Maybe; + input: WishItemSetInput; + }) => WishItem; + wishItemUnset: (args: { id: Scalars['ID']['input'] }) => WishItem; + wishlistSet: (args: { + id?: Maybe; + input: WishlistSetInput; + }) => Wishlist; + wishlistUnset: (args: { id: Scalars['ID']['input'] }) => Wishlist; +} + +export interface Query { + __typename?: 'Query'; + apiVersion?: Maybe; + /** + * Query current app version (semver) with specific bundle ID. + */ + appVersion: (args: { + bundleId: Scalars['ID']['input']; + }) => Maybe; + /** + * Current authenticated user from the provided JSON Web Token issued by auth0. + */ + me?: Maybe; + node: (args: { + handle?: Maybe; + id: Scalars['ID']['input']; + }) => Maybe; + /** + * Fallback point for process polling, clients should use the subscription + * `processUpdate` when possible. + */ + process: (args: { id: Scalars['ID']['input'] }) => Maybe; + shopByHostname: (args?: { + acceptLanguage?: Maybe; + hostname?: Maybe; + }) => Maybe; + /** + * Generate a pre-signed URL for S3 upload. + */ + uploadUrl: (args: { input: UploadUrlInput }) => Scalars['AWSURL']['output']; } export interface Subscription { __typename?: 'Subscription'; + channelMessageUpdate: (args?: { + channelId?: Maybe; + shopId?: Maybe; + }) => Maybe; + channelUpdate: (args?: { + code?: Maybe; + shopId?: Maybe; + }) => Maybe; + checkoutUpdate?: Maybe; + processUpdate: (args: { id: Scalars['ID']['input'] }) => Process; +} + +export interface $Connection { + AgencyServiceConnection?: AgencyServiceConnection; + AttendanceConnection?: AttendanceConnection; + CampaignConnection?: CampaignConnection; + CampaignRecipientConnection?: CampaignRecipientConnection; + ChannelConnection?: ChannelConnection; + ChannelMessageConnection?: ChannelMessageConnection; + CheckoutCashVoucherConnection?: CheckoutCashVoucherConnection; + CheckoutItemConnection?: CheckoutItemConnection; + CollectionConnection?: CollectionConnection; + CollectionSalesConnection?: CollectionSalesConnection; + CompanyCashVoucherCodeConnection?: CompanyCashVoucherCodeConnection; + CompanyCashVoucherConnection?: CompanyCashVoucherConnection; + CompanyConnection?: CompanyConnection; + CompanyCouponConnection?: CompanyCouponConnection; + CompanyDiscountConnection?: CompanyDiscountConnection; + CompanyMemberTierConnection?: CompanyMemberTierConnection; + CompanyReceivePurchaseConnection?: CompanyReceivePurchaseConnection; + CompanyReceivePurchaseItemConnection?: CompanyReceivePurchaseItemConnection; + CompanyStaffConnection?: CompanyStaffConnection; + CompanyStockAdjustmentConnection?: CompanyStockAdjustmentConnection; + CompanyStockTransferConnection?: CompanyStockTransferConnection; + CompanyStocktakeConnection?: CompanyStocktakeConnection; + CompanyStocktakeItemConnection?: CompanyStocktakeItemConnection; + CouponSalesConnection?: CouponSalesConnection; + CouponSalesRecordConnection?: CouponSalesRecordConnection; + CreditNoteConnection?: CreditNoteConnection; + CustomerAddressConnection?: CustomerAddressConnection; + CustomerConnection?: CustomerConnection; + DeliveryNoteConnection?: DeliveryNoteConnection; + DiscountSalesConnection?: DiscountSalesConnection; + GiftPointAdjustmentConnection?: GiftPointAdjustmentConnection; + HonorProductSerialConnection?: HonorProductSerialConnection; + IngredientConnection?: IngredientConnection; + InventoryReportDataConnection?: InventoryReportDataConnection; + InvoiceConnection?: InvoiceConnection; + MemberTierSalesConnection?: MemberTierSalesConnection; + MemberTierSalesRecordConnection?: MemberTierSalesRecordConnection; + NewsletterSubscriptionConnection?: NewsletterSubscriptionConnection; + OrderActivityConnection?: OrderActivityConnection; + OrderAddOnProductConnection?: OrderAddOnProductConnection; + OrderConnection?: OrderConnection; + OrderItemConnection?: OrderItemConnection; + PageConnection?: PageConnection; + PaymentMethodConnection?: PaymentMethodConnection; + PaymentSourceConnection?: PaymentSourceConnection; + ProductConnection?: ProductConnection; + ProductSalesConnection?: ProductSalesConnection; + ProductSalesRecordConnection?: ProductSalesRecordConnection; + ProductUnionConnection?: ProductUnionConnection; + ReturnNoteItemConnection?: ReturnNoteItemConnection; + SalespersonSalesConnection?: SalespersonSalesConnection; + SalespersonSalesRecordConnection?: SalespersonSalesRecordConnection; + ServiceApplicationConnection?: ServiceApplicationConnection; + ServiceLocationSlotConnection?: ServiceLocationSlotConnection; + ServiceLocationSlotRuleConnection?: ServiceLocationSlotRuleConnection; + ShopAddOnProductConnection?: ShopAddOnProductConnection; + ShopAnalysisToolConnection?: ShopAnalysisToolConnection; + ShopAppointmentConnection?: ShopAppointmentConnection; + ShopAttributeConnection?: ShopAttributeConnection; + ShopBundleProductConnection?: ShopBundleProductConnection; + ShopCashFlowConnection?: ShopCashFlowConnection; + ShopCheckoutConnection?: ShopCheckoutConnection; + ShopConnection?: ShopConnection; + ShopContactEmailConnection?: ShopContactEmailConnection; + ShopDeviceConnection?: ShopDeviceConnection; + ShopDeviceMetricConnection?: ShopDeviceMetricConnection; + ShopEmailTemplateConnection?: ShopEmailTemplateConnection; + ShopFormConnection?: ShopFormConnection; + ShopFormRecordConnection?: ShopFormRecordConnection; + ShopMarqueeConnection?: ShopMarqueeConnection; + ShopNavigationTemplateConnection?: ShopNavigationTemplateConnection; + ShopPopupConnection?: ShopPopupConnection; + ShopProductModifierConnection?: ShopProductModifierConnection; + ShopReceiptTemplateConnection?: ShopReceiptTemplateConnection; + ShopReferenceNoFormatConnection?: ShopReferenceNoFormatConnection; + ShopReturnNoteConnection?: ShopReturnNoteConnection; + ShopSalesConnection?: ShopSalesConnection; + ShopServiceBundleConnection?: ShopServiceBundleConnection; + ShopServiceConnection?: ShopServiceConnection; + ShopServiceLocationConnection?: ShopServiceLocationConnection; + ShopShippingZoneConnection?: ShopShippingZoneConnection; + ShopTableConnection?: ShopTableConnection; + ShopTaxZoneConnection?: ShopTaxZoneConnection; + ShopVenueConnection?: ShopVenueConnection; + StockAdjustmentItemConnection?: StockAdjustmentItemConnection; + StockMovementConnection?: StockMovementConnection; + StockTransferItemConnection?: StockTransferItemConnection; + UserAddressConnection?: UserAddressConnection; + UserConnection?: UserConnection; + UserCouponConnection?: UserCouponConnection; + VariationConnection?: VariationConnection; + VariationSalesConnection?: VariationSalesConnection; + VariationStockConnection?: VariationStockConnection; + WarehouseConnection?: WarehouseConnection; + WishItemConnection?: WishItemConnection; + WishlistConnection?: WishlistConnection; +} + +export interface $Me { + Customer?: Customer; + User?: User; +} + +export interface $Node { + AgencyService?: AgencyService; + AgencyServiceApplication?: AgencyServiceApplication; + ApplicationComment?: ApplicationComment; + CampaignAction?: CampaignAction; + CampaignRecipient?: CampaignRecipient; + Channel?: Channel; + ChannelMessage?: ChannelMessage; + CheckoutCashVoucher?: CheckoutCashVoucher; + CheckoutItem?: CheckoutItem; + Company?: Company; + CompanyCashVoucher?: CompanyCashVoucher; + CompanyCoupon?: CompanyCoupon; + CompanyDiscount?: CompanyDiscount; + CompanyMemberTier?: CompanyMemberTier; + CompanyReceivePurchase?: CompanyReceivePurchase; + CompanyReceivePurchaseItem?: CompanyReceivePurchaseItem; + CompanyShop?: CompanyShop; + CompanyStaff?: CompanyStaff; + CompanyStockAdjustment?: CompanyStockAdjustment; + CompanyStockTransfer?: CompanyStockTransfer; + CompanyStocktake?: CompanyStocktake; + CompanyStocktakeItem?: CompanyStocktakeItem; + CompanyWarehouse?: CompanyWarehouse; + Customer?: Customer; + CustomerAddress?: CustomerAddress; + DeliveryNoteItem?: DeliveryNoteItem; + GiftPointAdjustment?: GiftPointAdjustment; + HonorProductSerial?: HonorProductSerial; + Ingredient?: Ingredient; + InvoiceCreditNote?: InvoiceCreditNote; + NewsletterSubscription?: NewsletterSubscription; + OrderActivity?: OrderActivity; + OrderAddOnProduct?: OrderAddOnProduct; + OrderComment?: OrderComment; + OrderDeliveryNote?: OrderDeliveryNote; + OrderInvoice?: OrderInvoice; + OrderItem?: OrderItem; + PaymentMethod?: PaymentMethod; + PaymentSource?: PaymentSource; + ProductVariation?: ProductVariation; + ReturnNoteItem?: ReturnNoteItem; + ServiceLocationSlot?: ServiceLocationSlot; + ServiceLocationSlotRule?: ServiceLocationSlotRule; + ShopAddOnProduct?: ShopAddOnProduct; + ShopAddress?: ShopAddress; + ShopAnalysisTool?: ShopAnalysisTool; + ShopAppointment?: ShopAppointment; + ShopAttendance?: ShopAttendance; + ShopAttribute?: ShopAttribute; + ShopBundleProduct?: ShopBundleProduct; + ShopBundleProductOption?: ShopBundleProductOption; + ShopCampaign?: ShopCampaign; + ShopCashFlow?: ShopCashFlow; + ShopCheckout?: ShopCheckout; + ShopCollection?: ShopCollection; + ShopContactEmail?: ShopContactEmail; + ShopCredential?: ShopCredential; + ShopDevice?: ShopDevice; + ShopEmailTemplate?: ShopEmailTemplate; + ShopForm?: ShopForm; + ShopFormRecord?: ShopFormRecord; + ShopMarquee?: ShopMarquee; + ShopNavigationTemplate?: ShopNavigationTemplate; + ShopOrder?: ShopOrder; + ShopPage?: ShopPage; + ShopPopup?: ShopPopup; + ShopProduct?: ShopProduct; + ShopProductModifier?: ShopProductModifier; + ShopReceiptTemplate?: ShopReceiptTemplate; + ShopReferenceNoFormat?: ShopReferenceNoFormat; + ShopReturnNote?: ShopReturnNote; + ShopService?: ShopService; + ShopServiceBundle?: ShopServiceBundle; + ShopServiceLocation?: ShopServiceLocation; + ShopShippingZone?: ShopShippingZone; + ShopTable?: ShopTable; + ShopTaxZone?: ShopTaxZone; + ShopVenue?: ShopVenue; + StockAdjustmentItem?: StockAdjustmentItem; + StockMovement?: StockMovement; + StockTransferItem?: StockTransferItem; + User?: User; + UserAddress?: UserAddress; + UserCard?: UserCard; + UserCoupon?: UserCoupon; + Webhook?: Webhook; + WishItem?: WishItem; + Wishlist?: Wishlist; +} + +export interface $ProductUnion { + ShopBundleProduct?: ShopBundleProduct; + ShopProduct?: ShopProduct; + ShopServiceBundle?: ShopServiceBundle; +} + +export interface $UserOrCustomer { + Customer?: Customer; + User?: User; } export interface GeneratedSchema { @@ -360,11 +20799,3 @@ export interface GeneratedSchema { mutation: Mutation; subscription: Subscription; } - -export type MakeNullable = { - [K in keyof T]: T[K] | undefined; -}; - -export interface ScalarsEnums extends MakeNullable { - CacheControlScope: CacheControlScope | undefined; -} diff --git a/package.json b/package.json index 84ca79ba4..e3bde2ada 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@changesets/config": "^3.0.0", "@changesets/read": "^0.6.0", "@types/node": "^20.12.11", + "@types/prettier": "^2.7.3", "bob-esbuild": "^4.0.3", "bob-esbuild-cli": "^4.0.0", "bob-ts": "^4.1.1", @@ -39,8 +40,8 @@ "husky": "^9.0.11", "jest": "^29.7.0", "open": "^10.1.0", - "prettier": "^3.2.5", - "pretty-quick": "^4.0.0", + "prettier": "^2.8.8", + "pretty-quick": "^3.3.1", "rimraf": "^5.0.5", "semver": "^7.6.1", "ts-jest": "^29.1.2", diff --git a/packages/cli/package.json b/packages/cli/package.json index 209317f09..b66ba1e53 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -13,6 +13,22 @@ "maintainers": [ "Vicary Archangel " ], + "exports": { + ".": { + "require": "./dist/index.js", + "import": "./dist/index.mjs", + "types": "./dist/index.d.ts" + }, + "./deps": "./dist/deps.js", + "./*": { + "require": "./dist/*.js", + "import": "./dist/*.mjs", + "types": "./dist/*.d.ts" + } + }, + "main": "dist/index.js", + "module": "dist/index.mjs", + "typings": "dist/index.d.ts", "bin": { "gqty": "bin/gqty.mjs" }, diff --git a/packages/cli/src/generate.ts b/packages/cli/src/generate.ts index 98d6b2520..55bcd4ece 100644 --- a/packages/cli/src/generate.ts +++ b/packages/cli/src/generate.ts @@ -200,9 +200,9 @@ export async function generate( const config = schema.toConfig(); - const scalarsEnumsHash: ScalarsEnumsHash = {}; + const enums = new Set(); - const enumsNames: string[] = []; + const scalars = new Set(); const inputTypeNames = new Set(); @@ -276,8 +276,7 @@ export async function generate( } const parseEnumType = (type: GraphQLEnumType) => { - scalarsEnumsHash[type.name] = true; - enumsNames.push(type.name); + enums.add(type.name); const values = type.getValues(); @@ -295,7 +294,7 @@ export async function generate( fieldsDescriptions.set(type.name, enumValuesDescriptions); }; const parseScalarType = (type: GraphQLScalarType) => { - scalarsEnumsHash[type.name] = true; + scalars.add(type.name); }; const interfacesOfObjectTypesMap = new Map(); @@ -574,27 +573,23 @@ export async function generate( isNullable, hasDefaultValue, }: ReturnType) { - let typeToReturn: string[] = [ - scalarsEnumsHash[pureType] - ? enumsNames.includes(pureType) - ? pureType - : `ScalarsEnums["${pureType}"]` - : pureType, - ]; + let typeToReturn = scalars.has(pureType) + ? `Scalars["${pureType}"]["input"]` + : pureType; if (isArray) { - typeToReturn = [ - 'Array<', - ...(nullableItems ? ['Maybe<', ...typeToReturn, '>'] : typeToReturn), - '>', - ]; + if (nullableItems) { + typeToReturn = `Maybe<${typeToReturn}>`; + } + + typeToReturn = `Array<${typeToReturn}>`; } if (isNullable || hasDefaultValue) { - typeToReturn = ['Maybe<', ...typeToReturn, '>']; + typeToReturn = `Maybe<${typeToReturn}>`; } - return typeToReturn.join(''); + return typeToReturn; } function parseFinalType({ @@ -603,23 +598,23 @@ export async function generate( nullableItems, isNullable, }: ReturnType) { - let typeToReturn: string[] = [ - scalarsEnumsHash[pureType] ? `ScalarsEnums["${pureType}"]` : pureType, - ]; + let typeToReturn = scalars.has(pureType) + ? `Scalars["${pureType}"]["output"]` + : pureType; if (isArray) { - typeToReturn = [ - 'Array<', - ...(nullableItems ? ['Maybe<', ...typeToReturn, '>'] : typeToReturn), - '>', - ]; + if (nullableItems) { + typeToReturn = `Maybe<${typeToReturn}>`; + } + + typeToReturn = `Array<${typeToReturn}>`; } if (isNullable) { - typeToReturn = ['Maybe<', ...typeToReturn, '>']; + typeToReturn = `Maybe<${typeToReturn}>`; } - return typeToReturn.join(''); + return typeToReturn; } const objectTypeTSTypes = new Map>(); @@ -709,7 +704,13 @@ export async function generate( const argsConnector = onlyNullableArgs ? '?:' : ':'; finalType = `: (args${argsConnector} {${argTypes}}) => ${typeToReturn}`; } else { - const connector = fieldValueProps.isNullable ? '?:' : ':'; + const connector = + fieldValueProps.isNullable || + enums.has(fieldValueProps.pureType) || + scalars.has(fieldValueProps.pureType) + ? '?:' + : ':'; + finalType = `${connector} ${typeToReturn}`; } @@ -722,49 +723,37 @@ export async function generate( }, '' )} - } - `; + }`; return acum; }, ''); if (unionsAndInterfacesObjectTypesMap.size) { - typescriptTypes += ` - ${deps + typescriptTypes += deps .sortBy( Array.from(unionsAndInterfacesObjectTypesMap.entries()), - (v) => v[0] + ([v]) => v ) - .reduce((acum, [unionInterfaceName, objectTypes]) => { - acum += ` - export interface $${unionInterfaceName} { - ${objectTypes.map((typeName) => `${typeName}?:${typeName}`).join('\n')} - } - `; - - return acum; - }, '')} - `; + .map( + ([unionInterfaceName, objectTypes]) => ` + + export interface $${unionInterfaceName} { + ${objectTypes + .map((typeName) => `${typeName}?: ${typeName}`) + .join('\n')} + }` + ) + .join(''); } typescriptTypes += ` + export interface GeneratedSchema { query: Query mutation: Mutation subscription: Subscription } - - export type ScalarsEnums = { - [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } - ? Scalars[Key]['output'] - : never; - } & { - ${deps.sortBy(enumsNames).reduce((acum, enumName) => { - acum += `${enumName}: ${enumName};`; - return acum; - }, '')} - } - `; + `; function typeDoc(type: string) { return `/**\n * @type {${type}}\n */\n`; @@ -813,15 +802,12 @@ export async function generate( const hasUnions = !!unionsAndInterfacesObjectTypesMap.size; - const scalarsEnumsHashString = JSON.stringify( - Object.keys(scalarsEnumsHash) - .sort() - .reduce((acum, key) => { - acum[key] = true; - return acum; - }, {}) + const scalarsEnumsHash: ScalarsEnumsHash = Object.fromEntries( + [...scalars, ...enums].sort().map((v) => [v, true]) ); + const scalarsEnumsHashString = JSON.stringify(scalarsEnumsHash); + const generatedSchemaCodeString = deps .sortBy(Object.entries(generatedSchema), (v) => v[0]) .reduceRight( @@ -950,8 +936,8 @@ export async function generate( * allowing soft refetches in background. */ { - maxAge: 0, - staleWhileRevalidate: 5 * 60 * 1000, + maxAge: 5000, + staleWhileRevalidate: 30 * 60 * 1000, normalization: true, } ); diff --git a/packages/cli/test/generate.test.ts b/packages/cli/test/generate.test.ts index 5b052a6bb..c0f5cf3ff 100644 --- a/packages/cli/test/generate.test.ts +++ b/packages/cli/test/generate.test.ts @@ -105,12 +105,12 @@ test('basic functionality works', async () => { /** * @defaultValue \`123\` */ - arg?: Maybe; - }) => Maybe; + arg?: Maybe; + }) => Maybe; /** * Hello field */ - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -123,11 +123,19 @@ test('basic functionality works', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); @@ -481,7 +489,7 @@ test('custom scalars works', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['Custom']; + hello: Scalars['Custom']['output']; } export interface Subscription { @@ -494,11 +502,19 @@ test('custom scalars works', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); @@ -761,14 +777,18 @@ describe('feature complete app', () => { export interface Human { __typename?: 'Human'; father: Human; - fieldWithArgs: (args: { id: ScalarsEnums['Int'] }) => ScalarsEnums['Int']; - name: ScalarsEnums['String']; - other?: Maybe; + fieldWithArgs: (args: { + id: Scalars['Int']['input']; + }) => Scalars['Int']['output']; + name: Scalars['String']['output']; + other?: Maybe; withArgs: (args: { - a: ScalarsEnums['Int']; - b?: Maybe; - }) => Maybe; - withArgs2: (args?: { a?: Maybe }) => ScalarsEnums['Int']; + a: Scalars['Int']['input']; + b?: Maybe; + }) => Maybe; + withArgs2: (args?: { + a?: Maybe; + }) => Scalars['Int']['output']; } export interface HumanType { @@ -784,25 +804,27 @@ describe('feature complete app', () => { /** * Named Entity Name */ - name: ScalarsEnums['String']; + name: Scalars['String']['output']; $on: $NamedEntity; } export interface OtherHuman { __typename?: 'OtherHuman'; - name: ScalarsEnums['String']; - other?: Maybe; - otherHumanStyle: ScalarsEnums['String']; + name: Scalars['String']['output']; + other?: Maybe; + otherHumanStyle: Scalars['String']['output']; withArgs: (args: { - a: ScalarsEnums['Int']; - b?: Maybe; - }) => Maybe; - withArgs2: (args?: { a?: Maybe }) => ScalarsEnums['Int']; + a: Scalars['Int']['input']; + b?: Maybe; + }) => Maybe; + withArgs2: (args?: { + a?: Maybe; + }) => Scalars['Int']['output']; } export interface Mutation { __typename?: 'Mutation'; - increment: (args: { n: ScalarsEnums['Int'] }) => ScalarsEnums['Int']; + increment: (args: { n: Scalars['Int']['input'] }) => Scalars['Int']['output']; } export interface Query { @@ -811,46 +833,46 @@ describe('feature complete app', () => { /** * @defaultValue \`10\` */ - limit?: Maybe; + limit?: Maybe; }) => Array; - arrayString: Array; + arrayString: Array; enumsInput: (args: { notNullableEnum: GreetingsEnum; nullableEnum?: Maybe; - }) => Maybe; + }) => Maybe; giveGreetingsInput: (args: { input: GreetingsInput; - }) => ScalarsEnums['String']; - greetings: ScalarsEnums['GreetingsEnum']; + }) => Scalars['String']['output']; + greetings: GreetingsEnum; humanLike: HumanType; namedEntities: Array; - number: ScalarsEnums['Int']; + number: Scalars['Int']['output']; object?: Maybe; objectArray?: Maybe>>; objectWithArgs: (args: { /** * Who? */ - who: ScalarsEnums['String']; + who: Scalars['String']['input']; }) => Human; - simpleString: ScalarsEnums['String']; + simpleString: Scalars['String']['output']; stringNullableWithArgs: (args: { - hello: ScalarsEnums['String']; + hello: Scalars['String']['input']; /** * @defaultValue \`"Hi"\` */ - helloThree?: Maybe; + helloThree?: Maybe; /** * @defaultValue \`"Hi"\` */ - helloTwo?: Maybe; - }) => Maybe; + helloTwo?: Maybe; + }) => Maybe; stringNullableWithArgsArray: (args: { - hello: Array>; - }) => Maybe; + hello: Array>; + }) => Maybe; stringWithArgs: (args: { - hello: ScalarsEnums['String']; - }) => ScalarsEnums['String']; + hello: Scalars['String']['input']; + }) => Scalars['String']['output']; } export interface Subscription { @@ -873,16 +895,22 @@ describe('feature complete app', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & { - GreetingsEnum: GreetingsEnum; - OtherEnum: OtherEnum; - }; + } & Enums; " `); + expect(generatedSchema).toMatchInlineSnapshot(` { "GreetingsInput": { @@ -1189,13 +1217,13 @@ describe('mutation', () => { export interface Mutation { __typename?: 'Mutation'; helloMutation: (args: { - hello: ScalarsEnums['String']; - }) => ScalarsEnums['String']; + hello: Scalars['String']['input']; + }) => Scalars['String']['output']; } export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -1208,13 +1236,22 @@ describe('mutation', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); + expect(generatedSchema).toMatchInlineSnapshot(` { "mutation": { @@ -1334,12 +1371,12 @@ describe('subscription', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { __typename?: 'Subscription'; - newNotification: ScalarsEnums['String']; + newNotification: Scalars['String']['output']; } export interface GeneratedSchema { @@ -1348,13 +1385,22 @@ describe('subscription', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); + expect(generatedSchema).toMatchInlineSnapshot(` { "mutation": {}, @@ -1688,12 +1734,12 @@ test('javascript output works', async () => { export interface A { __typename?: 'A'; - a?: Maybe; + a?: Maybe; } export interface B { __typename?: 'B'; - b?: Maybe; + b?: Maybe; } export interface C { @@ -1707,12 +1753,12 @@ test('javascript output works', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { __typename?: 'Subscription'; - newNotification: ScalarsEnums['String']; + newNotification: Scalars['String']['output']; } export interface $C { @@ -1726,11 +1772,19 @@ test('javascript output works', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); }); @@ -1979,11 +2033,11 @@ test('ignoreArgs transform', async () => { export interface Query { __typename?: 'Query'; - asd: ScalarsEnums['String']; + asd: Scalars['String']['output']; zxc: (args: { - optional?: Maybe; - required: ScalarsEnums['Int']; - }) => Maybe; + optional?: Maybe; + required: Scalars['Int']['input']; + }) => Maybe; } export interface Subscription { @@ -1996,13 +2050,22 @@ test('ignoreArgs transform', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); + expect(scalarsEnumsHash).toMatchInlineSnapshot(` { "Boolean": true, @@ -2213,8 +2276,8 @@ test('fields with default value works', async () => { /** * @defaultValue \`"world"\` */ - world?: Maybe; - }) => ScalarsEnums['String']; + world?: Maybe; + }) => Scalars['String']['output']; } export interface Subscription { @@ -2227,11 +2290,19 @@ test('fields with default value works', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); diff --git a/packages/cli/test/inspectWriteGenerate.test.ts b/packages/cli/test/inspectWriteGenerate.test.ts index ed167d3ab..eb89a2b1e 100644 --- a/packages/cli/test/inspectWriteGenerate.test.ts +++ b/packages/cli/test/inspectWriteGenerate.test.ts @@ -219,7 +219,7 @@ test('basic inspectWriteGenerate functionality', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -232,11 +232,19 @@ test('basic inspectWriteGenerate functionality', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -442,7 +450,7 @@ describe('from file', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['Int']; + hello: Scalars['Int']['output']; } export interface Subscription { @@ -455,11 +463,19 @@ describe('from file', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -666,7 +682,7 @@ describe('from file', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -679,11 +695,19 @@ describe('from file', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -890,7 +914,7 @@ describe('from file', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -903,11 +927,19 @@ describe('from file', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -1163,8 +1195,8 @@ describe('from multiple files', () => { export interface Query { __typename?: 'Query'; - bar: ScalarsEnums['Int']; - foo: ScalarsEnums['Int']; + bar: Scalars['Int']['output']; + foo: Scalars['Int']['output']; } export interface Subscription { @@ -1177,11 +1209,19 @@ describe('from multiple files', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -1444,7 +1484,7 @@ test('specify generateOptions to inspectWriteGenerate', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -1457,11 +1497,19 @@ test('specify generateOptions to inspectWriteGenerate', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); @@ -1582,7 +1630,7 @@ describe('inspect headers', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -1595,11 +1643,19 @@ describe('inspect headers', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); @@ -1775,11 +1831,8 @@ describe('CLI behavior', () => { " `); - expect( - await readFile(tempDir.schemaPath, { - encoding: 'utf-8', - }) - ).toMatchInlineSnapshot(` + expect(await readFile(tempDir.schemaPath, { encoding: 'utf-8' })) + .toMatchInlineSnapshot(` "/** * GQty AUTO-GENERATED CODE: PLEASE DO NOT MODIFY MANUALLY */ @@ -1831,7 +1884,7 @@ describe('CLI behavior', () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -1844,11 +1897,19 @@ describe('CLI behavior', () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { diff --git a/packages/cli/test/writeGenerate.test.ts b/packages/cli/test/writeGenerate.test.ts index dd95fc3b1..ea7b1cb07 100644 --- a/packages/cli/test/writeGenerate.test.ts +++ b/packages/cli/test/writeGenerate.test.ts @@ -121,7 +121,7 @@ test('generates code and writes existing file', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -134,11 +134,19 @@ test('generates code and writes existing file', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); } finally { @@ -230,7 +238,7 @@ test('creates dir, generates code and writes new file', async () => { export interface Query { __typename?: 'Query'; - hello: ScalarsEnums['String']; + hello: Scalars['String']['output']; } export interface Subscription { @@ -243,11 +251,19 @@ test('creates dir, generates code and writes new file', async () => { subscription: Subscription; } - export type ScalarsEnums = { + type Enums = {}; + + export type InputFields = { + [Key in keyof Scalars]: Scalars[Key] extends { input: unknown } + ? Scalars[Key]['input'] + : never; + } & Enums; + + export type OutputFields = { [Key in keyof Scalars]: Scalars[Key] extends { output: unknown } ? Scalars[Key]['output'] : never; - } & {}; + } & Enums; " `); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dc6f2b90c..694549dfc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: '@types/node': specifier: ^20.12.11 version: 20.12.11 + '@types/prettier': + specifier: ^2.7.3 + version: 2.7.3 bob-esbuild: specifier: ^4.0.3 version: 4.0.3(esbuild@0.20.2)(typescript@5.4.5) @@ -69,11 +72,11 @@ importers: specifier: ^10.1.0 version: 10.1.0 prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^2.8.8 + version: 2.8.8 pretty-quick: - specifier: ^4.0.0 - version: 4.0.0(prettier@3.2.5) + specifier: ^3.3.1 + version: 3.3.1(prettier@2.8.8) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -350,6 +353,12 @@ importers: '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@5.2.11) + graphql: + specifier: ^16.8.1 + version: 16.8.1 + typescript: + specifier: ^5.4.5 + version: 5.4.5 vite: specifier: ^5.2.11 version: 5.2.11(@types/node@20.12.11) @@ -7851,6 +7860,12 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -8389,6 +8404,21 @@ packages: engines: {node: '>=0.8.x'} dev: false + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -8823,6 +8853,13 @@ packages: engines: {node: '>=12'} dev: true + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -9150,6 +9187,11 @@ packages: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -11348,6 +11390,7 @@ packages: resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true + dev: false /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} @@ -11366,20 +11409,20 @@ packages: ansi-styles: 5.2.0 react-is: 18.3.1 - /pretty-quick@4.0.0(prettier@3.2.5): - resolution: {integrity: sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==} - engines: {node: '>=14'} + /pretty-quick@3.3.1(prettier@2.8.8): + resolution: {integrity: sha512-3b36UXfYQ+IXXqex6mCca89jC8u0mYLqFAN5eTQKoXO6oCQYcIVYZEB/5AlBHI7JPYygReM2Vv6Vom/Gln7fBg==} + engines: {node: '>=10.13'} hasBin: true peerDependencies: - prettier: ^3.0.0 + prettier: ^2.0.0 dependencies: - execa: 5.1.1 - find-up: 5.0.0 + execa: 4.1.0 + find-up: 4.1.0 ignore: 5.3.1 mri: 1.2.0 picocolors: 1.0.0 picomatch: 3.0.1 - prettier: 3.2.5 + prettier: 2.8.8 tslib: 2.6.2 dev: true @@ -11440,6 +11483,13 @@ packages: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true