@salesforce/afv-skills 1.65.0 → 1.65.1
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/package.json +1 -1
- package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
- package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
- package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
- package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
- package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
- package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
- package/skills/automation-company-profile-info-query/SKILL.md +0 -51
- package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
- package/skills/automation-flow-coordinate/SKILL.md +0 -95
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
- package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
- package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
- package/skills/commerce-credit-memo-create/SKILL.md +0 -139
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
- package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
- package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
- package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
- package/skills/commerce-fees-apply/SKILL.md +0 -227
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
- package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
- package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
- package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
- package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
- package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
- package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
- package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
- package/skills/commerce-product-details-get/SKILL.md +0 -363
- package/skills/commerce-product-search/SKILL.md +0 -563
- package/skills/commerce-react-storefront-create/SKILL.md +0 -350
- package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
- package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
- package/skills/communications-initial-setup-configure/SKILL.md +0 -630
- package/skills/communications-multisite-configure/SKILL.md +0 -571
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
- package/skills/communications-tmf-integrate/SKILL.md +0 -1368
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
- package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
- package/skills/data360-activation-create/SKILL.md +0 -104
- package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
- package/skills/data360-activation-target-create/SKILL.md +0 -93
- package/skills/data360-activation-v2-create/SKILL.md +0 -456
- package/skills/data360-audience-dmo-get/SKILL.md +0 -38
- package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
- package/skills/data360-calculated-insight-create/SKILL.md +0 -148
- package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
- package/skills/data360-code-extension-create/SKILL.md +0 -115
- package/skills/data360-communication-capping-create/SKILL.md +0 -227
- package/skills/data360-connection-create/SKILL.md +0 -491
- package/skills/data360-content-lens-create/SKILL.md +0 -181
- package/skills/data360-data-action-create/SKILL.md +0 -126
- package/skills/data360-data-action-target-create/SKILL.md +0 -181
- package/skills/data360-data-clean-room-create/SKILL.md +0 -238
- package/skills/data360-data-governance-create/SKILL.md +0 -746
- package/skills/data360-data-graph-create/SKILL.md +0 -82
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
- package/skills/data360-data-lake-object-create/SKILL.md +0 -207
- package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
- package/skills/data360-data-model-object-create/SKILL.md +0 -128
- package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
- package/skills/data360-data-space-create/SKILL.md +0 -161
- package/skills/data360-data-streams-create/SKILL.md +0 -324
- package/skills/data360-engagement-signal-get/SKILL.md +0 -38
- package/skills/data360-experiment-create/SKILL.md +0 -82
- package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
- package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
- package/skills/data360-identity-resolution-create/SKILL.md +0 -115
- package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
- package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
- package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
- package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
- package/skills/experience-afv-query/SKILL.md +0 -234
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
- package/skills/experience-apex-components-configure/SKILL.md +0 -69
- package/skills/experience-apex-pages-configure/SKILL.md +0 -107
- package/skills/experience-app-home-configure/SKILL.md +0 -76
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
- package/skills/experience-briefcase-configure/SKILL.md +0 -287
- package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
- package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
- package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
- package/skills/experience-content-assets-configure/SKILL.md +0 -86
- package/skills/experience-custom-domain-create/SKILL.md +0 -727
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
- package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
- package/skills/experience-flow-category-configure/SKILL.md +0 -117
- package/skills/experience-formula-configure/SKILL.md +0 -358
- package/skills/experience-global-actions-configure/SKILL.md +0 -69
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
- package/skills/experience-instrumentation-configure/SKILL.md +0 -64
- package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
- package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
- package/skills/experience-lightning-out-configure/SKILL.md +0 -129
- package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
- package/skills/experience-lightning-types-query/SKILL.md +0 -98
- package/skills/experience-malware-scan-configure/SKILL.md +0 -71
- package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
- package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
- package/skills/experience-notification-types-configure/SKILL.md +0 -206
- package/skills/experience-notifications-configure/SKILL.md +0 -75
- package/skills/experience-record-discovery-query/SKILL.md +0 -227
- package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
- package/skills/experience-schema-builder-open/SKILL.md +0 -38
- package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
- package/skills/experience-static-resources-configure/SKILL.md +0 -74
- package/skills/field-service-setup-coordinate/SKILL.md +0 -62
- package/skills/field-service-work-plan-configure/SKILL.md +0 -253
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
- package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
- package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
- package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
- package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
- package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
- package/skills/health-cloud-initial-configure/SKILL.md +0 -511
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
- package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
- package/skills/industries-account-score-settings-query/SKILL.md +0 -78
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
- package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
- package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
- package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
- package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
- package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
- package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
- package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
- package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
- package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
- package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
- package/skills/industries-compliance-configure/SKILL.md +0 -102
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
- package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
- package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
- package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
- package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
- package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
- package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
- package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
- package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
- package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
- package/skills/industries-decision-tables-configure/SKILL.md +0 -439
- package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
- package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
- package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
- package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
- package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
- package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
- package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
- package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
- package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
- package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
- package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
- package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
- package/skills/industries-home-health-skills-create/SKILL.md +0 -31
- package/skills/industries-home-health-users-create/SKILL.md +0 -29
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
- package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
- package/skills/industries-object-enablement-configure/SKILL.md +0 -86
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
- package/skills/integration-apex-settings-configure/SKILL.md +0 -61
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
- package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
- package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: commerce-estimate-delivery-date-query
|
|
3
|
-
description: "Use this skill when users want to use this workflow when someone wants a real-time DELIVERY DATE ESTIMATE for one or more products shipping to a customer address — \"when will this arrive?\", \"estimate the delivery date\", \"what's the ship date for these items to <address>?\". Trigger when users mention estimate, delivery, date."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
accessCheck: "CommerceDelivery.orgHasDeliveryEstimationServiceEnabled"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Querying Estimate Delivery Date
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Use this workflow when someone wants a real-time DELIVERY DATE ESTIMATE for one or more products
|
|
14
|
-
shipping to a customer address — "when will this arrive?", "estimate the delivery date", "what's
|
|
15
|
-
the ship date for these items to <address>?". It does NOT change any configuration; it is a
|
|
16
|
-
read-only estimate that reflects the current DeliveryEstimationSetup, its per-location and any
|
|
17
|
-
active temporary processing-time overrides, and the chosen carrier/method routing.
|
|
18
|
-
|
|
19
|
-
It guides the caller through building the request one piece at a time — do not ask for raw JSON:
|
|
20
|
-
pick the DeliveryEstimationSetup, choose products + quantities, collect the delivery address —
|
|
21
|
-
then calls EstimateDeliveryDate (at API v68.0) and reads back the per-method ship-date /
|
|
22
|
-
delivery-date window. The shipping carrier methods are NOT a customer choice: every method
|
|
23
|
-
attached to the setup's LocationGroup or any Location in that group is selected automatically, and
|
|
24
|
-
the customer is told which ones were used. The full request contract (endpoint, the
|
|
25
|
-
singular-vs-plural carrier rule, the
|
|
26
|
-
delivery-address part-combinations, product/quantity limits, and the optional order date) lives
|
|
27
|
-
in agent_guidance and the steps.
|
|
28
|
-
|
|
29
|
-
ADMIN/CUSTOMER-FACING WORDING: answer in plain language — e.g. "For 51 units shipping from your
|
|
30
|
-
West locations to Hollywood, FL, estimating with the shipping methods set up for this
|
|
31
|
-
configuration." followed by a per-method table of ship date + delivery window + order-by deadline.
|
|
32
|
-
EVERY time value in the response is offset-less UTC — convert all of them into one named display
|
|
33
|
-
zone before quoting, and derive the ship/delivery DAY from the converted instant rather than the
|
|
34
|
-
wire string's date part (reading it raw is a full day late for any location whose wire time falls
|
|
35
|
-
before the display zone's offset). Don't surface the
|
|
36
|
-
Connect path, sObject/field API names, external-reference strings, internal class or annotation
|
|
37
|
-
names, or raw HTTP codes.
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
Guided real-time DELIVERY DATE ESTIMATE. Read-only: builds an EstimateDeliveryDate request with
|
|
42
|
-
the customer, one piece at a time, and returns the ship/delivery window. Changes nothing.
|
|
43
|
-
|
|
44
|
-
Flow:
|
|
45
|
-
|
|
46
|
-
### Phase 1: resolve-delivery-estimation-setup -> list setups (Name + ExternalReference); customer...
|
|
47
|
-
|
|
48
|
-
resolve-delivery-estimation-setup -> list setups (Name + ExternalReference); customer picks
|
|
49
|
-
one. Its ExternalReference is the URL PATH segment (the ONLY setup identifier — no body key);
|
|
50
|
-
capture its Id, Name, and LocationGroupId too for the recap and joins.
|
|
51
|
-
|
|
52
|
-
### Phase 2: list-locations-in-group -> the group's Locations. Their Ids PLUS...
|
|
53
|
-
|
|
54
|
-
list-locations-in-group -> the group's Locations. Their Ids PLUS the LocationGroup Id are the
|
|
55
|
-
location sources for the next step.
|
|
56
|
-
|
|
57
|
-
### Phase 3: list-setup-shipping-carrier-methods -> every method attached to that setup...
|
|
58
|
-
|
|
59
|
-
list-setup-shipping-carrier-methods -> every method attached to that setup at EITHER level
|
|
60
|
-
(the group itself or any Location in it), with its parent carrier. DEDUPE to distinct methods
|
|
61
|
-
first — the union returns one row per (source, method). ALL of them are selected
|
|
62
|
-
AUTOMATICALLY — the customer is TOLD what was picked, not asked to pick. Group by distinct
|
|
63
|
-
carrier. This step also returns each method's MinTransitTime, which is the PUSH PRE-CHECK: a
|
|
64
|
-
null there means the setup push in step 5 would be rejected, so don't offer it (see that
|
|
65
|
-
step's PUSH PRE-CHECK).
|
|
66
|
-
|
|
67
|
-
### Phase 4: list-products -> present SKU'd products; customer picks products...
|
|
68
|
-
|
|
69
|
-
list-products -> present SKU'd products; customer picks products + a positive whole-number
|
|
70
|
-
quantity each (<=2000 products).
|
|
71
|
-
|
|
72
|
-
### Phase 5: estimate-delivery-date -> collect the delivery address (country +...
|
|
73
|
-
|
|
74
|
-
estimate-delivery-date -> collect the delivery address (country + postalCode REQUIRED); ask the
|
|
75
|
-
order-date choice_point (now vs a specific order date, and if specific, what date — ISO-8601
|
|
76
|
-
WITH a timezone offset); then POST and report the per-method ship/delivery window — as ONE
|
|
77
|
-
complete table(s) (see the step's RECAP LAYOUT), plus a no-result section that distinguishes
|
|
78
|
-
evidence-backed sync cases from unexplained absences and offers a push only when supported.
|
|
79
|
-
|
|
80
|
-
Contract authored from the endpoint's own request contract rather than the generated v67 OAS,
|
|
81
|
-
which is stale (singular-only), then live-validated end-to-end on bopis 2026-08-06 at v68.0:
|
|
82
|
-
singular carrier, plural shippingCarriers, and singular+orderDate all returned 201 (orderDate
|
|
83
|
-
observed to shift the estimate).
|
|
84
|
-
|
|
85
|
-
## Critical Constraints
|
|
86
|
-
|
|
87
|
-
**Preconditions:**
|
|
88
|
-
|
|
89
|
-
- The Delivery Estimation Service must be enabled/provisioned in the org (Connect
|
|
90
|
-
org-access-check Delivery Estimation Service enabled). Without it the
|
|
91
|
-
estimate call is rejected. (check: `Delivery Estimation Service enabled`)
|
|
92
|
-
- At least one DeliveryEstimationSetup record (with its ExternalReference) must exist — this
|
|
93
|
-
skill estimates against an existing setup; it does not create one. (check: `DeliveryEstimationSetup record exists`)
|
|
94
|
-
- At least one ShippingCarrierMethod must be assigned (via LocationShippingCarrierMethod) to the
|
|
95
|
-
setup at EITHER level — the LocationGroup itself or any Location in that group. Both levels are
|
|
96
|
-
estimable and both are auto-selected: on setup DE-1 the group alone holds 2 methods while
|
|
97
|
-
the group-plus-locations union holds 12, and all twelve estimated cleanly in one call. See
|
|
98
|
-
list-setup-shipping-carrier-methods for the measurements. (check: `ShippingCarrierMethod assigned with LocationSourceId = the setup's LocationGroupId or any of its Location Ids`)
|
|
99
|
-
- The setup must have been PUSHED to the delivery service since those methods were attached. The
|
|
100
|
-
estimate resolves methods from the service's synced copy, so a freshly attached
|
|
101
|
-
method is rejected as "not configured" until the setup is pushed
|
|
102
|
-
(enable-and-push-delivery-estimation-setup). DeliveryEstimationSetup.SyncStatus is not a
|
|
103
|
-
reliable indicator — it reads SYNCED even while a newly attached method is still unpushed.
|
|
104
|
-
This is a SOFT precondition: a stale retained configuration can yield partial results plus a
|
|
105
|
-
matching "not configured" error. The skill reports every no-result method, offers a push only
|
|
106
|
-
when response evidence supports it, and retries once after an accepted push. No Core-queryable
|
|
107
|
-
signal for push state exists, which is why it is handled reactively. (check: `Setup pushed to the delivery service after the current method set was attached`)
|
|
108
|
-
- The chosen DeliveryEstimationSetup must have a LocationGroupId — it is the only path from the
|
|
109
|
-
setup to its estimable shipping methods. (check: `DeliveryEstimationSetup.LocationGroupId is set`)
|
|
110
|
-
- The products being estimated must exist as Product2 records with a StockKeepingUnit (the
|
|
111
|
-
request keys products by SKU). (check: `Product2 records with StockKeepingUnit exist`)
|
|
112
|
-
|
|
113
|
-
**Operational rules:**
|
|
114
|
-
|
|
115
|
-
- METHOD AUTO-SELECTION (why steps 2-3 exist, and why they span BOTH levels): DeliveryEstimationSetup
|
|
116
|
-
has NO carrier or method field, so the only route to its shipping methods is
|
|
117
|
-
LocationGroupId -> LocationShippingCarrierMethod -> ShippingCarrierMethod -> ShippingCarrier.
|
|
118
|
-
LocationSourceId is polymorphic, and a method attached at EITHER level — the group itself or any
|
|
119
|
-
Location in it — is estimable, so the lookup unions both. Measured on setup DE-1: the
|
|
120
|
-
group-only filter returns 2 methods while the union returns 12, and all twelve estimated cleanly in
|
|
121
|
-
one combined call (36 rows, zero errors). Dedupe is mandatory on the union: 146 raw rows collapse
|
|
122
|
-
to 12 distinct methods.
|
|
123
|
-
- ESTIMABILITY IS DECIDED BY THE DELIVERY SERVICE'S RETAINED COPY, WHICH CORE CANNOT READ. Attachment
|
|
124
|
-
at either level is necessary but not sufficient: a freshly attached method appears in step 3 and is
|
|
125
|
-
still rejected by step 5 until the setup is pushed. NO CORE SIGNAL FOR PUSH STATE
|
|
126
|
-
EXISTS — SyncStatus, LastSyncedMessage, the junction's field set, a LastModifiedDate-vs-
|
|
127
|
-
LastSyncedDate heuristic, and a read endpoint were all investigated and all fail (the step's NO
|
|
128
|
-
PUSH-STATE SIGNAL block records each). That negative is WHY this skill submits everything attached
|
|
129
|
-
and reports missing results rather than trying to predict them. Sending a method that is not in
|
|
130
|
-
the service's retained copy is safe:
|
|
131
|
-
measured 2026-08-26, it does NOT suppress the good rows or its carrier group; it only contaminates
|
|
132
|
-
the per-date success FLAGS, which is why those must not be used to suppress rows when any
|
|
133
|
-
"not configured" error is present. So treat step 5's
|
|
134
|
-
"is not configured for DeliveryEstimation" as evidence supporting a likely push remedy, not as a
|
|
135
|
-
reason to label every absent method unsynced. Offer enable-and-push-delivery-estimation-setup only
|
|
136
|
-
for evidenced/affected-carrier cases, then retry once and report the actual outcome. Match that
|
|
137
|
-
condition on the MESSAGE text, not on a code — the value has been observed as both
|
|
138
|
-
SHIPPING_CARRIER_METHOD_NOT_FOUND and INVALID_API_INPUT, and even the key differs by payload (the
|
|
139
|
-
group-level `error` object uses `code`; the setup-push failure array uses `errorCode`).
|
|
140
|
-
- ORDER DATE (order-date choice_point): ask whether to estimate as of NOW (omit orderDate) or as of
|
|
141
|
-
a SPECIFIC order date (send orderDate). NEVER forward the customer's raw words — normalize to
|
|
142
|
-
YYYY-MM-DDTHH:MM:SS(Z|±HH:MM) yourself, then gate the string on
|
|
143
|
-
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$ plus a real-calendar check before
|
|
144
|
-
calling. Offset-less timestamps, bare dates, unpadded month/day, space-separated timestamps and
|
|
145
|
-
impossible dates are all live-proven 400s with one identical ZonedDateTime message. There is no
|
|
146
|
-
API-side default instant: ASK for a missing time-of-day (it can move the ship date a full day) and
|
|
147
|
-
RESOLVE a missing zone from org data — customer's own statement > User.TimeZoneSidKey >
|
|
148
|
-
Organization.TimeZoneSidKey > ask — never a silent UTC, then disclose the instant used. Supplying
|
|
149
|
-
orderDate shifts the ship date but returns NO delivery window (success:true, no min/max, on every
|
|
150
|
-
row), so it answers "when would it ship" and not "when would it arrive" — surface that trade-off
|
|
151
|
-
rather than showing blank dates. Response times carry no offset and are UTC; convert them into ONE
|
|
152
|
-
explicitly-named display zone (resolved even when no orderDate was collected) and keep
|
|
153
|
-
orderCutoffTime PER ROW WHEN PRESENT, since the locations' cutoffs are different instants — but the
|
|
154
|
-
cutoff is OPTIONAL under EVERY routing type (measured null on all groups 2026-08-26, present
|
|
155
|
-
2026-08-25, same STANDARD setup), so read it before quoting one and never reconstruct a deadline
|
|
156
|
-
you were not given. Full procedure,
|
|
157
|
-
phrasing map, zone-precedence evidence and the measured accept/reject matrix live in the estimate
|
|
158
|
-
step's ORDER DATE guidance.
|
|
159
|
-
- CARRIER XOR (auto-derived by count of DISTINCT attached carriers): 1 carrier -> singular
|
|
160
|
-
"shippingCarrier" object; 2+ -> plural "shippingCarriers" array. Exactly one key — both ->
|
|
161
|
-
INVALID_API_INPUT, neither -> MISSING_ARGUMENT. Both shapes are live-proven 201 at v68.0.
|
|
162
|
-
- VERSION: pin v68.0 on every call. The plural "shippingCarriers" key and "orderDate" are
|
|
163
|
-
release-264 fields — REJECTED at v67.0 (HTTP 400), live-proven 201 at v68.0.
|
|
164
|
-
- ADMIN/CUSTOMER-FACING WORDING: answer in plain language (ship date + delivery window + order-by
|
|
165
|
-
deadline per method); don't surface the Connect path, sObject/field API names, ExternalReference
|
|
166
|
-
strings, internal class or annotation names, or raw HTTP codes.
|
|
167
|
-
Never say "CDS", "Commerce Delivery Service", or otherwise imply two separate systems — from the
|
|
168
|
-
customer's side this is one estimate. The guidance above names that service where it identifies
|
|
169
|
-
WHICH layer rejects what (the front door accepts an address the estimate service then refuses);
|
|
170
|
-
that distinction is for your reasoning, and what the customer hears is which address parts are
|
|
171
|
-
required. Never echo this guidance's own internal vocabulary either: "Core", "SOR" and "corpus"
|
|
172
|
-
are reasoning terms for you ("Core" separates the platform's own records from the estimate
|
|
173
|
-
service's retained copy; "SOR" and "corpus" name this workflow and the catalog it lives in). Say
|
|
174
|
-
"Salesforce" or "your org" for the platform side, and "this workflow" for the recipe itself.
|
|
175
|
-
TIMES: estimatedShipDate, estimatedDeliveryDate and orderCutoffTime are ALL offset-less UTC.
|
|
176
|
-
Convert all three into one named display zone; take the ship/delivery DAY from the converted
|
|
177
|
-
instant, never from the wire string. Multi-row answers go in ONE table whose columns include
|
|
178
|
-
Order by. Full rules live in the estimate step's RECAP LAYOUT.
|
|
179
|
-
|
|
180
|
-
## Operations Reference
|
|
181
|
-
|
|
182
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
183
|
-
|
|
184
|
-
### Summary
|
|
185
|
-
|
|
186
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
187
|
-
|-----------|---------|--------|------|------------|
|
|
188
|
-
| `resolve-delivery-estimation-setup` | read | implemented | `querySoql` | — |
|
|
189
|
-
| `list-locations-in-group` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup` |
|
|
190
|
-
| `list-setup-shipping-carrier-methods` | read | implemented | `querySoql` | `list-locations-in-group` |
|
|
191
|
-
| `list-products` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup` |
|
|
192
|
-
| `estimate-delivery-date` | read | implemented | `EstimateDeliveryDate` | `resolve-delivery-estimation-setup`, `list-locations-in-group`, `list-setup-shipping-carrier-methods`, `list-products` |
|
|
193
|
-
|
|
194
|
-
### Dependency graph
|
|
195
|
-
|
|
196
|
-
```mermaid
|
|
197
|
-
graph TD
|
|
198
|
-
resolve_delivery_estimation_setup["resolve-delivery-estimation-setup (read)"]
|
|
199
|
-
list_locations_in_group["list-locations-in-group (read)"]
|
|
200
|
-
list_setup_shipping_carrier_methods["list-setup-shipping-carrier-methods (read)"]
|
|
201
|
-
list_products["list-products (read)"]
|
|
202
|
-
estimate_delivery_date["estimate-delivery-date (read)"]
|
|
203
|
-
resolve_delivery_estimation_setup --> list_locations_in_group
|
|
204
|
-
list_locations_in_group --> list_setup_shipping_carrier_methods
|
|
205
|
-
resolve_delivery_estimation_setup --> list_products
|
|
206
|
-
resolve_delivery_estimation_setup --> estimate_delivery_date
|
|
207
|
-
list_locations_in_group --> estimate_delivery_date
|
|
208
|
-
list_setup_shipping_carrier_methods --> estimate_delivery_date
|
|
209
|
-
list_products --> estimate_delivery_date
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Read operations
|
|
213
|
-
|
|
214
|
-
#### `resolve-delivery-estimation-setup`
|
|
215
|
-
|
|
216
|
-
List the DeliveryEstimationSetup records and present each one's Name + ExternalReference so the
|
|
217
|
-
customer can choose which setup to estimate against. The chosen ExternalReference is the URL
|
|
218
|
-
path segment for the estimate call, and the chosen LocationGroupId is what the next step
|
|
219
|
-
follows to work out which shipping carrier methods this setup can actually estimate.
|
|
220
|
-
Optionally filter by a Name/ExternalReference substring.
|
|
221
|
-
|
|
222
|
-
**Call:** `querySoql` — status: `implemented`
|
|
223
|
-
|
|
224
|
-
**Inputs:**
|
|
225
|
-
|
|
226
|
-
- `nameFilter` *(`String`)* — OPTIONAL Name or ExternalReference filter (e.g. "west", "NON_PICKUP_DAYS_DEMO"). When
|
|
227
|
-
provided the query matches either field with a LIKE; when omitted, all setups are listed.
|
|
228
|
-
Source: user_input.
|
|
229
|
-
|
|
230
|
-
#### `list-locations-in-group`
|
|
231
|
-
|
|
232
|
-
List the Locations belonging to the chosen setup's LocationGroup. Those Location Ids — plus the
|
|
233
|
-
LocationGroup Id itself — are the "location sources" a ShippingCarrierMethod can be assigned
|
|
234
|
-
to, and the next step reads the assignments for all of them together. Read-only lookup.
|
|
235
|
-
|
|
236
|
-
**Call:** `querySoql` — status: `implemented`
|
|
237
|
-
|
|
238
|
-
**Inputs:**
|
|
239
|
-
|
|
240
|
-
- `locationGroupId` *(`String`)* — The chosen setup's LocationGroupId. Source:
|
|
241
|
-
resolve-delivery-estimation-setup.setup_location_group_ids (at the index of the setup the
|
|
242
|
-
customer picked).
|
|
243
|
-
|
|
244
|
-
**Depends on:** `resolve-delivery-estimation-setup`
|
|
245
|
-
|
|
246
|
-
#### `list-setup-shipping-carrier-methods`
|
|
247
|
-
|
|
248
|
-
Read every ShippingCarrierMethod ATTACHED to the chosen setup — assigned via
|
|
249
|
-
LocationShippingCarrierMethod either to the setup's LocationGroup itself or to any Location in
|
|
250
|
-
that group — along with each method's parent ShippingCarrier. ALL of them are selected
|
|
251
|
-
AUTOMATICALLY for the estimate; the customer is told what was selected rather than asked to
|
|
252
|
-
pick. Read-only lookup.
|
|
253
|
-
|
|
254
|
-
**Call:** `querySoql` — status: `implemented`
|
|
255
|
-
|
|
256
|
-
**Inputs:**
|
|
257
|
-
|
|
258
|
-
- `locationSourceIds` *(`Array`)* — The location sources to read assignments for: the chosen setup's LocationGroupId TOGETHER
|
|
259
|
-
WITH every Location Id in that group. Source:
|
|
260
|
-
resolve-delivery-estimation-setup.setup_location_group_ids (chosen index) +
|
|
261
|
-
list-locations-in-group.location_ids. The query's {locationSourceIdsInClause} is the
|
|
262
|
-
SOQL-safe rendering of THIS input — a comma-separated list of single-quoted Ids (see
|
|
263
|
-
agent_guidance) — not a separate input.
|
|
264
|
-
- schema: `{'type': 'array', 'minItems': 1, 'items': {'type': 'string', 'description': 'A LocationGroup Id (0gh...) or Location Id (131...).', 'pattern': '^(0gh|131)[a-zA-Z0-9]{12,15}$'}}`
|
|
265
|
-
|
|
266
|
-
**Depends on:** `list-locations-in-group`
|
|
267
|
-
|
|
268
|
-
#### `list-products`
|
|
269
|
-
|
|
270
|
-
List Product2 records that have a StockKeepingUnit so the customer can choose which products to
|
|
271
|
-
estimate and enter a quantity for each. Products are keyed by SKU in the request. Optionally
|
|
272
|
-
filter by a Name/SKU substring.
|
|
273
|
-
|
|
274
|
-
**Call:** `querySoql` — status: `implemented`
|
|
275
|
-
|
|
276
|
-
**Inputs:**
|
|
277
|
-
|
|
278
|
-
- `productFilter` *(`String`)* — OPTIONAL Name or StockKeepingUnit filter. When provided the query matches either with a LIKE;
|
|
279
|
-
when omitted, active products with a SKU are listed. Source: user_input.
|
|
280
|
-
|
|
281
|
-
**Depends on:** `resolve-delivery-estimation-setup`
|
|
282
|
-
|
|
283
|
-
#### `estimate-delivery-date`
|
|
284
|
-
|
|
285
|
-
Call EstimateDeliveryDate with the assembled request — the resolved setup ExternalReference in
|
|
286
|
-
the URL path, the chosen carrier(s)+method(s), the chosen products+quantities, the collected
|
|
287
|
-
delivery address, and an optional order date — and read back the estimated ship-date /
|
|
288
|
-
delivery-date window per shipping method. Read-only: computes an estimate, changes nothing.
|
|
289
|
-
|
|
290
|
-
**Call:** `EstimateDeliveryDate` — status: `implemented`
|
|
291
|
-
|
|
292
|
-
**Inputs:**
|
|
293
|
-
|
|
294
|
-
- `externalReference` *(`String`)* — The chosen DeliveryEstimationSetup's ExternalReference — the URL PATH segment (NOT a body
|
|
295
|
-
field, NOT the 2A0 Id). Source: resolve-delivery-estimation-setup.setup_external_references
|
|
296
|
-
(the one the customer picked).
|
|
297
|
-
- `shippingCarriers` *(`Array`)* — The carrier(s) whose methods this setup can estimate, each with its method(s) — derived
|
|
298
|
-
AUTOMATICALLY, not picked by the customer. Source: list-setup-shipping-carrier-methods,
|
|
299
|
-
grouped by DISTINCT carrier ExternalReference. The COUNT drives the wire key (XOR — see
|
|
300
|
-
agent_guidance): exactly 1 entry -> emit the SINGULAR "shippingCarrier" object; 2+ entries ->
|
|
301
|
-
emit the PLURAL "shippingCarriers" array. Never send both keys and never send an empty
|
|
302
|
-
carriers set. A customer may narrow this to a SUBSET on request, but nothing outside the set
|
|
303
|
-
may be added — a method not attached to the setup's LocationGroup is live-proven to come back
|
|
304
|
-
"not configured for DeliveryEstimation" AND to degrade the success flags of the methods that
|
|
305
|
-
do work (see list-setup-shipping-carrier-methods).
|
|
306
|
-
- schema: `{'type': 'array', 'minItems': 1, 'maxItems': 50, 'description': 'Canonical list of chosen carriers (each with its methods). The wire body emits EXACTLY ONE of "shippingCarrier" (singular, when this list has 1 entry) or "shippingCarriers" (plural, 2+ entries) — an XOR key transform the schema cannot enforce; the agent performs it (see agent_guidance). Do not treat this array as the literal request shape.', 'items': {'type': 'object', 'required': ['externalReference', 'shippingCarrierMethods'], 'properties': {'externalReference': {'type': 'string', 'description': 'ShippingCarrier.ExternalReference (from list-setup-shipping-carrier-methods.carrier_external_references, distinct values).'}, 'shippingCarrierMethods': {'type': 'array', 'minItems': 1, 'maxItems': 100, 'items': {'type': 'object', 'required': ['externalReference'], 'properties': {'externalReference': {'type': 'string', 'description': 'ShippingCarrierMethod.ExternalReference from the globally deduplicated aggregate of list-setup-shipping-carrier-methods.method_external_references.'}}}}}}}`
|
|
307
|
-
- `products` *(`Array`)* — The products to estimate, each a (SKU, quantity) pair. Source: customer selection over
|
|
308
|
-
list-products. quantity must be a positive whole number.
|
|
309
|
-
- schema: `{'type': 'array', 'minItems': 1, 'maxItems': 2000, 'items': {'type': 'object', 'required': ['stockKeepingUnit', 'quantity'], 'properties': {'stockKeepingUnit': {'type': 'string', 'description': 'Product StockKeepingUnit (non-blank).'}, 'quantity': {'type': 'integer', 'minimum': 1, 'maximum': 2147483647, 'description': 'Positive whole-number quantity in [1, 2147483647] (fractional values are rejected; values above the 32-bit int max are rejected by the API).'}}}}`
|
|
310
|
-
- `deliveryAddress` *(`Object`)* — The destination address. country + postalCode are REQUIRED. The Core front-door validator's
|
|
311
|
-
error lists three accepted part-combinations — (latitude+longitude) | (country+postalCode) |
|
|
312
|
-
(country+state+city) — and it accepts lat/long-alone, BUT the downstream estimate service
|
|
313
|
-
(Commerce Delivery Service) then rejects any address lacking country+postalCode: its request
|
|
314
|
-
contract declares both unconditionally required and non-empty (state/city/lat/long carry no
|
|
315
|
-
constraints). This is NOT setup-dependent. PROVEN LIVE (bopis 2026-08-06, setup "west"):
|
|
316
|
-
country+postalCode -> 201; latitude+longitude ALONE -> 400 ("Postal code is required. / Country
|
|
317
|
-
code ..."); country+state+city ALONE -> 400 ("Postal code is required."). So ALWAYS send
|
|
318
|
-
country + postalCode; latitude/longitude (and state/city) are optional extras accepted alongside
|
|
319
|
-
but cannot substitute. Source: customer input.
|
|
320
|
-
- schema: `{'type': 'object', 'required': ['country', 'postalCode'], 'properties': {'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (e.g. "US"). REQUIRED by the downstream estimate service (must be non-empty and a valid ISO code).'}, 'state': {'type': ['string', 'null'], 'description': 'Optional state/province; accepted alongside but cannot substitute for country+postalCode.'}, 'city': {'type': ['string', 'null'], 'description': 'Optional city; accepted alongside but cannot substitute for country+postalCode.'}, 'postalCode': {'type': 'string', 'description': 'Postal code, >= 4 characters. REQUIRED by the downstream estimate service (must be non-empty).'}, 'latitude': {'type': ['number', 'null'], 'minimum': -90, 'maximum': 90, 'description': 'Optional latitude in [-90,90]; accepted alongside country+postalCode but cannot substitute for it.'}, 'longitude': {'type': ['number', 'null'], 'minimum': -180, 'maximum': 180, 'description': 'Optional longitude in [-180,180]; accepted alongside country+postalCode but cannot substitute for it.'}}}`
|
|
321
|
-
- `orderDate` *(`String`)* — OPTIONAL order date. Gated by the order-date choice_point: ask the customer whether to
|
|
322
|
-
estimate as of NOW (omit orderDate) or as of a SPECIFIC order date (supply orderDate). When
|
|
323
|
-
set, the estimate is computed as of that order time (e.g. a future order) — live-proven to
|
|
324
|
-
shift the result. Omit it entirely for a current-time estimate; it is optional/omitted, not
|
|
325
|
-
sent as an explicit null.
|
|
326
|
-
NEVER pass the customer's raw words through as this value. Normalize first (see the estimate
|
|
327
|
-
step's ORDER DATE procedure), then emit ONLY the canonical zero-padded form: a full ISO-8601
|
|
328
|
-
timestamp WITH a timezone designator (deserialized as a ZonedDateTime) — trailing "Z" for UTC
|
|
329
|
-
(e.g. "2026-09-10T10:00:00Z") or an explicit offset (e.g. "2026-09-10T10:00:00-04:00",
|
|
330
|
-
"2026-09-10T10:00:00+05:30"; half-hour offsets accepted).
|
|
331
|
-
REJECTED with 400 INVALID_API_INPUT ("Invalid value '...' at orderDate for type
|
|
332
|
-
ZonedDateTime") — all live-verified: an offset-less local timestamp
|
|
333
|
-
("2026-09-10T10:00:00"), a bare date with no time ("2026-09-10"), an unpadded month/day
|
|
334
|
-
("2026-9-10T10:00:00Z"), a space instead of the "T" separator ("2026-09-10 10:00:00Z"), and a
|
|
335
|
-
pattern-shaped but non-existent date ("2026-13-45T10:00:00Z" — the pattern is a format gate,
|
|
336
|
-
not a calendar check, so verify the date is real too).
|
|
337
|
-
THE INSTANT MATTERS, not just the calendar date: the value is compared against each fulfilling
|
|
338
|
-
location's own order cutoff as an absolute instant, so the time-of-day you choose can move the
|
|
339
|
-
ship date a full day (2026-08-25: 2026-09-10T15:59:59Z -> ships 09-11, but
|
|
340
|
-
2026-09-10T16:00:00Z -> ships 09-12). There is no API-side default instant, so ASK for the time
|
|
341
|
-
when the customer gave only a date, RESOLVE the zone from org data (customer's own statement >
|
|
342
|
-
User.TimeZoneSidKey > Organization.TimeZoneSidKey > ask — never a silent UTC), and disclose the
|
|
343
|
-
instant you used. Measured mitigation: start-of-day readings at 00:00:00Z, 00:00:00-04:00 and
|
|
344
|
-
00:00:00-07:00 all returned the SAME estimate, so the zone only becomes material near a cutoff.
|
|
345
|
-
TRADE-OFF: supplying orderDate shifts the ship date and order-by cutoff but SUPPRESSES the
|
|
346
|
-
delivery window — estimatedDeliveryDate returns success:true with no min/max on every row.
|
|
347
|
-
Requires API v68.0 (this skill pins it). Source: user_input.
|
|
348
|
-
|
|
349
|
-
**Depends on:** `resolve-delivery-estimation-setup`, `list-locations-in-group`, `list-setup-shipping-carrier-methods`, `list-products`
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: commerce-fees-apply
|
|
3
|
-
description: "Use this skill when users want to use this SOR when a cancel or return operation needs to apply a fee. Trigger when users mention fees, support."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Querying Fees Support
|
|
9
|
-
|
|
10
|
-
## When to Use This Skill
|
|
11
|
-
|
|
12
|
-
Use this SOR when a cancel or return operation needs to apply a fee. This is a REUSABLE MODULE
|
|
13
|
-
that asks whether to apply a fee, collects the appropriate fee fields based on operation type,
|
|
14
|
-
resolves fee product names to IDs, and returns properly-nested fee payloads for the caller to
|
|
15
|
-
merge into their preview/submit requests.
|
|
16
|
-
|
|
17
|
-
WHEN TO USE:
|
|
18
|
-
- User mentions "fee", "charge", "penalty", "restocking fee", "cancellation fee"
|
|
19
|
-
- During cancel/return flows when fees might apply
|
|
20
|
-
- When caller explicitly requests fee collection
|
|
21
|
-
|
|
22
|
-
OPERATION TYPES SUPPORTED:
|
|
23
|
-
- partial-cancel: Uses changeItemFees with new-fee-charge shape
|
|
24
|
-
- cancel-all: Uses changeItemFees with new-fee-charge shape + orderDeliveryGroupSummaryId
|
|
25
|
-
- return-preview/return-submit: Uses changeItemFees with new-fee-charge shape
|
|
26
|
-
- return-items: Uses returnOrderItemFees with fee-quantity-adjust shape (no amount)
|
|
27
|
-
|
|
28
|
-
OUTPUT CONTRACT:
|
|
29
|
-
Returns a fee payload object that the caller merges into their request:
|
|
30
|
-
{
|
|
31
|
-
"feePayload": {
|
|
32
|
-
"changeItemFees": [...] OR "returnOrderItemFees": [...]
|
|
33
|
-
},
|
|
34
|
-
"feeDescription": "human-readable fee summary for customer"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
## Workflow
|
|
38
|
-
|
|
39
|
-
1. INVOKE fees-support with operation_type:
|
|
40
|
-
result = invoke("fees-support", {operation_type: "partial-cancel", context_data: {orderId: "..."}})
|
|
41
|
-
|
|
42
|
-
2. MERGE result.feePayload into your preview/submit request:
|
|
43
|
-
|
|
44
|
-
- For partial-cancel, return-preview, return-submit:
|
|
45
|
-
Parent MUST merge changeItemFees into EACH changeItem:
|
|
46
|
-
previewRequest = {
|
|
47
|
-
...baseRequest,
|
|
48
|
-
changeItems: [
|
|
49
|
-
{
|
|
50
|
-
...itemData,
|
|
51
|
-
changeItemFees: result.feePayload.changeItemFees # PER-ITEM nesting
|
|
52
|
-
}
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
- For cancel-all:
|
|
57
|
-
Parent merges changeItemFees at ROOT level:
|
|
58
|
-
previewRequest = {
|
|
59
|
-
...baseRequest,
|
|
60
|
-
changeItemFees: result.feePayload.changeItemFees # ROOT-level nesting
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
ChangeInputRepresentation (partial-cancel, return) only accepts changeItems[].changeItemFees[];
|
|
64
|
-
root-level changeItemFees is silently ignored for these operations.
|
|
65
|
-
|
|
66
|
-
3. SURFACE fee impact from preview response:
|
|
67
|
-
After preview, look for changeBalances to show customer the fee's financial impact.
|
|
68
|
-
|
|
69
|
-
4. INCLUDE result.feeDescription in customer-facing summary:
|
|
70
|
-
"Preview: Your cancellation will proceed. {result.feeDescription}"
|
|
71
|
-
|
|
72
|
-
User: "Cancel item X and apply a $25 cancellation fee"
|
|
73
|
-
|
|
74
|
-
Agent:
|
|
75
|
-
1. Invoke fees-support:
|
|
76
|
-
{operation_type: "partial-cancel", context_data: {orderSummaryId: "..."}}
|
|
77
|
-
|
|
78
|
-
2. fees-support collects:
|
|
79
|
-
- fee_product_name: "Cancellation Fee"
|
|
80
|
-
- amount: 25.00
|
|
81
|
-
- amount_type: "AmountWithTax"
|
|
82
|
-
- Resolves to product2Id + priceBookEntryId
|
|
83
|
-
|
|
84
|
-
3. fees-support returns:
|
|
85
|
-
{
|
|
86
|
-
feePayload: {
|
|
87
|
-
changeItemFees: [{product2Id: "...", amount: 25.00, amountType: "AmountWithTax", ...}]
|
|
88
|
-
},
|
|
89
|
-
feeDescription: "A flat fee of $25.00 (Cancellation Fee) will be applied."
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
4. Caller merges into preview request:
|
|
93
|
-
POST /commerce/order-management/preview-cancel
|
|
94
|
-
{
|
|
95
|
-
orderSummaryId: "...",
|
|
96
|
-
changeItems: [{orderItemSummaryId: "...", quantity: 1, reason: "..."}],
|
|
97
|
-
changeItemFees: [{product2Id: "...", amount: 25.00, ...}] # MERGED
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
5. Caller shows customer:
|
|
101
|
-
"Preview: Cancelling 1 unit of Product X. A flat fee of $25.00 (Cancellation Fee) will be applied.
|
|
102
|
-
Total refund: $75.00 (original $100.00 - $25.00 fee)."
|
|
103
|
-
|
|
104
|
-
6. User confirms, caller submits with same merged payload.
|
|
105
|
-
|
|
106
|
-
## Critical Constraints
|
|
107
|
-
|
|
108
|
-
**Operational rules:**
|
|
109
|
-
|
|
110
|
-
- INTEGRATION PATTERN FOR CALLERS:
|
|
111
|
-
- IMPORTANT - DESCRIPTION vs REASON:
|
|
112
|
-
- `description` = free text customer wording (e.g., "Late cancellation after 24 hours")
|
|
113
|
-
- `reason` = REQUIRED picklist value from OrderItemSummaryChange.Reason (e.g., "Customer Request", "Unknown")
|
|
114
|
-
- The API validates `reason` against the picklist; unrecognized values return 400 INVALID_API_INPUT
|
|
115
|
-
- fees-support resolves the picklist and presents valid options for selection
|
|
116
|
-
- NESTING BY OPERATION TYPE:
|
|
117
|
-
- IMPORTANT: fees-support returns a BARE fee structure in changeItemFees[].
|
|
118
|
-
The CALLER is responsible for nesting it correctly based on operation_type.
|
|
119
|
-
- CUSTOMER-FACING WORDING:
|
|
120
|
-
- NEVER say "changeItemFees", "product2Id", "priceBookEntryId", "returnOrderLineItemId"
|
|
121
|
-
- DO say "fee", "charge", "restocking fee", "cancellation fee"
|
|
122
|
-
- DO show the fee amount and product name in plain language
|
|
123
|
-
- DO surface the financial impact from preview changeBalances (e.g., "Total refund: $75.00")
|
|
124
|
-
- EXAMPLE INTEGRATION (partial-cancel):
|
|
125
|
-
- ERROR HANDLING:
|
|
126
|
-
- If fee product name not found: Ask user to verify the product name exists in their org
|
|
127
|
-
- If preview fails with fee: Show the error, offer to retry without fee
|
|
128
|
-
- If fee amounts seem wrong in preview: Surface changeBalances so customer can verify
|
|
129
|
-
|
|
130
|
-
## Operations Reference
|
|
131
|
-
|
|
132
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
133
|
-
|
|
134
|
-
### Summary
|
|
135
|
-
|
|
136
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
137
|
-
|-----------|---------|--------|------|------------|
|
|
138
|
-
| `check-fee-intent` | read | — | — | — |
|
|
139
|
-
| `determine-fee-shape` | read | — | — | — |
|
|
140
|
-
| `collect-fee-product-name` | read | — | — | — |
|
|
141
|
-
| `collect-fee-amount` | read | — | — | — |
|
|
142
|
-
| `resolve-fee-reasons` | read | — | `describeOrderItemSummaryChange` | — |
|
|
143
|
-
| `collect-fee-description-and-reason` | read | — | — | — |
|
|
144
|
-
| `resolve-fee-product-id` | read | — | `querySoql` | — |
|
|
145
|
-
| `collect-fee-quantity-adjust-fields` | read | — | — | — |
|
|
146
|
-
| `build-fee-payload-new-charge` | read | — | — | — |
|
|
147
|
-
| `build-fee-payload-quantity-adjust` | read | — | — | — |
|
|
148
|
-
| `return-no-fee` | read | — | — | — |
|
|
149
|
-
|
|
150
|
-
### Read operations
|
|
151
|
-
|
|
152
|
-
#### `check-fee-intent`
|
|
153
|
-
|
|
154
|
-
Ask whether to apply a fee
|
|
155
|
-
|
|
156
|
-
#### `determine-fee-shape`
|
|
157
|
-
|
|
158
|
-
Determine which fee structure to use based on operation type
|
|
159
|
-
|
|
160
|
-
#### `collect-fee-product-name`
|
|
161
|
-
|
|
162
|
-
Ask for the fee product name
|
|
163
|
-
|
|
164
|
-
**Inputs:**
|
|
165
|
-
|
|
166
|
-
- `fee_product_name` *(`string`)*
|
|
167
|
-
|
|
168
|
-
#### `collect-fee-amount`
|
|
169
|
-
|
|
170
|
-
Collect fee amount and amount type
|
|
171
|
-
|
|
172
|
-
**Inputs:**
|
|
173
|
-
|
|
174
|
-
- `amount` *(`number`)*
|
|
175
|
-
- `amount_type` *(`string`)*
|
|
176
|
-
|
|
177
|
-
#### `resolve-fee-reasons`
|
|
178
|
-
|
|
179
|
-
Resolve the org's allowed fee reasons from the live
|
|
180
|
-
OrderItemSummaryChange.Reason picklist. Required because the
|
|
181
|
-
controller validates `reason` against this picklist on both preview
|
|
182
|
-
and submit; sending an unrecognized value returns 400
|
|
183
|
-
INVALID_API_INPUT "No matching reason found."
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
**Call:** `describeOrderItemSummaryChange`
|
|
187
|
-
|
|
188
|
-
#### `collect-fee-description-and-reason`
|
|
189
|
-
|
|
190
|
-
Collect fee description (free text) and reason (picklist selection)
|
|
191
|
-
|
|
192
|
-
**Inputs:**
|
|
193
|
-
|
|
194
|
-
- `description` *(`string`)*
|
|
195
|
-
- `reason` *(`string`)*
|
|
196
|
-
|
|
197
|
-
#### `resolve-fee-product-id`
|
|
198
|
-
|
|
199
|
-
Resolve fee product name to product2Id and priceBookEntryId
|
|
200
|
-
|
|
201
|
-
**Call:** `querySoql`
|
|
202
|
-
|
|
203
|
-
**Inputs:**
|
|
204
|
-
|
|
205
|
-
- `fee_product_name` *(`string`)*
|
|
206
|
-
|
|
207
|
-
#### `collect-fee-quantity-adjust-fields`
|
|
208
|
-
|
|
209
|
-
Collect returnOrderLineItemId and quantities for fee adjustment (returnItems only)
|
|
210
|
-
|
|
211
|
-
**Inputs:**
|
|
212
|
-
|
|
213
|
-
- `returnOrderLineItemId` *(`string`)*
|
|
214
|
-
- `quantityReturned` *(`number`)*
|
|
215
|
-
- `quantityToCancel` *(`number`)*
|
|
216
|
-
|
|
217
|
-
#### `build-fee-payload-new-charge`
|
|
218
|
-
|
|
219
|
-
Build changeItemFees payload for new fee charge operations
|
|
220
|
-
|
|
221
|
-
#### `build-fee-payload-quantity-adjust`
|
|
222
|
-
|
|
223
|
-
Build returnOrderItemFees payload for fee quantity adjustment (returnItems)
|
|
224
|
-
|
|
225
|
-
#### `return-no-fee`
|
|
226
|
-
|
|
227
|
-
Return empty fee payload when user declines fee
|