'Defines a collection of <a href="#billingfees">Billing Fees</a> and <a href="#billingzones">Billing Zones</a> and can be assigned to <a href="#customers">Customers</a> and <a href="#contracts">System Contracts</a>.'
);
class_has'query_params'=>(
is=>'ro',
isa=>'ArrayRef',
default=>sub{[
{
param=>'reseller_id',
description=>'Filter for billing profiles belonging to a specific reseller',
'Defines a billing container for peerings and resellers. A <a href="#billingprofiles">Billing Profile</a> is assigned to a contract, and it has <a href="#contractbalances">Contract Balances</a> indicating the saldo of the contract for current and past billing intervals.'
);
class_has'query_params'=>(
is=>'ro',
isa=>'ArrayRef',
default=>sub{[
{
param=>'contact_id',
description=>'Filter for contracts with a specific contact id',
query=>{
first=>sub{
my$q=shift;
{contact_id=>$q};
},
second=>sub{},
},
},
{
param=>'status',
description=>'Filter for contracts with a specific status (except "terminated")',
'Defines a billing container for end customers. Customers usually have one or more <a href="#subscribers">Subscribers</a>. A <a href="#billingprofiles">Billing Profile</a> is assigned to a customer, and it has <a href="#contractbalances">Contract Balances</a> indicating the saldo of the customer for current and past billing intervals.'
);
class_has'query_params'=>(
is=>'ro',
isa=>'ArrayRef',
default=>sub{[
{
param=>'reseller_id',
description=>'Filter for customers belonging to a specific reseller',
query=>{
first=>sub{
my$q=shift;
{'contact.reseller_id'=>$q};
},
second=>sub{
{join=>'contact'};
},
},
},
{
param=>'contact_id',
description=>'Filter for customers belonging to a specific contact',
'Specifies a SIP Domain to be used as host part for SIP <a href="#subscribers">Subscribers</a>. You need a domain before you can create a subscriber. Multiple domains can be created. A domain could also be an IPv4 or IPv6 address (whereas the latter needs to be enclosed in square brackets, e.g. [::1]).'
);
class_has'query_params'=>(
is=>'ro',
isa=>'ArrayRef',
default=>sub{[
{
param=>'reseller_id',
description=>'Filter for domains belonging to a specific reseller',
query=>{
first=>sub{
my$q=shift;
{'domain_resellers.reseller_id'=>$q};
},
second=>sub{
{join=>'domain_resellers'};
},
},
},
{
param=>'domain',
description=>'Filter for domains matching the given pattern',
'Defines a set of Rewrite Rules which are grouped in <a href="#rewriterulesets">Rewrite Rule Sets</a>. They can be used to alter incoming and outgoing numbers.',
'Defines a physical or legal person\'s address (postal and/or email) to be used in <a href="#contracts">System Contracts</a> (contracts for peerings and resellers).'
);
class_has'query_params'=>(
is=>'ro',
isa=>'ArrayRef',
default=>sub{[
{
param=>'email',
description=>'Filter for contacts matching an email pattern',