Skip to content

DoCurious API Reference / types / Vendor

Interface: Vendor

Defined in: types/vendor.types.ts:181

Complete vendor entity aggregating profile, venues, documents, and approval state.

Remarks

Vendors go through a 3-step onboarding flow (profile -> affiliate/commission -> venues) tracked by onboardingStep. The stripeConnectId field maps to a real Stripe Connect account ID from the SQL vendors.payment_id column.

Example

ts
const vendor: Vendor = {
  id: 'vnd-007',
  createdAt: '2025-04-01T00:00:00Z',
  updatedAt: '2025-04-10T00:00:00Z',
  userId: 'usr-vendor-01',
  companyName: 'Portland Pottery Co.',
  profile: { shortDescription: 'Handcrafted pottery experiences.' },
  contact: { contactName: 'Jane Doe', email: 'jane@pottery.co' },
  billingAddress: { street: '123 Clay St', city: 'Portland', state: 'OR', postalCode: '97201', country: 'US' },
  virtualVenues: [],
  physicalVenues: [],
  documents: [],
  approvalStatus: 'approved',
  accountStatus: 'active',
  onboardingStep: 3,
  isOnboardingComplete: true,
}

Extends

Properties

accountStatus

accountStatus: VendorAccountStatus

Defined in: types/vendor.types.ts:194


affiliateInfo?

optional affiliateInfo: AffiliateInfo

Defined in: types/vendor.types.ts:189


agreementSignedAt?

optional agreementSignedAt: string

Defined in: types/vendor.types.ts:198

ISO datetime when the vendor signed the platform agreement


approvalStatus

approvalStatus: VendorApprovalStatus

Defined in: types/vendor.types.ts:193


billingAddress

billingAddress: Address

Defined in: types/vendor.types.ts:187


companyName

companyName: string

Defined in: types/vendor.types.ts:184


contact

contact: VendorContact

Defined in: types/vendor.types.ts:186


createdAt

createdAt: string

Defined in: types/common.types.ts:154

ISO 8601 datetime when the entity was created

Inherited from

BaseEntity.createdAt


documents

documents: VendorDocument[]

Defined in: types/vendor.types.ts:192


id

id: string

Defined in: types/common.types.ts:167

Inherited from

BaseEntity.id


isOnboardingComplete

isOnboardingComplete: boolean

Defined in: types/vendor.types.ts:204

Whether the vendor has completed all onboarding steps


onboardingStep

onboardingStep: number

Defined in: types/vendor.types.ts:202

Current onboarding step (1-3); 3 means all steps submitted


physicalVenues

physicalVenues: PhysicalVenue[]

Defined in: types/vendor.types.ts:191


profile

profile: VendorProfileInfo

Defined in: types/vendor.types.ts:185


revisionReason?

optional revisionReason: string

Defined in: types/vendor.types.ts:196

Staff-provided reason when requesting modifications


stripeConnectId?

optional stripeConnectId: string

Defined in: types/vendor.types.ts:200

Stripe Connect account ID for payment processing (from SQL vendors.payment_id)


taxInfo?

optional taxInfo: VendorTaxInfo

Defined in: types/vendor.types.ts:188


updatedAt

updatedAt: string

Defined in: types/common.types.ts:156

ISO 8601 datetime when the entity was last modified

Inherited from

BaseEntity.updatedAt


userId

userId: string

Defined in: types/vendor.types.ts:183

User account ID of the vendor owner


virtualVenues

virtualVenues: VirtualVenue[]

Defined in: types/vendor.types.ts:190

DoCurious Platform Documentation