NAME

FS::part_pkg - Object methods for part_pkg objects


SYNOPSIS

  use FS::part_pkg;
  $record = new FS::part_pkg \%hash
  $record = new FS::part_pkg { 'column' => 'value' };
  $custom_record = $template_record->clone;
  $error = $record->insert;
  $error = $new_record->replace($old_record);
  $error = $record->delete;
  $error = $record->check;
  @pkg_svc = $record->pkg_svc;
  $svcnum = $record->svcpart;
  $svcnum = $record->svcpart( 'svc_acct' );


DESCRIPTION

An FS::part_pkg object represents a billing item definition. FS::part_pkg inherits from FS::Record. The following fields are currently supported:

pkgpart - primary key (assigned automatically for new billing item definitions)
pkg - Text name of this billing item definition (customer-viewable)
comment - Text name of this billing item definition (non-customer-viewable)
setup - Setup fee expression
freq - Frequency of recurring fee
recur - Recurring fee expression
setuptax - Setup fee tax exempt flag, empty or `Y'
recurtax - Recurring fee tax exempt flag, empty or `Y'
plan - Price plan
plandata - Price plan data
disabled - Disabled flag, empty or `Y'

setup and recur are evaluated as Safe perl expressions. You can use numbers just as you would normally. More advanced semantics are not yet defined.


METHODS

new HASHREF
Creates a new billing item definition. To add the billing item definition to the database, see insert.

clone
An alternate constructor. Creates a new billing item definition by duplicating an existing definition. A new pkgpart is assigned and `(CUSTOM) ' is prepended to the comment field. To add the billing item definition to the database, see insert.

insert
Adds this billing item definition to the database. If there is an error, returns the error, otherwise returns false.

delete
Currently unimplemented.

replace OLD_RECORD
Replaces OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.

check
Checks all fields to make sure this is a valid billing item definition. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.

pkg_svc
Returns all FS::pkg_svc objects (see the FS::pkg_svc manpage) for this package definition (with non-zero quantity).

svcpart [ SVCDB ]
Returns the svcpart of a single service definition (see the FS::part_svc manpage) associated with this billing item definition (see the FS::pkg_svc manpage). Returns false if there not exactly one service definition with quantity 1, or if SVCDB is specified and does not match the svcdb of the service definition,


VERSION

$Id: part_pkg.html,v 1.3 2002-01-29 17:42:46 ivan Exp $


BUGS

The delete method is unimplemented.

setup and recur semantics are not yet defined (and are implemented in FS::cust_bill. hmm.).


SEE ALSO

the FS::Record manpage, the FS::cust_pkg manpage, the FS::type_pkgs manpage, the FS::pkg_svc manpage, Safe. schema.html from the base documentation.