Skip to content
Docs
Reference

BackstageClient.feeSettings

BackstageClient.feeSettings in @ticketlayer/backstage.

@ticketlayer/backstage


@ticketlayer/backstage / BackstageClient / feeSettings

feeSettings: {
  get: (scopeType: string, scopeId: string, requestOptions?: RequestOptions) => Promise<{
     effective: {
        allInPricing: boolean | null;
        jurisdiction: string | null;
        jurisdictionFrom: "venue" | "organisation" | "event" | null;
        surcharges:   | {
           allowed: boolean;
           capRate: number | null;
           creditOnly: boolean;
           rule: {
              basis: string;
              capRate?: number;
              consumer: "blocked" | "allowed";
              creditOnly?: boolean;
              guidance: string;
           };
         }
           | null;
        taxInclusive: boolean | null;
     };
     own: {
        allInPricing: boolean | null;
        jurisdiction: string | null;
        surchargesEnabled: boolean | null;
        taxInclusive: boolean | null;
     };
     scopeId: string;
     scopeType: "organisation" | "channel" | "event";
     updatedAt: string | null;
  }>;
  put: (scopeType: string, scopeId: string, request: {
     allInPricing?: boolean | null;
     jurisdiction?: string | null;
     surchargesEnabled?: boolean | null;
     taxInclusive?: boolean | null;
   }, requestOptions?: RequestOptions) => Promise<{
     effective: {
        allInPricing: boolean | null;
        jurisdiction: string | null;
        jurisdictionFrom: "venue" | "organisation" | "event" | null;
        surcharges:   | {
           allowed: boolean;
           capRate: number | null;
           creditOnly: boolean;
           rule: {
              basis: string;
              capRate?: number;
              consumer: "blocked" | "allowed";
              creditOnly?: boolean;
              guidance: string;
           };
         }
           | null;
        taxInclusive: boolean | null;
     };
     own: {
        allInPricing: boolean | null;
        jurisdiction: string | null;
        surchargesEnabled: boolean | null;
        taxInclusive: boolean | null;
     };
     scopeId: string;
     scopeType: "organisation" | "channel" | "event";
     updatedAt: string | null;
  }>;
  surchargeRules: (requestOptions?: RequestOptions) => Promise<{
     basis: string;
     capRate?: number;
     consumer: "blocked" | "allowed";
     creditOnly?: boolean;
     guidance: string;
     jurisdiction: string;
  }[]>;
};

Defined in: client.ts:8160

Fee Settings methods

get()#

get: (scopeType: string, scopeId: string, requestOptions?: RequestOptions) => Promise<{
  effective: {
     allInPricing: boolean | null;
     jurisdiction: string | null;
     jurisdictionFrom: "venue" | "organisation" | "event" | null;
     surcharges:   | {
        allowed: boolean;
        capRate: number | null;
        creditOnly: boolean;
        rule: {
           basis: string;
           capRate?: number;
           consumer: "blocked" | "allowed";
           creditOnly?: boolean;
           guidance: string;
        };
      }
        | null;
     taxInclusive: boolean | null;
  };
  own: {
     allInPricing: boolean | null;
     jurisdiction: string | null;
     surchargesEnabled: boolean | null;
     taxInclusive: boolean | null;
  };
  scopeId: string;
  scopeType: "organisation" | "channel" | "event";
  updatedAt: string | null;
}>;

Get fee settings An organisation's, a channel's or an event's fee settings, and what they come to: an event's jurisdiction (and where it came from) and whether it may carry a payment surcharge; an organisation's or a channel's all-in pricing. Needs events.read on an event's account, salesfeeprofiles.read otherwise (on every account for the organisation).

Parameters#

ParameterType
scopeTypestring
scopeIdstring
requestOptions?RequestOptions

Returns#

Promise<{ effective: { allInPricing: boolean | null; jurisdiction: string | null; jurisdictionFrom: "venue" | "organisation" | "event" | null; surcharges: | { allowed: boolean; capRate: number | null; creditOnly: boolean; rule: { basis: string; capRate?: number; consumer: "blocked" | "allowed"; creditOnly?: boolean; guidance: string; }; } | null; taxInclusive: boolean | null; }; own: { allInPricing: boolean | null; jurisdiction: string | null; surchargesEnabled: boolean | null; taxInclusive: boolean | null; }; scopeId: string; scopeType: "organisation" | "channel" | "event"; updatedAt: string | null; }>

Operation Id#

getFeeSettings

put()#

put: (scopeType: string, scopeId: string, request: {
  allInPricing?: boolean | null;
  jurisdiction?: string | null;
  surchargesEnabled?: boolean | null;
  taxInclusive?: boolean | null;
}, requestOptions?: RequestOptions) => Promise<{
  effective: {
     allInPricing: boolean | null;
     jurisdiction: string | null;
     jurisdictionFrom: "venue" | "organisation" | "event" | null;
     surcharges:   | {
        allowed: boolean;
        capRate: number | null;
        creditOnly: boolean;
        rule: {
           basis: string;
           capRate?: number;
           consumer: "blocked" | "allowed";
           creditOnly?: boolean;
           guidance: string;
        };
      }
        | null;
     taxInclusive: boolean | null;
  };
  own: {
     allInPricing: boolean | null;
     jurisdiction: string | null;
     surchargesEnabled: boolean | null;
     taxInclusive: boolean | null;
  };
  scopeId: string;
  scopeType: "organisation" | "channel" | "event";
  updatedAt: string | null;
}>;

Set fee settings Set an organisation's jurisdiction, all-in pricing and tax-inclusive pricing, a channel's all-in and tax-inclusive pricing, or an event's jurisdiction and payment surcharges. A field left out keeps its value; null clears it. Surcharges are set per event, because the law that governs them is where the event is: turning them on where consumer surcharges are blocked is refused (409 SURCHARGE_NOT_PERMITTED), and a business buyer's surcharge is a one-off fee line on that order instead. Needs events.update on an event's account, salesfeeprofiles.update otherwise.

Parameters#

ParameterTypeDescription
scopeTypestring-
scopeIdstring-
request{ allInPricing?: boolean | null; jurisdiction?: string | null; surchargesEnabled?: boolean | null; taxInclusive?: boolean | null; }-
request.allInPricing?boolean | nullDescription An organisation's or a channel's headline prices include mandatory fees. Null follows the level above, then the organisation's jurisdiction (on in the UK and the US)
request.jurisdiction?string | nullDescription An event's or the organisation's jurisdiction: ISO 3166-1 alpha-2, or US-XX. Null clears it (an event then follows its venue's country, then the organisation's) Example GB
request.surchargesEnabled?boolean | nullDescription An event's payment surcharges: null follows the jurisdiction's default. Turning them on where consumer surcharges are blocked is refused (409 SURCHARGE_NOT_PERMITTED)
request.taxInclusive?boolean | nullDescription An organisation's or a channel's prices include tax (true) or have it added at checkout (false). Null follows the level above, then the organisation's jurisdiction (included in the UK and EU, added in the US and Canada). Only matters once a supplier is registered for tax
requestOptions?RequestOptions-

Returns#

Promise<{ effective: { allInPricing: boolean | null; jurisdiction: string | null; jurisdictionFrom: "venue" | "organisation" | "event" | null; surcharges: | { allowed: boolean; capRate: number | null; creditOnly: boolean; rule: { basis: string; capRate?: number; consumer: "blocked" | "allowed"; creditOnly?: boolean; guidance: string; }; } | null; taxInclusive: boolean | null; }; own: { allInPricing: boolean | null; jurisdiction: string | null; surchargesEnabled: boolean | null; taxInclusive: boolean | null; }; scopeId: string; scopeType: "organisation" | "channel" | "event"; updatedAt: string | null; }>

Operation Id#

putFeeSettings

surchargeRules()#

surchargeRules: (requestOptions?: RequestOptions) => Promise<{
  basis: string;
  capRate?: number;
  consumer: "blocked" | "allowed";
  creditOnly?: boolean;
  guidance: string;
  jurisdiction: string;
}[]>;

List the surcharge rules by jurisdiction The platform's guidance on payment surcharges, by jurisdiction: whether a consumer may be surcharged, the cap, the credit-only rule, and what each rests on. What the fee engine applies and Manage shows beside an event's surcharge setting. Guidance, not legal advice.

Parameters#

ParameterType
requestOptions?RequestOptions

Returns#

Promise<{ basis: string; capRate?: number; consumer: "blocked" | "allowed"; creditOnly?: boolean; guidance: string; jurisdiction: string; }[]>

Operation Id#

listSurchargeRules