OptionaladdressesOptionalbillingOptionalcompaniesOptionalcompanyFirst company membership, kept for backward compatibility. Prefer companies
— a customer may belong to several companies (e.g. a buyer purchasing for
multiple clients).
OptionalcustomerThe customer's segment, resolved server-side: their own group, else their company's, else null. The same axis that decides pricing (PriceEntry) and assortment (Catalog.customerGroupIds), so content gated on it cannot drift from what the customer actually pays and sees.
null is a real and common answer — most customers belong to no group. Treat a missing
group as "no group", never as "every group": a gate that reads it the other way opens
to exactly the visitors it was meant to exclude.
Match on id. name is for display only — names get renamed, ids do not.
OptionalemailOptionalhasWhether the customer has set a password (false = magic-link only)
OptionalidentitiesSign-in providers connected to the account (Klarna, Google, Microsoft).
OptionallocaleShort language code ("sv"). null = follows the market.
OptionalphoneOptionalshippingOptionalstatusOptionaltimeIANA time zone. null = follows the market.
OptionaltypeBilling type — how the customer wants to be invoiced
All companies the customer is a member of. Use to build a company switcher.