MobileBuyerProfile
Authenticated buyer profile surface. v1 derives values from the JWT and Redis-backed addresses; promote to a Prisma-backed read model later.
type MobileBuyerProfile {
accountStatus: String
addressCount: Int!
businessType: String
companyName: String
createdAt: DateTime
department: String
email: String
firstName: String
id: ID!
lastName: String
name: String
paymentTerms: String
phone: String
referenceId: String
title: String
whatsapp: String
}
Fields
MobileBuyerProfile.accountStatus ● String scalar
Buyer account (customer) approval status: ACTIVE | PENDING_APPROVAL | INACTIVE. ACTIVE means the buyer may order; anything else drives the pending-approval banner and disables checkout.
MobileBuyerProfile.addressCount ● Int! non-null scalar
How many addresses the buyer has.
MobileBuyerProfile.businessType ● String scalar
BUSINESS | INDIVIDUAL, read from the Partner.type COLUMN — the same field the seller console's customer form edits, so both surfaces always agree. Normalised: a legacy or role-shaped stored value reads as BUSINESS. Gates the buyer app's Team / Branches / Approvals flows, which exist only for a business account.
MobileBuyerProfile.companyName ● String scalar
Company / business name (Partner.metadata).
MobileBuyerProfile.createdAt ● DateTime scalar
When the buyer first authenticated. Null until populated.
MobileBuyerProfile.department ● String scalar
Department, read from the person's Contact rows.
MobileBuyerProfile.email ● String scalar
Email address.
MobileBuyerProfile.firstName ● String scalar
The buyer's first name.
MobileBuyerProfile.id ● ID! non-null scalar
The unique ID of this record.
MobileBuyerProfile.lastName ● String scalar
The buyer's last name.
MobileBuyerProfile.name ● String scalar
The buyer's full name.
MobileBuyerProfile.paymentTerms ● String scalar
Raw payment-terms code (Partner.paymentTerms, e.g. 'NET_30', 'COD') — the client formats it for display; this is the same code every document/pricing surface treats as canonical.
MobileBuyerProfile.phone ● String scalar
E.164-formatted phone, +974 prefixed for Qatar.
MobileBuyerProfile.referenceId ● String scalar
This buyer's own reference code (Contact.referenceId) — the same value the Team screen shows for each member. Null when they have no Contact row yet.
MobileBuyerProfile.title ● String scalar
Job title, read from the person's Contact rows.
MobileBuyerProfile.whatsapp ● String scalar
E.164 WhatsApp number, read from the person's WHATSAPP Contact channel row — the only place one exists. Null when they have no WhatsApp row.
Returned By
myProfile query ● updateMyProfile mutation