<% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>

FS::quotation_pkg

NAME

FS::quotation_pkg - Object methods for quotation_pkg records

SYNOPSIS

  use FS::quotation_pkg;

  $record = new FS::quotation_pkg \%hash;
  $record = new FS::quotation_pkg { 'column' => 'value' };

  $error = $record->insert;

  $error = $new_record->replace($old_record);

  $error = $record->delete;

  $error = $record->check;

DESCRIPTION

An FS::quotation_pkg object represents a quotation package. FS::quotation_pkg inherits from FS::Record. The following fields are currently supported:

quotationpkgnum

primary key

pkgpart

pkgpart (FS::part_pkg) of the package

locationnum

locationnum (FS::cust_location) where the package will be in service

start_date

expected start date for the package, as a timestamp

contract_end

contract end date

quantity

quantity

waive_setup

'Y' to waive the setup fee

unitsetup

The amount per package that will be charged in setup/one-time fees.

unitrecur

The amount per package that will be charged per billing cycle.

freq

The length of the billing cycle. If zero it's a one-time charge; if any other number it's that many months; other values are in FS::Misc::pkg_freqs.

METHODS

new HASHREF

Creates a new quotation package. To add the quotation package to the database, see "insert".

Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the hash method.

insert

Adds this record to the database. If there is an error, returns the error, otherwise returns false. Accepts the following options:

quotation_details - optional arrayref of detail strings to add (creates quotation_pkg_detail records)

copy_on_order - value for this field when creating quotation_pkg_detail records (same for all details)

delete

Delete this record from the database.

replace OLD_RECORD

Replaces the 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 quotation package. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.

insert_discount

Associates this package with a discount (see FS::cust_pkg_discount, possibly inserting a new discount on the fly (see FS::discount). Properties of the discount will be taken from this object.

part_pkg_currency_option OPTIONNAME

Returns a two item list consisting of the currency of this quotation's customer or prospect, if any, and a value for the provided option. If the customer or prospect has a currency, the value is the option value the given name and the currency (see FS::part_pkg_currency). Otherwise, if the customer or prospect has no currency, is the regular option value for the given name (see FS::part_pkg_option).

delete_details

Deletes all quotation_pkgs_details associated with this pkg (see FS::quotation_pkg_detail).

set_details PARAM

Sets new quotation details for this package (see FS::quotation_pkg_detail), removing existing details.

Recognizes the following parameters:

details - arrayref of strings, one for each new detail

copy_on_order - if true, sets copy_on_order flag on new details

If there is an error, returns the error, otherwise returns false.

cust_bill_pkg_display [ type => TYPE ]
cust_main

Returns the customer (FS::cust_main object).

prospect_main

Returns the prospect (FS::prospect_main object).

BUGS

Doesn't support fees, or add-on packages.

SEE ALSO

FS::Record, schema.html from the base documentation.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 270:

=cut found outside a pod block. Skipping to next block.

<% include ('/elements/footer.html' ) %>