Skip to main content

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