@fas-core/shared-types 1.0.144 → 1.0.147

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/dist/index.d.mts CHANGED
@@ -108,6 +108,9 @@ interface IStore extends BaseEntity {
108
108
  storeAdmins: Array<string | Types.ObjectId>;
109
109
  }
110
110
 
111
+ declare const storeOriginOf: (domain?: string | null) => string | null;
112
+ declare const originUrl: (origin: string, path: string) => string;
113
+
111
114
  declare const PricingTypeEnum: {
112
115
  readonly PERCENTAGE: "PERCENTAGE";
113
116
  readonly FIXED: "FIXED";
@@ -356,6 +359,8 @@ declare const slugify: (text: string) => string;
356
359
 
357
360
  declare const errorMessage: (error: unknown, fallback?: string) => string;
358
361
 
362
+ declare const HONEYPOT_FIELD = "website";
363
+
359
364
  declare const DISCOUNT_TYPE_VALUES: ("PERCENTAGE" | "FIXED" | "FREE_SHIPPING")[];
360
365
  declare const DiscountTypeEnum: {
361
366
  readonly PERCENTAGE: "PERCENTAGE";
@@ -1466,6 +1471,10 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1466
1471
  readonly value: "contact-us";
1467
1472
  readonly label: "Contact Requests";
1468
1473
  readonly group: "People";
1474
+ }, {
1475
+ readonly value: "repair-requests";
1476
+ readonly label: "Repair Requests";
1477
+ readonly group: "People";
1469
1478
  }, {
1470
1479
  readonly value: "subscribers";
1471
1480
  readonly label: "Subscribers";
@@ -1519,7 +1528,7 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1519
1528
  readonly label: "Account";
1520
1529
  readonly group: "Settings";
1521
1530
  }];
1522
- declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1531
+ declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "repair-requests" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1523
1532
  type IAdminResource = (typeof ADMIN_RESOURCE_LIST)[number]['value'];
1524
1533
  declare const ADMIN_ACTIONS: readonly ["read", "write", "delete"];
1525
1534
  type IAdminBaseAction = (typeof ADMIN_ACTIONS)[number];
@@ -1727,59 +1736,104 @@ interface INetsuiteCaseLink {
1727
1736
  statusCheckedAt?: Date | string;
1728
1737
  pushedAt?: Date | string;
1729
1738
  }
1739
+ interface ICaseRequest {
1740
+ firstName: string;
1741
+ lastName: string;
1742
+ companyName?: string;
1743
+ email: string;
1744
+ phone?: string;
1745
+ status: CaseStatus;
1746
+ caseId: string;
1747
+ notes: string;
1748
+ resolvedAt?: Date;
1749
+ netsuite?: INetsuiteCaseLink | null;
1750
+ netsuiteLastError?: {
1751
+ message: string;
1752
+ failedAt?: Date | string;
1753
+ } | null;
1754
+ netsuiteLeadId?: string | null;
1755
+ receiptToken?: string;
1756
+ }
1757
+ interface ICaseReceipt {
1758
+ caseId: string;
1759
+ receiptToken: string;
1760
+ }
1730
1761
  type ISupportCaseListItem = Omit<ISupportCase, "messages">;
1731
1762
 
1732
1763
  declare const CASE_STATUS_TONES: Record<CaseStatus, StatusToneEnum>;
1733
1764
  declare const caseStatusTone: (status?: string) => StatusToneEnum;
1734
1765
 
1766
+ declare const CaseThankYouPathEnum: {
1767
+ readonly CONTACT: "/contact-us/thank-you";
1768
+ readonly CONTACT_ES: "/en-espanol/thank-you";
1769
+ readonly ONSITE_DEMO: "/onsite-request/thank-you";
1770
+ readonly REPAIR: "/repair-request/thank-you";
1771
+ };
1772
+ type CaseThankYouPath = (typeof CaseThankYouPathEnum)[keyof typeof CaseThankYouPathEnum];
1773
+ declare const caseThankYouPath: (base: CaseThankYouPath, caseId?: string | null, receiptToken?: string | null) => string;
1774
+
1735
1775
  declare const ContactRequestTypeEnum: {
1736
1776
  readonly CONTACT: "CONTACT";
1737
1777
  readonly ONSITE_DEMO: "ONSITE_DEMO";
1738
- readonly REPAIR: "REPAIR";
1739
1778
  };
1740
1779
  type ContactRequestTypeEnum = (typeof ContactRequestTypeEnum)[keyof typeof ContactRequestTypeEnum];
1741
- declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO" | "REPAIR")[];
1780
+ declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO")[];
1742
1781
  declare const isContactRequestType: (value: unknown) => value is ContactRequestTypeEnum;
1743
- interface IContact extends BaseEntity {
1782
+ interface IContact extends BaseEntity, ICaseRequest {
1744
1783
  requestType: ContactRequestTypeEnum;
1745
- firstName: string;
1746
- lastName: string;
1747
- companyName?: string;
1748
- email: string;
1749
1784
  phone: string;
1750
1785
  address?: string;
1751
1786
  profile: CaseProfile;
1752
1787
  subject: string;
1753
1788
  message: string;
1754
- status: CaseStatus;
1755
1789
  origin: CaseOrigin;
1756
- caseId: string;
1757
- notes: string;
1758
1790
  store: IStore;
1759
- resolvedAt?: Date;
1760
- netsuite?: INetsuiteCaseLink | null;
1761
- netsuiteLastError?: {
1762
- message: string;
1763
- failedAt?: Date | string;
1764
- } | null;
1765
- netsuiteLeadId?: string | null;
1766
1791
  onsiteDemo?: IOnsiteDemoRequest | null;
1767
- repair?: IRepairRequest | null;
1768
1792
  }
1769
1793
  interface IOnsiteDemoRequest {
1770
1794
  demo: string;
1771
1795
  }
1796
+
1797
+ declare const REPAIR_MAX_TOOLS = 50;
1772
1798
  interface IRepairTool {
1773
1799
  manufacturer: string;
1774
1800
  model: string;
1775
1801
  serial: string;
1776
1802
  accessories?: string;
1777
1803
  }
1778
- interface IRepairRequest {
1804
+ interface IRepairAddress {
1805
+ street: string;
1806
+ suite?: string;
1807
+ city: string;
1808
+ state: string;
1809
+ postalCode: string;
1810
+ country: string;
1811
+ countryIso?: string;
1812
+ }
1813
+ interface IRepairDetails {
1814
+ companyName: string;
1815
+ phone: string;
1816
+ secondaryContact?: string;
1817
+ fax?: string;
1818
+ address: IRepairAddress;
1779
1819
  tools: IRepairTool[];
1780
1820
  problem: string;
1781
1821
  comments?: string;
1782
1822
  }
1823
+ interface IRepairRequestInput extends IRepairDetails {
1824
+ firstName: string;
1825
+ lastName: string;
1826
+ email: string;
1827
+ store: string;
1828
+ }
1829
+ interface IRepairRequest extends BaseEntity, ICaseRequest, IRepairDetails {
1830
+ companyName: string;
1831
+ phone: string;
1832
+ store: IStore;
1833
+ }
1834
+ type IRepairSlip = Pick<IRepairRequest, "caseId" | "status" | "firstName" | "lastName" | "companyName" | "email" | "phone" | "secondaryContact" | "fax" | "address" | "tools" | "problem" | "comments" | "createdAt">;
1835
+
1836
+ declare const repairAddressLine: (address: IRepairAddress) => string;
1783
1837
 
1784
1838
  declare const SERVICE_PLAN_ELIGIBILITY_FIELD = "custitem520";
1785
1839
 
@@ -7393,4 +7447,4 @@ declare const sitemapPartId: (build: string, storeId: string, kind: SitemapPartK
7393
7447
  declare const sitemapEntryLine: (key: string, lastmod?: Date | string | null) => string;
7394
7448
  declare const parseSitemapEntries: (entries: string) => SitemapEntryKey[];
7395
7449
 
7396
- export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairRequest, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
7450
+ export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseThankYouPath, CaseThankYouPathEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, HONEYPOT_FIELD, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICaseReceipt, type ICaseRequest, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairAddress, type IRepairRequest, type IRepairRequestInput, type IRepairSlip, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, REPAIR_MAX_TOOLS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, caseThankYouPath, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, originUrl, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, repairAddressLine, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, storeOriginOf, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
package/dist/index.d.ts CHANGED
@@ -108,6 +108,9 @@ interface IStore extends BaseEntity {
108
108
  storeAdmins: Array<string | Types.ObjectId>;
109
109
  }
110
110
 
111
+ declare const storeOriginOf: (domain?: string | null) => string | null;
112
+ declare const originUrl: (origin: string, path: string) => string;
113
+
111
114
  declare const PricingTypeEnum: {
112
115
  readonly PERCENTAGE: "PERCENTAGE";
113
116
  readonly FIXED: "FIXED";
@@ -356,6 +359,8 @@ declare const slugify: (text: string) => string;
356
359
 
357
360
  declare const errorMessage: (error: unknown, fallback?: string) => string;
358
361
 
362
+ declare const HONEYPOT_FIELD = "website";
363
+
359
364
  declare const DISCOUNT_TYPE_VALUES: ("PERCENTAGE" | "FIXED" | "FREE_SHIPPING")[];
360
365
  declare const DiscountTypeEnum: {
361
366
  readonly PERCENTAGE: "PERCENTAGE";
@@ -1466,6 +1471,10 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1466
1471
  readonly value: "contact-us";
1467
1472
  readonly label: "Contact Requests";
1468
1473
  readonly group: "People";
1474
+ }, {
1475
+ readonly value: "repair-requests";
1476
+ readonly label: "Repair Requests";
1477
+ readonly group: "People";
1469
1478
  }, {
1470
1479
  readonly value: "subscribers";
1471
1480
  readonly label: "Subscribers";
@@ -1519,7 +1528,7 @@ declare const ADMIN_RESOURCE_LIST: readonly [{
1519
1528
  readonly label: "Account";
1520
1529
  readonly group: "Settings";
1521
1530
  }];
1522
- declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1531
+ declare const ADMIN_RESOURCES: ("stores" | "categories" | "podcast" | "blog" | "orders" | "dashboard" | "metrics" | "products" | "brands" | "technical-specs" | "addon-configs" | "service-plans" | "relation-groups" | "configurators" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "tax-rates" | "customers" | "contact-us" | "repair-requests" | "subscribers" | "faqs" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
1523
1532
  type IAdminResource = (typeof ADMIN_RESOURCE_LIST)[number]['value'];
1524
1533
  declare const ADMIN_ACTIONS: readonly ["read", "write", "delete"];
1525
1534
  type IAdminBaseAction = (typeof ADMIN_ACTIONS)[number];
@@ -1727,59 +1736,104 @@ interface INetsuiteCaseLink {
1727
1736
  statusCheckedAt?: Date | string;
1728
1737
  pushedAt?: Date | string;
1729
1738
  }
1739
+ interface ICaseRequest {
1740
+ firstName: string;
1741
+ lastName: string;
1742
+ companyName?: string;
1743
+ email: string;
1744
+ phone?: string;
1745
+ status: CaseStatus;
1746
+ caseId: string;
1747
+ notes: string;
1748
+ resolvedAt?: Date;
1749
+ netsuite?: INetsuiteCaseLink | null;
1750
+ netsuiteLastError?: {
1751
+ message: string;
1752
+ failedAt?: Date | string;
1753
+ } | null;
1754
+ netsuiteLeadId?: string | null;
1755
+ receiptToken?: string;
1756
+ }
1757
+ interface ICaseReceipt {
1758
+ caseId: string;
1759
+ receiptToken: string;
1760
+ }
1730
1761
  type ISupportCaseListItem = Omit<ISupportCase, "messages">;
1731
1762
 
1732
1763
  declare const CASE_STATUS_TONES: Record<CaseStatus, StatusToneEnum>;
1733
1764
  declare const caseStatusTone: (status?: string) => StatusToneEnum;
1734
1765
 
1766
+ declare const CaseThankYouPathEnum: {
1767
+ readonly CONTACT: "/contact-us/thank-you";
1768
+ readonly CONTACT_ES: "/en-espanol/thank-you";
1769
+ readonly ONSITE_DEMO: "/onsite-request/thank-you";
1770
+ readonly REPAIR: "/repair-request/thank-you";
1771
+ };
1772
+ type CaseThankYouPath = (typeof CaseThankYouPathEnum)[keyof typeof CaseThankYouPathEnum];
1773
+ declare const caseThankYouPath: (base: CaseThankYouPath, caseId?: string | null, receiptToken?: string | null) => string;
1774
+
1735
1775
  declare const ContactRequestTypeEnum: {
1736
1776
  readonly CONTACT: "CONTACT";
1737
1777
  readonly ONSITE_DEMO: "ONSITE_DEMO";
1738
- readonly REPAIR: "REPAIR";
1739
1778
  };
1740
1779
  type ContactRequestTypeEnum = (typeof ContactRequestTypeEnum)[keyof typeof ContactRequestTypeEnum];
1741
- declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO" | "REPAIR")[];
1780
+ declare const CONTACT_REQUEST_TYPE_VALUES: ("CONTACT" | "ONSITE_DEMO")[];
1742
1781
  declare const isContactRequestType: (value: unknown) => value is ContactRequestTypeEnum;
1743
- interface IContact extends BaseEntity {
1782
+ interface IContact extends BaseEntity, ICaseRequest {
1744
1783
  requestType: ContactRequestTypeEnum;
1745
- firstName: string;
1746
- lastName: string;
1747
- companyName?: string;
1748
- email: string;
1749
1784
  phone: string;
1750
1785
  address?: string;
1751
1786
  profile: CaseProfile;
1752
1787
  subject: string;
1753
1788
  message: string;
1754
- status: CaseStatus;
1755
1789
  origin: CaseOrigin;
1756
- caseId: string;
1757
- notes: string;
1758
1790
  store: IStore;
1759
- resolvedAt?: Date;
1760
- netsuite?: INetsuiteCaseLink | null;
1761
- netsuiteLastError?: {
1762
- message: string;
1763
- failedAt?: Date | string;
1764
- } | null;
1765
- netsuiteLeadId?: string | null;
1766
1791
  onsiteDemo?: IOnsiteDemoRequest | null;
1767
- repair?: IRepairRequest | null;
1768
1792
  }
1769
1793
  interface IOnsiteDemoRequest {
1770
1794
  demo: string;
1771
1795
  }
1796
+
1797
+ declare const REPAIR_MAX_TOOLS = 50;
1772
1798
  interface IRepairTool {
1773
1799
  manufacturer: string;
1774
1800
  model: string;
1775
1801
  serial: string;
1776
1802
  accessories?: string;
1777
1803
  }
1778
- interface IRepairRequest {
1804
+ interface IRepairAddress {
1805
+ street: string;
1806
+ suite?: string;
1807
+ city: string;
1808
+ state: string;
1809
+ postalCode: string;
1810
+ country: string;
1811
+ countryIso?: string;
1812
+ }
1813
+ interface IRepairDetails {
1814
+ companyName: string;
1815
+ phone: string;
1816
+ secondaryContact?: string;
1817
+ fax?: string;
1818
+ address: IRepairAddress;
1779
1819
  tools: IRepairTool[];
1780
1820
  problem: string;
1781
1821
  comments?: string;
1782
1822
  }
1823
+ interface IRepairRequestInput extends IRepairDetails {
1824
+ firstName: string;
1825
+ lastName: string;
1826
+ email: string;
1827
+ store: string;
1828
+ }
1829
+ interface IRepairRequest extends BaseEntity, ICaseRequest, IRepairDetails {
1830
+ companyName: string;
1831
+ phone: string;
1832
+ store: IStore;
1833
+ }
1834
+ type IRepairSlip = Pick<IRepairRequest, "caseId" | "status" | "firstName" | "lastName" | "companyName" | "email" | "phone" | "secondaryContact" | "fax" | "address" | "tools" | "problem" | "comments" | "createdAt">;
1835
+
1836
+ declare const repairAddressLine: (address: IRepairAddress) => string;
1783
1837
 
1784
1838
  declare const SERVICE_PLAN_ELIGIBILITY_FIELD = "custitem520";
1785
1839
 
@@ -7393,4 +7447,4 @@ declare const sitemapPartId: (build: string, storeId: string, kind: SitemapPartK
7393
7447
  declare const sitemapEntryLine: (key: string, lastmod?: Date | string | null) => string;
7394
7448
  declare const parseSitemapEntries: (entries: string) => SitemapEntryKey[];
7395
7449
 
7396
- export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairRequest, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
7450
+ export { ACCOUNT_SOURCE_VALUES, ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, AUTH_PROVIDER_VALUES, AVAILABILITY_STATUS_TONES, AWAITING_PAYMENT_STATUSES, type AccountSource, AccountSourceEnum, type AddonAmountInput, type AddonGroupNetsuiteLink, type AddonNetsuiteLink, type AddonSelectionRef, type AddonSnapshot, type AddressLinesInput, type AdminCreateRequest, type AdminUpdateRequest, type ApiResponse, type AppliedTax, type AuthProvider, AuthProviderEnum, type Availability, AvailabilityToneEnum, BACKORDERED_TONE, BRAND_FIELDS, BULK_SPEC_PRODUCT_LIMIT, BUSINESS_TIME_ZONE, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CASE_ORIGIN_LABELS, CASE_ORIGIN_VALUES, CASE_PRIORITY_LABELS, CASE_PRIORITY_VALUES, CASE_PROFILE_LABELS, CASE_PROFILE_VALUES, CASE_STATUS_LABELS, CASE_STATUS_TONES, CASE_STATUS_VALUES, CASE_TYPE_LABELS, CASE_TYPE_VALUES, CATEGORY_FIELDS, CLOSED_QUOTE_STATUSES, COMPANY, COMPANY_ADDRESS_LINE, COMPANY_CITY_LINE, COMPANY_CITY_LINE_LONG, COMPANY_MAX_LENGTH, COMPLETE_ORDER_STATUSES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CONTACT_PROFILE_OPTIONS, CONTACT_REQUEST_TYPE_VALUES, type CacheStatus, type CacheStoreTarget, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CaseOrigin, CaseOriginEnum, type CasePriority, CasePriorityEnum, type CaseProfile, CaseProfileEnum, type CaseStatus, CaseStatusEnum, type CaseThankYouPath, CaseThankYouPathEnum, type CaseType, CaseTypeEnum, type CategoryImportSummary, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, ContactRequestTypeEnum, type ConvertedOrderView, type CouponNetsuiteLink, CreditMemoStatusEnum, type CustomerAccountErrorCode, CustomerAccountErrorCodeEnum, type CustomerNameInput, type CustomerProfileUpdateRequest, type CustomerSignupRequest, type CustomerSocialLoginRequest, DEFAULT_SUBSCRIPTION_TOPICS, DISCOUNT_TYPE_LABELS, DISCOUNT_TYPE_VALUES, DiscountTypeEnum, EDITABLE_ADMIN_FIELDS, EDITABLE_CUSTOMER_FIELDS, EMAIL_PARAM_MISMATCH_KIND_VALUES, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EditableAdminField, type EditableCustomerField, type EffectiveAccess, type EmailParamMismatch, EmailParamMismatchKindEnum, EmailTemplateEventEnum, FAILED_PAYMENT_STATUSES, FEE_APPLIES_TO_LABELS, FEE_APPLIES_TO_VALUES, FULFILLMENT_STATUS_LABEL, FULFILLMENT_STATUS_VALUES, FeeAppliesToEnum, type FieldMap, type FieldMapping, type FieldSource, FulfillmentStatusEnum, HONEYPOT_FIELD, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICartServicePlanSnapshot, type ICaseMessage, type ICaseReceipt, type ICaseRequest, type ICategory, type ICategorySequence, type ICategorySubcategory, type ICategoryUrl, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INetsuiteCaseLink, type INetsuiteEvent, type INetsuiteOrderLine, type INetsuiteOrderLink, type INetsuiteQueueEntry, type INetsuiteRefund, type INetsuiteSalesRep, type INetsuiteSyncCheckpoint, type INotification, type IOnsiteDemoRequest, type IOrder, type IOrderItem, type IOrderLog, type IOrderShipment, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type IRepairAddress, type IRepairRequest, type IRepairRequestInput, type IRepairSlip, type IRepairTool, type ISEOMetaData, type ISelectableFee, type IServicePlan, type IShipFromAddress, type IShipping, type IShippingRate, type ISitemapManifest, type ISitemapPart, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ISupportCase, type ISupportCaseListItem, type ITaxRate, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, type Id, type InventoryPolicy, InventoryPolicyEnum, type LineChargeInput, type LineShipProgress, LineShipStateEnum, MAX_PAGE, MAX_PAGE_SIZE, MIN_PASSWORD_LENGTH, type MatchResult, type Metadata, NETSUITE_ESTIMATE_STATUS_TEXT, NETSUITE_EVENT_LANE_VALUES, NETSUITE_EVENT_STATE_TONES, NETSUITE_EVENT_STATE_VALUES, NETSUITE_FULFILLMENT_STATUS_TEXT, NETSUITE_INVOICE_STATUS_TEXT, NETSUITE_OWNED_FIELDS, NETSUITE_RECORD_TYPE_VALUES, NETSUITE_REFUND_KIND_VALUES, NETSUITE_REFUND_RECORD_NAME, NETSUITE_RELATION_GROUPS, NETSUITE_RETURN_STATUS_TEXT, NETSUITE_SALES_ORDER_STATUS_TEXT, NOTIFICATION_TYPE_VALUES, type NetsuiteCustomerLinkResult, NetsuiteEventLaneEnum, NetsuiteEventStateEnum, NetsuiteFieldProvider, type NetsuiteLineLike, type NetsuiteLinkResult, type NetsuiteOrderPreview, type NetsuiteOwnedEntity, type NetsuitePreviewLine, type NetsuitePushAttempt, type NetsuitePushOutcome, type NetsuiteReceipt, NetsuiteRecordTypeEnum, NetsuiteRefundKindEnum, type NetsuiteRelationSource, type NetsuiteStatusChange, type NetsuiteStatusSyncResult, type NetsuiteSyncDefinition, NotificationTypeEnum, OFFLINE_PAYMENT_METHODS, OPEN_ORDER_STATUSES, OPEN_QUOTE_STATUSES, ORDER_EMAIL_EVENTS, ORDER_LOG_TYPE_COLORS, ORDER_LOG_TYPE_VALUES, ORDER_ORIGIN_VALUES, ORDER_STATUS_LABELS, ORDER_STATUS_VALUES, type OfferedAddon, type OfferedAddonGroup, type OfferedServicePlan, type OrderEmailEvent, type OrderLineNameInput, OrderLogTypeEnum, OrderOriginEnum, OrderStatusEnum, PAID_PAYMENT_STATUSES, PARTLY_SHIPPED_STATUSES, PAYMENT_GATEWAY_LABELS, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_LABELS, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_COLORS, PAYMENT_METHOD_LABELS, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_LABELS, PAYMENT_STATUS_VALUES, PHONE_MAX_LENGTH, PLACED_OPEN_ORDER_STATUSES, PO_NUMBER_MAX_LENGTH, PRICING_TYPE_LABELS, PRICING_TYPE_VALUES, PRODUCT_FIELDS, PRODUCT_VARIANT_TYPE_VALUES, PROFILE_ACTOR_VALUES, PROVIDERS, PURCHASE_ORDER_STATUSES, PUSH_CHECK_STATUS_VALUES, type PaginatedResponse, PaymentGatewayEnum, PaymentLinkStatusEnum, type PaymentLinkView, PaymentMethodEnum, PaymentStatusEnum, type PersonNameInput, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductServicePlanScope, type ProductVariantType, ProductVariantTypeEnum, ProfileActorEnum, type ProfileEditRules, type PromotionSyncResult, type PushCheck, PushCheckStatusEnum, type PushField, QUOTE_BUYABLE_STATUS, QUOTE_ORDER_STATUSES, QUOTE_SETTLEMENT_VALUES, QUOTE_VALID_DAYS, type QuantityLineInput, type QuoteRequestResult, type QuoteRuleInput, QuoteSettlementEnum, REDIRECT_TARGET_TYPE_VALUES, REFUND_STATE_TONES, REFUND_TRAIL_TITLE, RELATION_FIELDS, REPAIR_MAX_TOOLS, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, RETURN_ORDER_STATUSES, type RateAddress, type RatedShippingMethod, type RedirectTargetType, RedirectTargetTypeEnum, RefundPaymentStatusEnum, RefundStateEnum, type RefundStep, RefundStepStateEnum, type RefundSummary, type RefundTrail, RefundTrailKindEnum, type ResolveAccessInput, type ResolvedAddonSelection, ReturnStatusEnum, type RevalidationResult, SALE_TYPE_VALUES, SAVED_CART_TTL_DAYS, SERVICE_LAB, SERVICE_PLAN_ELIGIBILITY_FIELD, SITEMAP_MANIFESTS_COLLECTION, SITEMAP_MANIFEST_ID, SITEMAP_PARTS_COLLECTION, SITEMAP_PART_KIND_VALUES, STATUS_TONE_COLORS, STATUS_TONE_VALUES, STOCK_STATUS_VALUES, STORE_THEME_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type SavedCartLine, type SavedCartSummary, type SelectedShippingMethod, type ServerQueryParams, type ServicePlanNetsuiteLink, type SitemapEntryKey, SitemapPartKindEnum, StatusToneEnum, type StatusToneRecord, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, StoreThemeEnum, SubscriptionChannelEnum, SubscriptionTopicEnum, type SyncPolicy, type SyncRisk, TAX_RATE_SOURCE_VALUES, TRANSACTION_TYPE_COLORS, TRANSACTION_TYPE_VALUES, TaxRateSourceEnum, type TaxSyncResult, type TrackingDisplay, TrackingKindEnum, TransactionTypeEnum, UNPLACED_ORDER_STATUSES, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonFields, addonUnitAmount, addonsOfLine, addonsUnitAmount, addressLines, adjustmentsFor, applyPriceAdjustments, availabilityOf, availabilityStatusTone, baseUnitPriceOfLine, blogAuthorFields, blogCategoryFields, blogPostFields, brandFields, buildOptionSignature, can, canAny, canonicalizePath, canonicalizeSlug, canonicalizeUrlSegment, cartAcceptsItem, caseIsOpen, caseStatusTone, caseThankYouPath, categoryFields, centsEqual, chargesOfLine, chunkSpecProductIds, clampPage, clampPageSize, cleanOptionKey, companyNameOf, conditionHolds, convertedOrderBilledOffline, convertedOrderOf, couponFields, customerDisplayName, customerFields, customerRefundHeadline, customerStatusTone, demandByKey, discountValueLabel, errorMessage, evaluateConfigurator, feeHint, firstLine, formatDay, formatMoney, fulfillmentStatusTone, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isContactProfile, isContactRequestType, isDiscountType, isFailedPaymentStatus, isNetsuiteOrigin, isNetsuiteOwned, isNonEmptyString, isOfflinePaymentMethod, isOrderEmailEvent, isPaidPaymentStatus, isPartlyShipped, isPricingType, isQuoteBuyable, isQuoteExpired, isQuoteLapsing, isQuoteOnlyItem, isRepQuoteOrderable, isSavedLinePriceChanged, isSellable, isStoredCalendarDay, isValidAction, isValidEmail, isValidPassword, isValidPhone, itemsLabel, lineName, lineQuantityCount, lineSellable, lineShipProgress, lineShipTone, lineSku, linesShipped, liveRefunds, missingGrants, netsuiteDocumentLabel, netsuiteDocumentTone, netsuiteEventStateTone, netsuiteFieldCaution, netsuiteFieldConditional, netsuiteFieldDerivedFrom, netsuiteFieldNote, netsuiteFieldRisk, netsuiteFieldSource, netsuiteRelationSource, netsuiteStatusLabel, normalizeLineQuantity, normalizeNumber, normalizePath, originUrl, pageOf, parseSitemapEntries, paymentLinkStatusTone, paymentMethodLabel, paymentStatusLabel, paymentStatusTone, personName, poNumberText, podcastFields, pricingValueLabel, productFields, profileEditRules, quoteCanBeOrdered, quoteDaysLeft, quoteIsPriced, quotePaymentUnfinished, quoteSettlement, quoteValidityPassed, readMapped, recordStatusTone, refundHeadline, refundStateTone, refundStepTone, refundSummary, repLineNote, repairAddressLine, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveProductServicePlans, resolveStoreScope, roundMoney, saleTypeOf, servicePlanFields, shipmentsTone, sitemapEntryLine, sitemapPartId, slugify, statusTagColor, statusTone, statusTones, stockVerdict, storeOriginOf, syncOwnerFor, taxLabel, taxRatePercent, toCents, toIdString, trackingDisplay, trimmedText };
package/dist/index.js CHANGED
@@ -73,6 +73,7 @@ __export(index_exports, {
73
73
  CasePriorityEnum: () => CasePriorityEnum,
74
74
  CaseProfileEnum: () => CaseProfileEnum,
75
75
  CaseStatusEnum: () => CaseStatusEnum,
76
+ CaseThankYouPathEnum: () => CaseThankYouPathEnum,
76
77
  CaseTypeEnum: () => CaseTypeEnum,
77
78
  ConfiguratorConditionTypeEnum: () => ConfiguratorConditionTypeEnum,
78
79
  ConfiguratorEffectTypeEnum: () => ConfiguratorEffectTypeEnum,
@@ -101,6 +102,7 @@ __export(index_exports, {
101
102
  FULFILLMENT_STATUS_VALUES: () => FULFILLMENT_STATUS_VALUES,
102
103
  FeeAppliesToEnum: () => FeeAppliesToEnum,
103
104
  FulfillmentStatusEnum: () => FulfillmentStatusEnum,
105
+ HONEYPOT_FIELD: () => HONEYPOT_FIELD,
104
106
  INVENTORY_POLICY_VALUES: () => INVENTORY_POLICY_VALUES,
105
107
  InventoryPolicyEnum: () => InventoryPolicyEnum,
106
108
  LineShipStateEnum: () => LineShipStateEnum,
@@ -179,6 +181,7 @@ __export(index_exports, {
179
181
  REFUND_STATE_TONES: () => REFUND_STATE_TONES,
180
182
  REFUND_TRAIL_TITLE: () => REFUND_TRAIL_TITLE,
181
183
  RELATION_FIELDS: () => RELATION_FIELDS,
184
+ REPAIR_MAX_TOOLS: () => REPAIR_MAX_TOOLS,
182
185
  RESOURCE_OPERATIONS: () => RESOURCE_OPERATIONS,
183
186
  RETIRED_CART_STATUSES: () => RETIRED_CART_STATUSES,
184
187
  RETURN_ORDER_STATUSES: () => RETURN_ORDER_STATUSES,
@@ -243,6 +246,7 @@ __export(index_exports, {
243
246
  cartAcceptsItem: () => cartAcceptsItem,
244
247
  caseIsOpen: () => caseIsOpen,
245
248
  caseStatusTone: () => caseStatusTone,
249
+ caseThankYouPath: () => caseThankYouPath,
246
250
  categoryFields: () => categoryFields,
247
251
  centsEqual: () => centsEqual,
248
252
  chargesOfLine: () => chargesOfLine,
@@ -320,6 +324,7 @@ __export(index_exports, {
320
324
  normalizeLineQuantity: () => normalizeLineQuantity,
321
325
  normalizeNumber: () => normalizeNumber,
322
326
  normalizePath: () => normalizePath,
327
+ originUrl: () => originUrl,
323
328
  pageOf: () => pageOf,
324
329
  parseSitemapEntries: () => parseSitemapEntries,
325
330
  paymentLinkStatusTone: () => paymentLinkStatusTone,
@@ -345,6 +350,7 @@ __export(index_exports, {
345
350
  refundStepTone: () => refundStepTone,
346
351
  refundSummary: () => refundSummary,
347
352
  repLineNote: () => repLineNote,
353
+ repairAddressLine: () => repairAddressLine,
348
354
  resolveAddonSelections: () => resolveAddonSelections,
349
355
  resolveEffectivePermissions: () => resolveEffectivePermissions,
350
356
  resolveProductAddonGroups: () => resolveProductAddonGroups,
@@ -361,6 +367,7 @@ __export(index_exports, {
361
367
  statusTone: () => statusTone,
362
368
  statusTones: () => statusTones,
363
369
  stockVerdict: () => stockVerdict,
370
+ storeOriginOf: () => storeOriginOf,
364
371
  syncOwnerFor: () => syncOwnerFor,
365
372
  taxLabel: () => taxLabel,
366
373
  taxRatePercent: () => taxRatePercent,
@@ -407,6 +414,7 @@ var ADMIN_RESOURCE_LIST = [
407
414
  { value: "tax-rates", label: "Tax Rates", group: "Commerce" },
408
415
  { value: "customers", label: "Customers", group: "People" },
409
416
  { value: "contact-us", label: "Contact Requests", group: "People" },
417
+ { value: "repair-requests", label: "Repair Requests", group: "People" },
410
418
  { value: "subscribers", label: "Subscribers", group: "People" },
411
419
  { value: "blog", label: "Blog", group: "Content" },
412
420
  { value: "faqs", label: "FAQs", group: "Content" },
@@ -636,6 +644,9 @@ var errorMessage = (error, fallback = "") => {
636
644
  return fallback;
637
645
  };
638
646
 
647
+ // src/common/honeypot.ts
648
+ var HONEYPOT_FIELD = "website";
649
+
639
650
  // src/company/details.ts
640
651
  var COMPANY = {
641
652
  legalName: "Flexible Assembly Systems, Inc.",
@@ -731,15 +742,35 @@ var StoreThemeEnum = {
731
742
  };
732
743
  var STORE_THEME_VALUES = Object.values(StoreThemeEnum);
733
744
 
745
+ // src/store/origin.ts
746
+ var storeOriginOf = (domain) => {
747
+ const raw = (domain ?? "").trim();
748
+ if (!raw) return null;
749
+ if (/^https?:\/\//i.test(raw)) return raw.replace(/\/$/, "");
750
+ const protocol = /^(localhost|127\.0\.0\.1)(:|$)/i.test(raw) ? "http" : "https";
751
+ return `${protocol}://${raw}`.replace(/\/$/, "");
752
+ };
753
+ var originUrl = (origin, path) => `${origin}/${path.replace(/^\//, "")}`;
754
+
734
755
  // src/contact/interface.ts
735
756
  var ContactRequestTypeEnum = {
736
757
  CONTACT: "CONTACT",
737
- ONSITE_DEMO: "ONSITE_DEMO",
738
- REPAIR: "REPAIR"
758
+ ONSITE_DEMO: "ONSITE_DEMO"
739
759
  };
740
760
  var CONTACT_REQUEST_TYPE_VALUES = Object.values(ContactRequestTypeEnum);
741
761
  var isContactRequestType = (value) => typeof value === "string" && CONTACT_REQUEST_TYPE_VALUES.includes(value);
742
762
 
763
+ // src/repairRequest/interface.ts
764
+ var REPAIR_MAX_TOOLS = 50;
765
+
766
+ // src/repairRequest/format.ts
767
+ var repairAddressLine = (address) => [
768
+ [trimmedText(address.street), trimmedText(address.suite)].filter(Boolean).join(", "),
769
+ trimmedText(address.city),
770
+ [trimmedText(address.state), trimmedText(address.postalCode)].filter(Boolean).join(" "),
771
+ trimmedText(address.countryIso).toUpperCase() === "US" ? "" : trimmedText(address.country)
772
+ ].filter(Boolean).join(", ");
773
+
743
774
  // src/supportCase/interface.ts
744
775
  var CaseStatusEnum = {
745
776
  NOT_STARTED: "1",
@@ -827,6 +858,15 @@ var CASE_STATUS_TONES = {
827
858
  };
828
859
  var caseStatusTone = (status) => CASE_STATUS_TONES[status] ?? StatusToneEnum.WAITING;
829
860
 
861
+ // src/supportCase/thankYou.ts
862
+ var CaseThankYouPathEnum = {
863
+ CONTACT: "/contact-us/thank-you",
864
+ CONTACT_ES: "/en-espanol/thank-you",
865
+ ONSITE_DEMO: "/onsite-request/thank-you",
866
+ REPAIR: "/repair-request/thank-you"
867
+ };
868
+ var caseThankYouPath = (base, caseId, receiptToken) => (caseId ? `${base}/${encodeURIComponent(caseId)}` : base) + (receiptToken ? `?t=${encodeURIComponent(receiptToken)}` : "");
869
+
830
870
  // src/coupon/interface.ts
831
871
  var DiscountTypeEnum = {
832
872
  PERCENTAGE: "PERCENTAGE",