Skip to content
Docs
Reference

BackstageClient.feeProfiles

BackstageClient.feeProfiles in @ticketlayer/backstage.

@ticketlayer/backstage


@ticketlayer/backstage / BackstageClient / feeProfiles

feeProfiles: {
  create: (request: {
     components?: {
        amount:   | {
           amount: number;
           maximum?: number;
           minimum?: number;
           type: "fixed";
         }
           | {
           maximum?: number;
           minimum?: number;
           of: "payment" | "subtotal";
           rate: number;
           type: "percent";
         }
           | {
           maximum?: number;
           minimum?: number;
           tiers: {
              amount: number;
              upTo: ... | ...;
           }[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: string[];
           customerTags?: string[];
           deliveryMethods?: string[];
           eventIds?: string[];
           holderCount?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           orderTotal?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           paymentMethods?: string[];
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: {
              partyId: string;
              share: number;
           }[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: (
              | "service"
              | "booking"
              | "delivery"
              | "credential"
              | "payment_surcharge"
              | "name_change"
              | "transfer"
             | "reprint")[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (
              | "service"
              | "booking"
              | "delivery"
              | "credential"
              | "payment_surcharge"
              | "name_change"
              | "transfer"
             | "reprint")[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
     }[];
     feeEarnerAccountId?: any;
     name: string;
     rules?: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled?: boolean;
     serviceFeeFixed?: number;
     serviceFeeLabel?: string;
     serviceFeePercent?: number;
   }, requestOptions?: RequestOptions) => Promise<{
     components: {
        amount:   | {
           amount: number;
           maximum?: number;
           minimum?: number;
           type: "fixed";
         }
           | {
           maximum?: number;
           minimum?: number;
           of: "payment" | "subtotal";
           rate: number;
           type: "percent";
         }
           | {
           maximum?: number;
           minimum?: number;
           tiers: {
              amount: ...;
              upTo: ...;
           }[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: ...[];
           customerTags?: ...[];
           deliveryMethods?: ...[];
           eventIds?: ...[];
           holderCount?: {
              max?: ...;
              min?: ...;
           };
           orderTotal?: {
              max?: ...;
              min?: ...;
           };
           paymentMethods?: ...[];
           priceTags?: ...[];
           ticketTypeTags?: ...[];
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
      } & {
        conditions: {
           channelIds?: string[];
           customerTags?: string[];
           deliveryMethods?: string[];
           eventIds?: string[];
           holderCount?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           orderTotal?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           paymentMethods?: string[];
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
        display: "included" | "separate";
        earner:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled: boolean;
        id: string;
        optional: boolean;
        payer: "customer" | "party";
        placement: "outside" | "inside";
        refundable: "always" | "never" | "until_fulfilled";
        taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive: boolean;
     }[];
     createdAt: string;
     deletedAt: string | null;
     feeEarnerAccountId: string | null;
     id: string;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     rules: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled: boolean;
     serviceFeeFixed: number | null;
     serviceFeeLabel: string | null;
     serviceFeePercent: string | null;
     updatedAt: string;
  }>;
  delete: (profileId: string, requestOptions?: RequestOptions) => Promise<boolean>;
  get: (profileId: string, requestOptions?: RequestOptions) => Promise<{
     components: {
        amount:   | {
           amount: number;
           maximum?: number;
           minimum?: number;
           type: "fixed";
         }
           | {
           maximum?: number;
           minimum?: number;
           of: "payment" | "subtotal";
           rate: number;
           type: "percent";
         }
           | {
           maximum?: number;
           minimum?: number;
           tiers: {
              amount: ...;
              upTo: ...;
           }[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: ...[];
           customerTags?: ...[];
           deliveryMethods?: ...[];
           eventIds?: ...[];
           holderCount?: {
              max?: ...;
              min?: ...;
           };
           orderTotal?: {
              max?: ...;
              min?: ...;
           };
           paymentMethods?: ...[];
           priceTags?: ...[];
           ticketTypeTags?: ...[];
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
      } & {
        conditions: {
           channelIds?: string[];
           customerTags?: string[];
           deliveryMethods?: string[];
           eventIds?: string[];
           holderCount?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           orderTotal?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           paymentMethods?: string[];
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
        display: "included" | "separate";
        earner:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled: boolean;
        id: string;
        optional: boolean;
        payer: "customer" | "party";
        placement: "outside" | "inside";
        refundable: "always" | "never" | "until_fulfilled";
        taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive: boolean;
     }[];
     createdAt: string;
     deletedAt: string | null;
     feeEarnerAccountId: string | null;
     id: string;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     rules: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled: boolean;
     serviceFeeFixed: number | null;
     serviceFeeLabel: string | null;
     serviceFeePercent: string | null;
     updatedAt: string;
  }>;
  list: (requestOptions?: RequestOptions) => Promise<{
     components: {
        amount:   | {
           amount: number;
           maximum?: ... | ...;
           minimum?: ... | ...;
           type: "fixed";
         }
           | {
           maximum?: ... | ...;
           minimum?: ... | ...;
           of: ... | ...;
           rate: number;
           type: "percent";
         }
           | {
           maximum?: ... | ...;
           minimum?: ... | ...;
           tiers: ...[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: ... | ...;
           customerTags?: ... | ...;
           deliveryMethods?: ... | ...;
           eventIds?: ... | ...;
           holderCount?: ... | ...;
           orderTotal?: ... | ...;
           paymentMethods?: ... | ...;
           priceTags?: ... | ...;
           ticketTypeTags?: ... | ...;
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: ...[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: ...[];
           type: "waive";
         }
           | {
           amount?: ... | ...;
           rate?: ... | ...;
           targets: ...[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
      } & {
        conditions: {
           channelIds?: ...[];
           customerTags?: ...[];
           deliveryMethods?: ...[];
           eventIds?: ...[];
           holderCount?: {
              max?: ...;
              min?: ...;
           };
           orderTotal?: {
              max?: ...;
              min?: ...;
           };
           paymentMethods?: ...[];
           priceTags?: ...[];
           ticketTypeTags?: ...[];
        };
        display: "included" | "separate";
        earner:   | {
           splits: ...[];
         }
           | null;
        effect:   | {
           type: "add";
         }
           | {
           targets: ...[];
           type: "waive";
         }
           | {
           amount?: ... | ...;
           rate?: ... | ...;
           targets: ...[];
           type: "discount";
         };
        enabled: boolean;
        id: string;
        optional: boolean;
        payer: "customer" | "party";
        placement: "outside" | "inside";
        refundable: "always" | "never" | "until_fulfilled";
        taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive: boolean;
     }[];
     createdAt: string;
     deletedAt: string | null;
     feeEarnerAccountId: string | null;
     id: string;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     rules: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled: boolean;
     serviceFeeFixed: number | null;
     serviceFeeLabel: string | null;
     serviceFeePercent: string | null;
     updatedAt: string;
  }[]>;
  update: (profileId: string, request: {
     components?: {
        amount:   | {
           amount: number;
           maximum?: number;
           minimum?: number;
           type: "fixed";
         }
           | {
           maximum?: number;
           minimum?: number;
           of: "payment" | "subtotal";
           rate: number;
           type: "percent";
         }
           | {
           maximum?: number;
           minimum?: number;
           tiers: {
              amount: number;
              upTo: ... | ...;
           }[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: string[];
           customerTags?: string[];
           deliveryMethods?: string[];
           eventIds?: string[];
           holderCount?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           orderTotal?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           paymentMethods?: string[];
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: {
              partyId: string;
              share: number;
           }[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: (
              | "service"
              | "booking"
              | "delivery"
              | "credential"
              | "payment_surcharge"
              | "name_change"
              | "transfer"
             | "reprint")[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (
              | "service"
              | "booking"
              | "delivery"
              | "credential"
              | "payment_surcharge"
              | "name_change"
              | "transfer"
             | "reprint")[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
     }[];
     feeEarnerAccountId?: any;
     name?: string;
     rules?: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled?: boolean;
     serviceFeeFixed?: number;
     serviceFeeLabel?: string;
     serviceFeePercent?: number;
   }, requestOptions?: RequestOptions) => Promise<{
     components: {
        amount:   | {
           amount: number;
           maximum?: number;
           minimum?: number;
           type: "fixed";
         }
           | {
           maximum?: number;
           minimum?: number;
           of: "payment" | "subtotal";
           rate: number;
           type: "percent";
         }
           | {
           maximum?: number;
           minimum?: number;
           tiers: {
              amount: ...;
              upTo: ...;
           }[];
           type: "tiered";
         };
        basis:   | "per_order"
           | "per_entitlement"
           | "per_holder"
           | "per_pass"
           | "per_shipment"
           | "per_fulfilment_unit"
           | "per_payment";
        conditions?: {
           channelIds?: ...[];
           customerTags?: ...[];
           deliveryMethods?: ...[];
           eventIds?: ...[];
           holderCount?: {
              max?: ...;
              min?: ...;
           };
           orderTotal?: {
              max?: ...;
              min?: ...;
           };
           paymentMethods?: ...[];
           priceTags?: ...[];
           ticketTypeTags?: ...[];
        };
        display?: "included" | "separate";
        earner?:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect?:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled?: boolean;
        id?: string;
        kind:   | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
           | "reprint";
        label: string;
        optional?: boolean;
        payer?: "customer" | "party";
        placement?: "outside" | "inside";
        refundable?: "always" | "never" | "until_fulfilled";
        taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive?: boolean;
      } & {
        conditions: {
           channelIds?: string[];
           customerTags?: string[];
           deliveryMethods?: string[];
           eventIds?: string[];
           holderCount?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           orderTotal?: {
              max?: ... | ...;
              min?: ... | ...;
           };
           paymentMethods?: string[];
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
        display: "included" | "separate";
        earner:   | {
           splits: {
              partyId: ...;
              share: ...;
           }[];
         }
           | null;
        effect:   | {
           type: "add";
         }
           | {
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "waive";
         }
           | {
           amount?: number;
           rate?: number;
           targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
           type: "discount";
         };
        enabled: boolean;
        id: string;
        optional: boolean;
        payer: "customer" | "party";
        placement: "outside" | "inside";
        refundable: "always" | "never" | "until_fulfilled";
        taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
        taxInclusive: boolean;
     }[];
     createdAt: string;
     deletedAt: string | null;
     feeEarnerAccountId: string | null;
     id: string;
     isDeleted: boolean;
     name: string;
     organisationId: string;
     rules: {
        effect:   | {
           percent: number;
         }
           | {
           fixedPerTicket: number;
         }
           | {
           waived: true;
         };
        id?: string;
        match: {
           priceTags?: string[];
           ticketTypeTags?: string[];
        };
     }[];
     serviceFeeEnabled: boolean;
     serviceFeeFixed: number | null;
     serviceFeeLabel: string | null;
     serviceFeePercent: string | null;
     updatedAt: string;
  }>;
};

Defined in: client.ts:8083

Fee Profiles methods

create()#

create: (request: {
  components?: {
     amount:   | {
        amount: number;
        maximum?: number;
        minimum?: number;
        type: "fixed";
      }
        | {
        maximum?: number;
        minimum?: number;
        of: "payment" | "subtotal";
        rate: number;
        type: "percent";
      }
        | {
        maximum?: number;
        minimum?: number;
        tiers: {
           amount: number;
           upTo: ... | ...;
        }[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: string[];
        customerTags?: string[];
        deliveryMethods?: string[];
        eventIds?: string[];
        holderCount?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        orderTotal?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        paymentMethods?: string[];
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: {
           partyId: string;
           share: number;
        }[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: (
           | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
          | "reprint")[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (
           | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
          | "reprint")[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
  }[];
  feeEarnerAccountId?: any;
  name: string;
  rules?: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled?: boolean;
  serviceFeeFixed?: number;
  serviceFeeLabel?: string;
  serviceFeePercent?: number;
}, requestOptions?: RequestOptions) => Promise<{
  components: {
     amount:   | {
        amount: number;
        maximum?: number;
        minimum?: number;
        type: "fixed";
      }
        | {
        maximum?: number;
        minimum?: number;
        of: "payment" | "subtotal";
        rate: number;
        type: "percent";
      }
        | {
        maximum?: number;
        minimum?: number;
        tiers: {
           amount: ...;
           upTo: ...;
        }[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: ...[];
        customerTags?: ...[];
        deliveryMethods?: ...[];
        eventIds?: ...[];
        holderCount?: {
           max?: ...;
           min?: ...;
        };
        orderTotal?: {
           max?: ...;
           min?: ...;
        };
        paymentMethods?: ...[];
        priceTags?: ...[];
        ticketTypeTags?: ...[];
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
   } & {
     conditions: {
        channelIds?: string[];
        customerTags?: string[];
        deliveryMethods?: string[];
        eventIds?: string[];
        holderCount?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        orderTotal?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        paymentMethods?: string[];
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
     display: "included" | "separate";
     earner:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled: boolean;
     id: string;
     optional: boolean;
     payer: "customer" | "party";
     placement: "outside" | "inside";
     refundable: "always" | "never" | "until_fulfilled";
     taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive: boolean;
  }[];
  createdAt: string;
  deletedAt: string | null;
  feeEarnerAccountId: string | null;
  id: string;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  rules: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled: boolean;
  serviceFeeFixed: number | null;
  serviceFeeLabel: string | null;
  serviceFeePercent: string | null;
  updatedAt: string;
}>;

Create fee profile Create an org-level fee configuration that sales channels can reference

Parameters#

ParameterType
request{ components?: { amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: number; upTo: ... | ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: string; share: number; }[]; } | null; effect?: | { type: "add"; } | { targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "waive"; } | { amount?: number; rate?: number; targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; }[]; feeEarnerAccountId?: any; name: string; rules?: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled?: boolean; serviceFeeFixed?: number; serviceFeeLabel?: string; serviceFeePercent?: number; }
request.components?{ amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: number; upTo: ... | ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: string; share: number; }[]; } | null; effect?: | { type: "add"; } | { targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "waive"; } | { amount?: number; rate?: number; targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; }[]
request.feeEarnerAccountId?any
request.name?string
request.rules?{ effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]
request.serviceFeeEnabled?boolean
request.serviceFeeFixed?number
request.serviceFeeLabel?string
request.serviceFeePercent?number
requestOptions?RequestOptions

Returns#

Promise<{ components: { amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: ...; upTo: ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: ...[]; customerTags?: ...[]; deliveryMethods?: ...[]; eventIds?: ...[]; holderCount?: { max?: ...; min?: ...; }; orderTotal?: { max?: ...; min?: ...; }; paymentMethods?: ...[]; priceTags?: ...[]; ticketTypeTags?: ...[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: ...; share: ...; }[]; } | null; effect?: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; } & { conditions: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display: "included" | "separate"; earner: | { splits: { partyId: ...; share: ...; }[]; } | null; effect: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled: boolean; id: string; optional: boolean; payer: "customer" | "party"; placement: "outside" | "inside"; refundable: "always" | "never" | "until_fulfilled"; taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive: boolean; }[]; createdAt: string; deletedAt: string | null; feeEarnerAccountId: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; rules: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id#

createFeeProfile

delete()#

delete: (profileId: string, requestOptions?: RequestOptions) => Promise<boolean>;

Delete fee profile Soft-delete a fee profile

Parameters#

ParameterType
profileIdstring
requestOptions?RequestOptions

Returns#

Promise<boolean>

Operation Id#

deleteFeeProfile

get()#

get: (profileId: string, requestOptions?: RequestOptions) => Promise<{
  components: {
     amount:   | {
        amount: number;
        maximum?: number;
        minimum?: number;
        type: "fixed";
      }
        | {
        maximum?: number;
        minimum?: number;
        of: "payment" | "subtotal";
        rate: number;
        type: "percent";
      }
        | {
        maximum?: number;
        minimum?: number;
        tiers: {
           amount: ...;
           upTo: ...;
        }[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: ...[];
        customerTags?: ...[];
        deliveryMethods?: ...[];
        eventIds?: ...[];
        holderCount?: {
           max?: ...;
           min?: ...;
        };
        orderTotal?: {
           max?: ...;
           min?: ...;
        };
        paymentMethods?: ...[];
        priceTags?: ...[];
        ticketTypeTags?: ...[];
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
   } & {
     conditions: {
        channelIds?: string[];
        customerTags?: string[];
        deliveryMethods?: string[];
        eventIds?: string[];
        holderCount?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        orderTotal?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        paymentMethods?: string[];
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
     display: "included" | "separate";
     earner:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled: boolean;
     id: string;
     optional: boolean;
     payer: "customer" | "party";
     placement: "outside" | "inside";
     refundable: "always" | "never" | "until_fulfilled";
     taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive: boolean;
  }[];
  createdAt: string;
  deletedAt: string | null;
  feeEarnerAccountId: string | null;
  id: string;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  rules: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled: boolean;
  serviceFeeFixed: number | null;
  serviceFeeLabel: string | null;
  serviceFeePercent: string | null;
  updatedAt: string;
}>;

Get fee profile Get a fee profile by ID

Parameters#

ParameterType
profileIdstring
requestOptions?RequestOptions

Returns#

Promise<{ components: { amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: ...; upTo: ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: ...[]; customerTags?: ...[]; deliveryMethods?: ...[]; eventIds?: ...[]; holderCount?: { max?: ...; min?: ...; }; orderTotal?: { max?: ...; min?: ...; }; paymentMethods?: ...[]; priceTags?: ...[]; ticketTypeTags?: ...[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: ...; share: ...; }[]; } | null; effect?: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; } & { conditions: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display: "included" | "separate"; earner: | { splits: { partyId: ...; share: ...; }[]; } | null; effect: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled: boolean; id: string; optional: boolean; payer: "customer" | "party"; placement: "outside" | "inside"; refundable: "always" | "never" | "until_fulfilled"; taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive: boolean; }[]; createdAt: string; deletedAt: string | null; feeEarnerAccountId: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; rules: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id#

getFeeProfile

list()#

list: (requestOptions?: RequestOptions) => Promise<{
  components: {
     amount:   | {
        amount: number;
        maximum?: ... | ...;
        minimum?: ... | ...;
        type: "fixed";
      }
        | {
        maximum?: ... | ...;
        minimum?: ... | ...;
        of: ... | ...;
        rate: number;
        type: "percent";
      }
        | {
        maximum?: ... | ...;
        minimum?: ... | ...;
        tiers: ...[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: ... | ...;
        customerTags?: ... | ...;
        deliveryMethods?: ... | ...;
        eventIds?: ... | ...;
        holderCount?: ... | ...;
        orderTotal?: ... | ...;
        paymentMethods?: ... | ...;
        priceTags?: ... | ...;
        ticketTypeTags?: ... | ...;
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: ...[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: ...[];
        type: "waive";
      }
        | {
        amount?: ... | ...;
        rate?: ... | ...;
        targets: ...[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
   } & {
     conditions: {
        channelIds?: ...[];
        customerTags?: ...[];
        deliveryMethods?: ...[];
        eventIds?: ...[];
        holderCount?: {
           max?: ...;
           min?: ...;
        };
        orderTotal?: {
           max?: ...;
           min?: ...;
        };
        paymentMethods?: ...[];
        priceTags?: ...[];
        ticketTypeTags?: ...[];
     };
     display: "included" | "separate";
     earner:   | {
        splits: ...[];
      }
        | null;
     effect:   | {
        type: "add";
      }
        | {
        targets: ...[];
        type: "waive";
      }
        | {
        amount?: ... | ...;
        rate?: ... | ...;
        targets: ...[];
        type: "discount";
      };
     enabled: boolean;
     id: string;
     optional: boolean;
     payer: "customer" | "party";
     placement: "outside" | "inside";
     refundable: "always" | "never" | "until_fulfilled";
     taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive: boolean;
  }[];
  createdAt: string;
  deletedAt: string | null;
  feeEarnerAccountId: string | null;
  id: string;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  rules: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled: boolean;
  serviceFeeFixed: number | null;
  serviceFeeLabel: string | null;
  serviceFeePercent: string | null;
  updatedAt: string;
}[]>;

List fee profiles List the organisation's fee profiles

Parameters#

ParameterType
requestOptions?RequestOptions

Returns#

Promise<{ components: { amount: | { amount: number; maximum?: ... | ...; minimum?: ... | ...; type: "fixed"; } | { maximum?: ... | ...; minimum?: ... | ...; of: ... | ...; rate: number; type: "percent"; } | { maximum?: ... | ...; minimum?: ... | ...; tiers: ...[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: ... | ...; customerTags?: ... | ...; deliveryMethods?: ... | ...; eventIds?: ... | ...; holderCount?: ... | ...; orderTotal?: ... | ...; paymentMethods?: ... | ...; priceTags?: ... | ...; ticketTypeTags?: ... | ...; }; display?: "included" | "separate"; earner?: | { splits: ...[]; } | null; effect?: | { type: "add"; } | { targets: ...[]; type: "waive"; } | { amount?: ... | ...; rate?: ... | ...; targets: ...[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; } & { conditions: { channelIds?: ...[]; customerTags?: ...[]; deliveryMethods?: ...[]; eventIds?: ...[]; holderCount?: { max?: ...; min?: ...; }; orderTotal?: { max?: ...; min?: ...; }; paymentMethods?: ...[]; priceTags?: ...[]; ticketTypeTags?: ...[]; }; display: "included" | "separate"; earner: | { splits: ...[]; } | null; effect: | { type: "add"; } | { targets: ...[]; type: "waive"; } | { amount?: ... | ...; rate?: ... | ...; targets: ...[]; type: "discount"; }; enabled: boolean; id: string; optional: boolean; payer: "customer" | "party"; placement: "outside" | "inside"; refundable: "always" | "never" | "until_fulfilled"; taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive: boolean; }[]; createdAt: string; deletedAt: string | null; feeEarnerAccountId: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; rules: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }[]>

Operation Id#

listFeeProfiles

update()#

update: (profileId: string, request: {
  components?: {
     amount:   | {
        amount: number;
        maximum?: number;
        minimum?: number;
        type: "fixed";
      }
        | {
        maximum?: number;
        minimum?: number;
        of: "payment" | "subtotal";
        rate: number;
        type: "percent";
      }
        | {
        maximum?: number;
        minimum?: number;
        tiers: {
           amount: number;
           upTo: ... | ...;
        }[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: string[];
        customerTags?: string[];
        deliveryMethods?: string[];
        eventIds?: string[];
        holderCount?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        orderTotal?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        paymentMethods?: string[];
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: {
           partyId: string;
           share: number;
        }[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: (
           | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
          | "reprint")[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (
           | "service"
           | "booking"
           | "delivery"
           | "credential"
           | "payment_surcharge"
           | "name_change"
           | "transfer"
          | "reprint")[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
  }[];
  feeEarnerAccountId?: any;
  name?: string;
  rules?: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled?: boolean;
  serviceFeeFixed?: number;
  serviceFeeLabel?: string;
  serviceFeePercent?: number;
}, requestOptions?: RequestOptions) => Promise<{
  components: {
     amount:   | {
        amount: number;
        maximum?: number;
        minimum?: number;
        type: "fixed";
      }
        | {
        maximum?: number;
        minimum?: number;
        of: "payment" | "subtotal";
        rate: number;
        type: "percent";
      }
        | {
        maximum?: number;
        minimum?: number;
        tiers: {
           amount: ...;
           upTo: ...;
        }[];
        type: "tiered";
      };
     basis:   | "per_order"
        | "per_entitlement"
        | "per_holder"
        | "per_pass"
        | "per_shipment"
        | "per_fulfilment_unit"
        | "per_payment";
     conditions?: {
        channelIds?: ...[];
        customerTags?: ...[];
        deliveryMethods?: ...[];
        eventIds?: ...[];
        holderCount?: {
           max?: ...;
           min?: ...;
        };
        orderTotal?: {
           max?: ...;
           min?: ...;
        };
        paymentMethods?: ...[];
        priceTags?: ...[];
        ticketTypeTags?: ...[];
     };
     display?: "included" | "separate";
     earner?:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect?:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled?: boolean;
     id?: string;
     kind:   | "service"
        | "booking"
        | "delivery"
        | "credential"
        | "payment_surcharge"
        | "name_change"
        | "transfer"
        | "reprint";
     label: string;
     optional?: boolean;
     payer?: "customer" | "party";
     placement?: "outside" | "inside";
     refundable?: "always" | "never" | "until_fulfilled";
     taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive?: boolean;
   } & {
     conditions: {
        channelIds?: string[];
        customerTags?: string[];
        deliveryMethods?: string[];
        eventIds?: string[];
        holderCount?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        orderTotal?: {
           max?: ... | ...;
           min?: ... | ...;
        };
        paymentMethods?: string[];
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
     display: "included" | "separate";
     earner:   | {
        splits: {
           partyId: ...;
           share: ...;
        }[];
      }
        | null;
     effect:   | {
        type: "add";
      }
        | {
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "waive";
      }
        | {
        amount?: number;
        rate?: number;
        targets: (... | ... | ... | ... | ... | ... | ... | ...)[];
        type: "discount";
      };
     enabled: boolean;
     id: string;
     optional: boolean;
     payer: "customer" | "party";
     placement: "outside" | "inside";
     refundable: "always" | "never" | "until_fulfilled";
     taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee";
     taxInclusive: boolean;
  }[];
  createdAt: string;
  deletedAt: string | null;
  feeEarnerAccountId: string | null;
  id: string;
  isDeleted: boolean;
  name: string;
  organisationId: string;
  rules: {
     effect:   | {
        percent: number;
      }
        | {
        fixedPerTicket: number;
      }
        | {
        waived: true;
      };
     id?: string;
     match: {
        priceTags?: string[];
        ticketTypeTags?: string[];
     };
  }[];
  serviceFeeEnabled: boolean;
  serviceFeeFixed: number | null;
  serviceFeeLabel: string | null;
  serviceFeePercent: string | null;
  updatedAt: string;
}>;

Update fee profile Update a fee profile

Parameters#

ParameterType
profileIdstring
request{ components?: { amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: number; upTo: ... | ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: string; share: number; }[]; } | null; effect?: | { type: "add"; } | { targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "waive"; } | { amount?: number; rate?: number; targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; }[]; feeEarnerAccountId?: any; name?: string; rules?: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled?: boolean; serviceFeeFixed?: number; serviceFeeLabel?: string; serviceFeePercent?: number; }
request.components?{ amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: number; upTo: ... | ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: string; share: number; }[]; } | null; effect?: | { type: "add"; } | { targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "waive"; } | { amount?: number; rate?: number; targets: ( | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint")[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; }[]
request.feeEarnerAccountId?any
request.name?string
request.rules?{ effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]
request.serviceFeeEnabled?boolean
request.serviceFeeFixed?number
request.serviceFeeLabel?string
request.serviceFeePercent?number
requestOptions?RequestOptions

Returns#

Promise<{ components: { amount: | { amount: number; maximum?: number; minimum?: number; type: "fixed"; } | { maximum?: number; minimum?: number; of: "payment" | "subtotal"; rate: number; type: "percent"; } | { maximum?: number; minimum?: number; tiers: { amount: ...; upTo: ...; }[]; type: "tiered"; }; basis: | "per_order" | "per_entitlement" | "per_holder" | "per_pass" | "per_shipment" | "per_fulfilment_unit" | "per_payment"; conditions?: { channelIds?: ...[]; customerTags?: ...[]; deliveryMethods?: ...[]; eventIds?: ...[]; holderCount?: { max?: ...; min?: ...; }; orderTotal?: { max?: ...; min?: ...; }; paymentMethods?: ...[]; priceTags?: ...[]; ticketTypeTags?: ...[]; }; display?: "included" | "separate"; earner?: | { splits: { partyId: ...; share: ...; }[]; } | null; effect?: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled?: boolean; id?: string; kind: | "service" | "booking" | "delivery" | "credential" | "payment_surcharge" | "name_change" | "transfer" | "reprint"; label: string; optional?: boolean; payer?: "customer" | "party"; placement?: "outside" | "inside"; refundable?: "always" | "never" | "until_fulfilled"; taxCategory?: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive?: boolean; } & { conditions: { channelIds?: string[]; customerTags?: string[]; deliveryMethods?: string[]; eventIds?: string[]; holderCount?: { max?: ... | ...; min?: ... | ...; }; orderTotal?: { max?: ... | ...; min?: ... | ...; }; paymentMethods?: string[]; priceTags?: string[]; ticketTypeTags?: string[]; }; display: "included" | "separate"; earner: | { splits: { partyId: ...; share: ...; }[]; } | null; effect: | { type: "add"; } | { targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "waive"; } | { amount?: number; rate?: number; targets: (... | ... | ... | ... | ... | ... | ... | ...)[]; type: "discount"; }; enabled: boolean; id: string; optional: boolean; payer: "customer" | "party"; placement: "outside" | "inside"; refundable: "always" | "never" | "until_fulfilled"; taxCategory: "non_taxable" | "service" | "goods" | "delivery" | "booking_fee"; taxInclusive: boolean; }[]; createdAt: string; deletedAt: string | null; feeEarnerAccountId: string | null; id: string; isDeleted: boolean; name: string; organisationId: string; rules: { effect: | { percent: number; } | { fixedPerTicket: number; } | { waived: true; }; id?: string; match: { priceTags?: string[]; ticketTypeTags?: string[]; }; }[]; serviceFeeEnabled: boolean; serviceFeeFixed: number | null; serviceFeeLabel: string | null; serviceFeePercent: string | null; updatedAt: string; }>

Operation Id#

updateFeeProfile