@doswiftly/storefront-operations 5.5.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +709 -0
- package/fragments.graphql +156 -150
- package/mutations.graphql +104 -55
- package/package.json +1 -1
- package/queries.graphql +72 -44
- package/schema.graphql +1668 -762
package/fragments.graphql
CHANGED
|
@@ -20,6 +20,12 @@ fragment UserError on UserError {
|
|
|
20
20
|
field
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
fragment CartWarning on CartWarning {
|
|
24
|
+
message
|
|
25
|
+
code
|
|
26
|
+
target
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
# Base Image — no transform (for logos, favicons, branding assets that are already small)
|
|
24
30
|
fragment Image on Image {
|
|
25
31
|
id
|
|
@@ -97,19 +103,13 @@ fragment ProductVariant on ProductVariant {
|
|
|
97
103
|
title
|
|
98
104
|
sku
|
|
99
105
|
price {
|
|
100
|
-
...PriceMoney
|
|
101
|
-
}
|
|
102
|
-
originalPrice {
|
|
103
106
|
...Money
|
|
104
107
|
}
|
|
105
108
|
compareAtPrice {
|
|
106
|
-
...PriceMoney
|
|
107
|
-
}
|
|
108
|
-
originalCompareAtPrice {
|
|
109
109
|
...Money
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
isAvailable
|
|
112
|
+
availableStock
|
|
113
113
|
image {
|
|
114
114
|
...ImageThumbnail
|
|
115
115
|
}
|
|
@@ -117,8 +117,11 @@ fragment ProductVariant on ProductVariant {
|
|
|
117
117
|
...SelectedOption
|
|
118
118
|
}
|
|
119
119
|
barcode
|
|
120
|
-
weight
|
|
121
|
-
|
|
120
|
+
weight {
|
|
121
|
+
value
|
|
122
|
+
unit
|
|
123
|
+
}
|
|
124
|
+
sortOrder
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
# Minimal product data for listing views (cards, grids, search results).
|
|
@@ -128,8 +131,8 @@ fragment ProductCard on Product {
|
|
|
128
131
|
handle
|
|
129
132
|
title
|
|
130
133
|
vendor
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
category
|
|
135
|
+
isAvailable
|
|
133
136
|
averageRating
|
|
134
137
|
reviewCount
|
|
135
138
|
tags
|
|
@@ -138,18 +141,18 @@ fragment ProductCard on Product {
|
|
|
138
141
|
}
|
|
139
142
|
priceRange {
|
|
140
143
|
minVariantPrice {
|
|
141
|
-
...
|
|
144
|
+
...Money
|
|
142
145
|
}
|
|
143
146
|
maxVariantPrice {
|
|
144
|
-
...
|
|
147
|
+
...Money
|
|
145
148
|
}
|
|
146
149
|
}
|
|
147
150
|
compareAtPriceRange {
|
|
148
151
|
minVariantPrice {
|
|
149
|
-
...
|
|
152
|
+
...Money
|
|
150
153
|
}
|
|
151
154
|
maxVariantPrice {
|
|
152
|
-
...
|
|
155
|
+
...Money
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
158
|
}
|
|
@@ -159,25 +162,9 @@ fragment ProductBase on Product {
|
|
|
159
162
|
...ProductCard
|
|
160
163
|
description
|
|
161
164
|
descriptionHtml
|
|
162
|
-
|
|
163
|
-
minVariantPrice {
|
|
164
|
-
...Money
|
|
165
|
-
}
|
|
166
|
-
maxVariantPrice {
|
|
167
|
-
...Money
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
originalCompareAtPriceRange {
|
|
171
|
-
minVariantPrice {
|
|
172
|
-
...Money
|
|
173
|
-
}
|
|
174
|
-
maxVariantPrice {
|
|
175
|
-
...Money
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
totalInventory
|
|
165
|
+
stockTotal
|
|
179
166
|
type
|
|
180
|
-
|
|
167
|
+
requiresRecipientInfo
|
|
181
168
|
# Faza 1.5 (Decision D-A v3 + D-B)
|
|
182
169
|
visibility
|
|
183
170
|
attributeSetId
|
|
@@ -188,10 +175,34 @@ fragment ProductBase on Product {
|
|
|
188
175
|
fragment ProductFull on Product {
|
|
189
176
|
...ProductBase
|
|
190
177
|
images(first: 20) {
|
|
191
|
-
|
|
178
|
+
edges {
|
|
179
|
+
cursor
|
|
180
|
+
node {
|
|
181
|
+
...ImageFull
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
nodes {
|
|
185
|
+
...ImageFull
|
|
186
|
+
}
|
|
187
|
+
pageInfo {
|
|
188
|
+
...PageInfo
|
|
189
|
+
}
|
|
190
|
+
totalCount
|
|
192
191
|
}
|
|
193
192
|
variants(first: 100) {
|
|
194
|
-
|
|
193
|
+
edges {
|
|
194
|
+
cursor
|
|
195
|
+
node {
|
|
196
|
+
...ProductVariant
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
nodes {
|
|
200
|
+
...ProductVariant
|
|
201
|
+
}
|
|
202
|
+
pageInfo {
|
|
203
|
+
...PageInfo
|
|
204
|
+
}
|
|
205
|
+
totalCount
|
|
195
206
|
}
|
|
196
207
|
seo {
|
|
197
208
|
title
|
|
@@ -244,8 +255,8 @@ fragment Category on Category {
|
|
|
244
255
|
|
|
245
256
|
fragment MailingAddress on MailingAddress {
|
|
246
257
|
id
|
|
247
|
-
|
|
248
|
-
|
|
258
|
+
streetLine1
|
|
259
|
+
streetLine2
|
|
249
260
|
city
|
|
250
261
|
company
|
|
251
262
|
country
|
|
@@ -253,9 +264,9 @@ fragment MailingAddress on MailingAddress {
|
|
|
253
264
|
firstName
|
|
254
265
|
lastName
|
|
255
266
|
phone
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
267
|
+
state
|
|
268
|
+
stateCode
|
|
269
|
+
postalCode
|
|
259
270
|
isDefault
|
|
260
271
|
}
|
|
261
272
|
|
|
@@ -271,12 +282,13 @@ fragment Customer on Customer {
|
|
|
271
282
|
lastName
|
|
272
283
|
displayName
|
|
273
284
|
phone
|
|
274
|
-
|
|
275
|
-
|
|
285
|
+
isEmailVerified
|
|
286
|
+
emailMarketing
|
|
287
|
+
tags
|
|
276
288
|
defaultAddress {
|
|
277
289
|
...MailingAddress
|
|
278
290
|
}
|
|
279
|
-
|
|
291
|
+
orderCount
|
|
280
292
|
totalSpent {
|
|
281
293
|
...Money
|
|
282
294
|
}
|
|
@@ -287,20 +299,22 @@ fragment Customer on Customer {
|
|
|
287
299
|
fragment Order on Order {
|
|
288
300
|
id
|
|
289
301
|
orderNumber
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
302
|
+
totals {
|
|
303
|
+
total {
|
|
304
|
+
...Money
|
|
305
|
+
}
|
|
306
|
+
subtotal {
|
|
307
|
+
...Money
|
|
308
|
+
}
|
|
309
|
+
totalTax {
|
|
310
|
+
...Money
|
|
311
|
+
}
|
|
312
|
+
totalShipping {
|
|
313
|
+
...Money
|
|
314
|
+
}
|
|
301
315
|
}
|
|
302
316
|
status
|
|
303
|
-
|
|
317
|
+
paymentStatus
|
|
304
318
|
fulfillmentStatus
|
|
305
319
|
processedAt
|
|
306
320
|
confirmedAt
|
|
@@ -309,7 +323,7 @@ fragment Order on Order {
|
|
|
309
323
|
shippingAddress {
|
|
310
324
|
...MailingAddress
|
|
311
325
|
}
|
|
312
|
-
|
|
326
|
+
itemCount
|
|
313
327
|
}
|
|
314
328
|
|
|
315
329
|
# ============================================
|
|
@@ -317,37 +331,40 @@ fragment Order on Order {
|
|
|
317
331
|
# ============================================
|
|
318
332
|
|
|
319
333
|
fragment CartCost on CartCost {
|
|
320
|
-
|
|
321
|
-
...
|
|
334
|
+
total {
|
|
335
|
+
...Money
|
|
336
|
+
}
|
|
337
|
+
subtotal {
|
|
338
|
+
...Money
|
|
322
339
|
}
|
|
323
|
-
|
|
324
|
-
...
|
|
340
|
+
totalTax {
|
|
341
|
+
...Money
|
|
325
342
|
}
|
|
326
|
-
|
|
327
|
-
...
|
|
343
|
+
totalDuty {
|
|
344
|
+
...Money
|
|
328
345
|
}
|
|
329
|
-
|
|
330
|
-
...
|
|
346
|
+
checkoutCharge {
|
|
347
|
+
...Money
|
|
331
348
|
}
|
|
332
349
|
}
|
|
333
350
|
|
|
334
351
|
fragment CartLineCost on CartLineCost {
|
|
335
|
-
|
|
336
|
-
...
|
|
352
|
+
pricePerUnit {
|
|
353
|
+
...Money
|
|
337
354
|
}
|
|
338
|
-
|
|
339
|
-
...
|
|
355
|
+
subtotal {
|
|
356
|
+
...Money
|
|
340
357
|
}
|
|
341
|
-
|
|
342
|
-
...
|
|
358
|
+
total {
|
|
359
|
+
...Money
|
|
343
360
|
}
|
|
344
|
-
|
|
345
|
-
...
|
|
361
|
+
compareAtPricePerUnit {
|
|
362
|
+
...Money
|
|
346
363
|
}
|
|
347
364
|
}
|
|
348
365
|
|
|
349
366
|
# Typed customer-filled attribute snapshot (Faza 1 R5 + Decision D-A v3 + D-I).
|
|
350
|
-
# Distinct from CartLine.attributes (
|
|
367
|
+
# Distinct from CartLine.attributes (raw KV line item properties).
|
|
351
368
|
fragment AttributeSelection on AttributeSelection {
|
|
352
369
|
attributeDefinitionId
|
|
353
370
|
attributeName
|
|
@@ -367,7 +384,7 @@ fragment AttributeSelection on AttributeSelection {
|
|
|
367
384
|
fragment CartLine on CartLine {
|
|
368
385
|
id
|
|
369
386
|
quantity
|
|
370
|
-
|
|
387
|
+
variant {
|
|
371
388
|
...ProductVariant
|
|
372
389
|
}
|
|
373
390
|
cost {
|
|
@@ -394,7 +411,7 @@ fragment CartBuyerIdentity on CartBuyerIdentity {
|
|
|
394
411
|
|
|
395
412
|
fragment CartDiscountCode on CartDiscountCode {
|
|
396
413
|
code
|
|
397
|
-
|
|
414
|
+
isApplicable
|
|
398
415
|
}
|
|
399
416
|
|
|
400
417
|
fragment CartDiscountAllocation on CartDiscountAllocation {
|
|
@@ -412,7 +429,23 @@ fragment Cart on Cart {
|
|
|
412
429
|
...CartCost
|
|
413
430
|
}
|
|
414
431
|
lines(first: 100) {
|
|
415
|
-
|
|
432
|
+
edges {
|
|
433
|
+
cursor
|
|
434
|
+
node {
|
|
435
|
+
... on CartLine {
|
|
436
|
+
...CartLine
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
nodes {
|
|
441
|
+
... on CartLine {
|
|
442
|
+
...CartLine
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
pageInfo {
|
|
446
|
+
...PageInfo
|
|
447
|
+
}
|
|
448
|
+
totalCount
|
|
416
449
|
}
|
|
417
450
|
buyerIdentity {
|
|
418
451
|
...CartBuyerIdentity
|
|
@@ -460,8 +493,8 @@ fragment SocialLinks on SocialLinks {
|
|
|
460
493
|
}
|
|
461
494
|
|
|
462
495
|
fragment ShopAddress on ShopAddress {
|
|
463
|
-
|
|
464
|
-
|
|
496
|
+
streetLine1
|
|
497
|
+
streetLine2
|
|
465
498
|
city
|
|
466
499
|
state
|
|
467
500
|
postalCode
|
|
@@ -513,7 +546,11 @@ fragment Shop on Shop {
|
|
|
513
546
|
id
|
|
514
547
|
name
|
|
515
548
|
description
|
|
516
|
-
primaryDomain
|
|
549
|
+
primaryDomain {
|
|
550
|
+
host
|
|
551
|
+
url
|
|
552
|
+
isSslEnabled
|
|
553
|
+
}
|
|
517
554
|
currencyCode
|
|
518
555
|
supportedCurrencies
|
|
519
556
|
paymentCurrencies
|
|
@@ -567,12 +604,6 @@ fragment AvailablePaymentMethods on AvailablePaymentMethods {
|
|
|
567
604
|
# Checkout Fragments
|
|
568
605
|
# ============================================
|
|
569
606
|
|
|
570
|
-
fragment CheckoutUserError on CheckoutUserError {
|
|
571
|
-
field
|
|
572
|
-
message
|
|
573
|
-
code
|
|
574
|
-
}
|
|
575
|
-
|
|
576
607
|
fragment ShippingRate on ShippingRate {
|
|
577
608
|
handle
|
|
578
609
|
title
|
|
@@ -608,7 +639,7 @@ fragment DiscountAffectedItem on DiscountAffectedItem {
|
|
|
608
639
|
|
|
609
640
|
fragment DiscountApplication on DiscountApplication {
|
|
610
641
|
code
|
|
611
|
-
|
|
642
|
+
isApplicable
|
|
612
643
|
type
|
|
613
644
|
value {
|
|
614
645
|
...Money
|
|
@@ -625,7 +656,7 @@ fragment DiscountApplication on DiscountApplication {
|
|
|
625
656
|
|
|
626
657
|
fragment DiscountCode on DiscountCode {
|
|
627
658
|
code
|
|
628
|
-
|
|
659
|
+
isApplicable
|
|
629
660
|
}
|
|
630
661
|
|
|
631
662
|
fragment CheckoutLineItem on CheckoutLineItem {
|
|
@@ -633,10 +664,10 @@ fragment CheckoutLineItem on CheckoutLineItem {
|
|
|
633
664
|
title
|
|
634
665
|
variantTitle
|
|
635
666
|
quantity
|
|
636
|
-
|
|
667
|
+
pricePerUnit {
|
|
637
668
|
...Money
|
|
638
669
|
}
|
|
639
|
-
|
|
670
|
+
total {
|
|
640
671
|
...Money
|
|
641
672
|
}
|
|
642
673
|
variantId
|
|
@@ -661,8 +692,8 @@ fragment AppliedGiftCard on AppliedGiftCard {
|
|
|
661
692
|
|
|
662
693
|
fragment Checkout on Checkout {
|
|
663
694
|
id
|
|
664
|
-
|
|
665
|
-
|
|
695
|
+
isReady
|
|
696
|
+
isCompleted
|
|
666
697
|
completedOrderId
|
|
667
698
|
webUrl
|
|
668
699
|
lineItems {
|
|
@@ -695,24 +726,16 @@ fragment Checkout on Checkout {
|
|
|
695
726
|
...PaymentMethod
|
|
696
727
|
}
|
|
697
728
|
selectedPaymentMethodId
|
|
698
|
-
|
|
699
|
-
...Money
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
...Money
|
|
703
|
-
|
|
704
|
-
totalTax {
|
|
705
|
-
...Money
|
|
729
|
+
cost {
|
|
730
|
+
subtotal { ...Money }
|
|
731
|
+
total { ...Money }
|
|
732
|
+
totalTax { ...Money }
|
|
733
|
+
totalShipping { ...Money }
|
|
734
|
+
totalDiscounts { ...Money }
|
|
706
735
|
}
|
|
707
736
|
taxLines {
|
|
708
737
|
...TaxLine
|
|
709
738
|
}
|
|
710
|
-
totalDiscounts {
|
|
711
|
-
...Money
|
|
712
|
-
}
|
|
713
|
-
totalPrice {
|
|
714
|
-
...Money
|
|
715
|
-
}
|
|
716
739
|
# GAP-001: Gift Card Checkout Integration
|
|
717
740
|
appliedGiftCards {
|
|
718
741
|
...AppliedGiftCard
|
|
@@ -767,7 +790,7 @@ fragment Shipment on Shipment {
|
|
|
767
790
|
trackingUrl
|
|
768
791
|
labelUrl
|
|
769
792
|
status
|
|
770
|
-
|
|
793
|
+
estimatedDeliveryAt
|
|
771
794
|
shippedAt
|
|
772
795
|
deliveredAt
|
|
773
796
|
recipientAddress {
|
|
@@ -793,7 +816,7 @@ fragment ShipmentBasic on Shipment {
|
|
|
793
816
|
trackingNumber
|
|
794
817
|
trackingUrl
|
|
795
818
|
status
|
|
796
|
-
|
|
819
|
+
estimatedDeliveryAt
|
|
797
820
|
shippedAt
|
|
798
821
|
deliveredAt
|
|
799
822
|
createdAt
|
|
@@ -875,23 +898,9 @@ fragment ReturnReasonOption on ReturnReasonOption {
|
|
|
875
898
|
# Gift Card Fragments (R32 - Gift Cards)
|
|
876
899
|
# ============================================
|
|
877
900
|
|
|
878
|
-
fragment GiftCardTransaction on GiftCardTransaction {
|
|
879
|
-
id
|
|
880
|
-
type
|
|
881
|
-
amount {
|
|
882
|
-
...Money
|
|
883
|
-
}
|
|
884
|
-
balanceAfter {
|
|
885
|
-
...Money
|
|
886
|
-
}
|
|
887
|
-
orderId
|
|
888
|
-
createdAt
|
|
889
|
-
}
|
|
890
|
-
|
|
891
901
|
fragment GiftCard on GiftCard {
|
|
892
902
|
id
|
|
893
903
|
maskedCode
|
|
894
|
-
lastCharacters
|
|
895
904
|
status
|
|
896
905
|
initialAmount {
|
|
897
906
|
...Money
|
|
@@ -902,9 +911,6 @@ fragment GiftCard on GiftCard {
|
|
|
902
911
|
expiresAt
|
|
903
912
|
recipientName
|
|
904
913
|
message
|
|
905
|
-
transactions {
|
|
906
|
-
...GiftCardTransaction
|
|
907
|
-
}
|
|
908
914
|
createdAt
|
|
909
915
|
}
|
|
910
916
|
|
|
@@ -914,7 +920,7 @@ fragment GiftCardError on GiftCardError {
|
|
|
914
920
|
}
|
|
915
921
|
|
|
916
922
|
fragment GiftCardValidation on GiftCardValidation {
|
|
917
|
-
|
|
923
|
+
isValid
|
|
918
924
|
availableBalance {
|
|
919
925
|
...Money
|
|
920
926
|
}
|
|
@@ -1150,11 +1156,11 @@ fragment LoyaltyReward on LoyaltyReward {
|
|
|
1150
1156
|
image {
|
|
1151
1157
|
...ImageCard
|
|
1152
1158
|
}
|
|
1153
|
-
|
|
1159
|
+
isAvailable
|
|
1154
1160
|
tierRequired {
|
|
1155
1161
|
...LoyaltyTier
|
|
1156
1162
|
}
|
|
1157
|
-
|
|
1163
|
+
redemptionsRemaining
|
|
1158
1164
|
}
|
|
1159
1165
|
|
|
1160
1166
|
fragment PointsEstimate on PointsEstimate {
|
|
@@ -1166,12 +1172,12 @@ fragment PointsEstimate on PointsEstimate {
|
|
|
1166
1172
|
|
|
1167
1173
|
fragment LoyaltyAction on LoyaltyAction {
|
|
1168
1174
|
type
|
|
1169
|
-
|
|
1175
|
+
isEnabled
|
|
1170
1176
|
points
|
|
1171
1177
|
}
|
|
1172
1178
|
|
|
1173
1179
|
fragment LoyaltySettings on LoyaltySettings {
|
|
1174
|
-
|
|
1180
|
+
isEnabled
|
|
1175
1181
|
pointsName
|
|
1176
1182
|
pointsPerCurrency
|
|
1177
1183
|
pointsExpiryMonths
|
|
@@ -1224,6 +1230,7 @@ fragment ProductReview on ProductReview {
|
|
|
1224
1230
|
authorName
|
|
1225
1231
|
isVerifiedPurchase
|
|
1226
1232
|
helpfulCount
|
|
1233
|
+
unhelpfulCount
|
|
1227
1234
|
response
|
|
1228
1235
|
responseAt
|
|
1229
1236
|
createdAt
|
|
@@ -1250,7 +1257,7 @@ fragment WishlistItem on WishlistItem {
|
|
|
1250
1257
|
product {
|
|
1251
1258
|
...ProductCard
|
|
1252
1259
|
}
|
|
1253
|
-
|
|
1260
|
+
priceWhenAdded {
|
|
1254
1261
|
...Money
|
|
1255
1262
|
}
|
|
1256
1263
|
notifyOnSale
|
|
@@ -1296,7 +1303,7 @@ fragment BlogPost on BlogPost {
|
|
|
1296
1303
|
slug
|
|
1297
1304
|
excerpt
|
|
1298
1305
|
content
|
|
1299
|
-
|
|
1306
|
+
contentFormat
|
|
1300
1307
|
featuredImage {
|
|
1301
1308
|
...ImageCard
|
|
1302
1309
|
}
|
|
@@ -1315,7 +1322,7 @@ fragment BlogPost on BlogPost {
|
|
|
1315
1322
|
...BlogTag
|
|
1316
1323
|
}
|
|
1317
1324
|
publishedAt
|
|
1318
|
-
|
|
1325
|
+
readingTimeMinutes
|
|
1319
1326
|
viewCount
|
|
1320
1327
|
commentCount
|
|
1321
1328
|
allowComments
|
|
@@ -1362,23 +1369,23 @@ fragment CartRecommendation on CartRecommendations {
|
|
|
1362
1369
|
}
|
|
1363
1370
|
|
|
1364
1371
|
# ============================================
|
|
1365
|
-
# Store Availability Fragments (
|
|
1372
|
+
# Store Availability Fragments (BOPIS / multi-location)
|
|
1366
1373
|
# ============================================
|
|
1367
1374
|
# Field access:
|
|
1368
1375
|
# - `available: Boolean!` — always public.
|
|
1369
|
-
# - `
|
|
1376
|
+
# - `pickupTime: String` — public, localized merchant-configured string.
|
|
1370
1377
|
# - `quantityAvailable: Int` — TOKEN-GATED (null for anonymous, Int for authenticated).
|
|
1371
1378
|
# - `location: Location!` — public, includes coords + businessHours when configured.
|
|
1372
1379
|
|
|
1373
1380
|
fragment LocationAddress on LocationAddress {
|
|
1374
|
-
|
|
1375
|
-
|
|
1381
|
+
streetLine1
|
|
1382
|
+
streetLine2
|
|
1376
1383
|
city
|
|
1377
1384
|
country
|
|
1378
1385
|
countryCode
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1386
|
+
state
|
|
1387
|
+
stateCode
|
|
1388
|
+
postalCode
|
|
1382
1389
|
phone
|
|
1383
1390
|
latitude
|
|
1384
1391
|
longitude
|
|
@@ -1404,7 +1411,7 @@ fragment Location on Location {
|
|
|
1404
1411
|
id
|
|
1405
1412
|
name
|
|
1406
1413
|
type
|
|
1407
|
-
|
|
1414
|
+
supportsPickup
|
|
1408
1415
|
timezone
|
|
1409
1416
|
pickupInstructions
|
|
1410
1417
|
address {
|
|
@@ -1416,9 +1423,9 @@ fragment Location on Location {
|
|
|
1416
1423
|
}
|
|
1417
1424
|
|
|
1418
1425
|
fragment StoreAvailability on StoreAvailability {
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1426
|
+
isAvailable
|
|
1427
|
+
availableStock
|
|
1428
|
+
pickupTime
|
|
1422
1429
|
location {
|
|
1423
1430
|
...Location
|
|
1424
1431
|
}
|
|
@@ -1441,8 +1448,8 @@ fragment VariantStoreAvailability on ProductVariant {
|
|
|
1441
1448
|
id
|
|
1442
1449
|
title
|
|
1443
1450
|
sku
|
|
1444
|
-
|
|
1445
|
-
|
|
1451
|
+
isAvailable
|
|
1452
|
+
availableStock
|
|
1446
1453
|
storeAvailability(first: 10) {
|
|
1447
1454
|
...StoreAvailabilityConnection
|
|
1448
1455
|
}
|
|
@@ -1457,7 +1464,7 @@ fragment ShopPage on ShopPage {
|
|
|
1457
1464
|
handle
|
|
1458
1465
|
title
|
|
1459
1466
|
body
|
|
1460
|
-
|
|
1467
|
+
excerpt
|
|
1461
1468
|
seo {
|
|
1462
1469
|
title
|
|
1463
1470
|
description
|
|
@@ -1500,7 +1507,6 @@ fragment Menu on Menu {
|
|
|
1500
1507
|
id
|
|
1501
1508
|
handle
|
|
1502
1509
|
title
|
|
1503
|
-
itemsCount
|
|
1504
1510
|
items {
|
|
1505
1511
|
...MenuItem
|
|
1506
1512
|
}
|
|
@@ -1518,7 +1524,7 @@ fragment UrlRedirect on UrlRedirect {
|
|
|
1518
1524
|
# ============================================
|
|
1519
1525
|
# Unified Product Configurator (Faza 1 + Faza 1.5 — Decision D-A v3 + D-I)
|
|
1520
1526
|
# ============================================
|
|
1521
|
-
# Hybrid
|
|
1527
|
+
# Hybrid AttributeSet binding:
|
|
1522
1528
|
# - Product.attributes returns UNION of set definitions (via Product.attributeSetId)
|
|
1523
1529
|
# and per-product scoped definitions (AttributeDefinition.scopeProductId = product.id)
|
|
1524
1530
|
# - CUSTOMER fillingMode → rendered in storefront configurator UX
|
|
@@ -1530,7 +1536,7 @@ fragment LinkedVariantSummary on LinkedVariantSummary {
|
|
|
1530
1536
|
productId
|
|
1531
1537
|
title
|
|
1532
1538
|
sku
|
|
1533
|
-
|
|
1539
|
+
availableStock
|
|
1534
1540
|
isAvailable
|
|
1535
1541
|
trackQuantity
|
|
1536
1542
|
}
|