import { APIResource } from "../../core/resource.mjs"; import { APIPromise } from "../../core/api-promise.mjs"; import { CursorPage, type CursorPageParams, PagePromise } from "../../core/pagination.mjs"; import { RequestOptions } from "../../internal/request-options.mjs"; export declare class ItemSites extends APIResource { /** * Retrieves an item site by ID. * * **IMPORTANT:** If you need to fetch multiple specific item sites by ID, use the * list endpoint instead with the `ids` parameter. It accepts an array of IDs so * you can batch the request into a single call, which is significantly faster. * * @example * ```ts * const itemSite = await conductor.qbd.itemSites.retrieve( * '80000001-1234567890', * { conductorEndUserId: 'end_usr_1234567abcdefg' }, * ); * ``` */ retrieve(id: string, params: ItemSiteRetrieveParams, options?: RequestOptions): APIPromise; /** * Returns a list of item sites. Use the `cursor` parameter to paginate through the * results. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const itemSite of conductor.qbd.itemSites.list({ * conductorEndUserId: 'end_usr_1234567abcdefg', * })) { * // ... * } * ``` */ list(params: ItemSiteListParams, options?: RequestOptions): PagePromise; } export type ItemSitesCursorPage = CursorPage; export interface ItemSite { /** * The unique identifier assigned by QuickBooks to this item site. This ID is * unique across all item sites but not across different QuickBooks object types. */ id: string; /** * The inventory level of this item site at which a new build assembly should * begin. When the combined `quantityOnHand` and `quantityOnPurchaseOrders` drops * below this point, QuickBooks flags the need to build additional units. */ assemblyBuildPoint: number | null; /** * The date and time when this item site was created, in ISO 8601 format * (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local * timezone of the end-user's computer. */ createdAt: string; /** * The inventory assembly item associated with this item site. An inventory * assembly item is assembled or manufactured from other inventory items, and the * items and/or assemblies that make up the assembly are called components. */ inventoryAssemblyItem: ItemSite.InventoryAssemblyItem | null; /** * The inventory item associated with this item site. */ inventoryItem: ItemSite.InventoryItem | null; /** * The site location where inventory for the item associated with this item site is * stored. */ inventorySite: ItemSite.InventorySite | null; /** * The specific location (e.g., bin or shelf) within the inventory site where the * item associated with this item site is stored. */ inventorySiteLocation: ItemSite.InventorySiteLocation | null; /** * The type of object. This value is always `"qbd_item_site"`. */ objectType: 'qbd_item_site'; /** * The number of units of this item site currently in inventory. */ quantityOnHand: number | null; /** * The number of units of this item site that are currently on pending inventory * transfer transactions. */ quantityOnPendingTransfers: number | null; /** * The number of units of this item site that are currently listed on outstanding * purchase orders and have not yet been received. */ quantityOnPurchaseOrders: number | null; /** * The number of units of this item site that are currently listed on outstanding * sales orders and have not yet been fulfilled or delivered to customers. */ quantityOnSalesOrders: number | null; /** * The number of units of this item site required by pending build transactions. */ quantityRequiredByPendingBuildTransactions: number | null; /** * The number of units of this item site that are scheduled to be built on pending * build transactions. */ quantityToBeBuiltByPendingBuildTransactions: number | null; /** * The inventory level at which QuickBooks prompts you to reorder this item site. */ reorderLevel: number | null; /** * The current QuickBooks-assigned revision number of this item site object, which * changes each time the object is modified. When updating this object, you must * provide the most recent `revisionNumber` to ensure you're working with the * latest data; otherwise, the update will return an error. */ revisionNumber: string; /** * The date and time when this item site was last updated, in ISO 8601 format * (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local * timezone of the end-user's computer. */ updatedAt: string; } export declare namespace ItemSite { /** * The inventory assembly item associated with this item site. An inventory * assembly item is assembled or manufactured from other inventory items, and the * items and/or assemblies that make up the assembly are called components. */ interface InventoryAssemblyItem { /** * The unique identifier assigned by QuickBooks to this object. This ID is unique * across all objects of the same type, but not across different QuickBooks object * types. */ id: string | null; /** * The fully-qualified unique name for this object, formed by combining the names * of its parent objects with its own `name`, separated by colons. Not * case-sensitive. */ fullName: string | null; } /** * The inventory item associated with this item site. */ interface InventoryItem { /** * The unique identifier assigned by QuickBooks to this object. This ID is unique * across all objects of the same type, but not across different QuickBooks object * types. */ id: string | null; /** * The fully-qualified unique name for this object, formed by combining the names * of its parent objects with its own `name`, separated by colons. Not * case-sensitive. */ fullName: string | null; } /** * The site location where inventory for the item associated with this item site is * stored. */ interface InventorySite { /** * The unique identifier assigned by QuickBooks to this object. This ID is unique * across all objects of the same type, but not across different QuickBooks object * types. */ id: string | null; /** * The fully-qualified unique name for this object, formed by combining the names * of its parent objects with its own `name`, separated by colons. Not * case-sensitive. */ fullName: string | null; } /** * The specific location (e.g., bin or shelf) within the inventory site where the * item associated with this item site is stored. */ interface InventorySiteLocation { /** * The unique identifier assigned by QuickBooks to this object. This ID is unique * across all objects of the same type, but not across different QuickBooks object * types. */ id: string | null; /** * The fully-qualified unique name for this object, formed by combining the names * of its parent objects with its own `name`, separated by colons. Not * case-sensitive. */ fullName: string | null; } } export interface ItemSiteRetrieveParams { /** * The ID of the End-User to receive this request. */ conductorEndUserId: string; } export interface ItemSiteListParams extends CursorPageParams { /** * Header param: The ID of the End-User to receive this request. */ conductorEndUserId: string; /** * Query param: Filter for specific item sites by their QuickBooks-assigned unique * identifier(s). * * **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other * query parameters for this request. * * **NOTE**: If any of the values you specify in this parameter are not found, the * request will return an error. */ ids?: Array; /** * Query param: Filter for item sites for these items. * * **NOTE:** QuickBooks Desktop only supports `itemType` or item/site filters for * item-sites requests, not both. Do not use `itemType` together with `itemIds` or * `siteIds`. */ itemIds?: Array; /** * Query param: Filter for item sites that match this item type. * * **NOTE:** QuickBooks Desktop only supports `itemType` or item/site filters for * item-sites requests, not both. Do not use `itemType` together with `itemIds` or * `siteIds`. */ itemType?: 'all_except_fixed_asset' | 'assembly' | 'discount' | 'fixed_asset' | 'inventory' | 'inventory_and_assembly' | 'non_inventory' | 'other_charge' | 'payment' | 'sales' | 'sales_tax' | 'service'; /** * Query param: Filter for item sites at these sites. A site represents a physical * location, such as a warehouse or store. * * **NOTE:** QuickBooks Desktop only supports `itemType` or item/site filters for * item-sites requests, not both. Do not use `itemType` together with `itemIds` or * `siteIds`. */ siteIds?: Array; /** * Query param: Filter for item sites that are active, inactive, or both. */ status?: 'active' | 'all' | 'inactive'; } export declare namespace ItemSites { export { type ItemSite as ItemSite, type ItemSitesCursorPage as ItemSitesCursorPage, type ItemSiteRetrieveParams as ItemSiteRetrieveParams, type ItemSiteListParams as ItemSiteListParams, }; } //# sourceMappingURL=item-sites.d.mts.map