Appearance
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?
optionalaffiliateInfo:AffiliateInfo
Defined in: types/vendor.types.ts:189
agreementSignedAt?
optionalagreementSignedAt: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
documents
documents:
VendorDocument[]
Defined in: types/vendor.types.ts:192
id
id:
string
Defined in: types/common.types.ts:167
Inherited from
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?
optionalrevisionReason:string
Defined in: types/vendor.types.ts:196
Staff-provided reason when requesting modifications
stripeConnectId?
optionalstripeConnectId:string
Defined in: types/vendor.types.ts:200
Stripe Connect account ID for payment processing (from SQL vendors.payment_id)
taxInfo?
optionaltaxInfo: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
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