Web Service: ProposalService

Target Namespace:
https://www.google.com/apis/ads/publisher/v202502

Port ProposalServiceInterfacePort Port typeSource code

Location:
https://ads.google.com/apis/ads/publisher/v202502/ProposalService
Protocol:
SOAP
Default style:
document
Transport protocol:
SOAP over HTTP
Operations:
  1. createProposalsDetailSource code
  2. getMarketplaceCommentsByStatementDetailSource code
  3. getProposalsByStatementDetailSource code
  4. performProposalActionDetailSource code
  5. updateProposalsDetailSource code

Operations

    Port type ProposalServiceInterfaceSource code

    1. createProposals
      Description:
      Creates new {@link Proposal} objects.

      For each proposal, the following fields are required:

      • {@link Proposal#name}
      Operation type:
      Request-response. The endpoint receives a message, and sends a correlated message.
      Input:
      createProposalsRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
      parameters type createProposals
      Creates new {@link Proposal} objects.

      For each proposal, the following fields are required:

      • {@link Proposal#name}
      • proposals - optional, unbounded; type Proposal
        A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.
        • id - optional; type long
          The unique ID of the {@code Proposal}. This attribute is read-only.
        • isProgrammatic - optional; type boolean
          Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.
        • dfpOrderId - optional; type long
          The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.
        • name - optional; type string
          The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. This attribute is required.
        • startDateTime - optional; type DateTime
          Represents a date combined with the time of day.
          • date - optional; type Date
            Represents a date.
            • year - optional; type int
              Year (e.g., 2009)
            • month - optional; type int
              Month (1..12)
            • day - optional; type int
              Day (1..31)
          • hour - optional; type int
          • minute - optional; type int
          • second - optional; type int
          • timeZoneId - optional; type string
          The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.
        • endDateTime - optional; type DateTime
          Represents a date combined with the time of day.
          • date - optional; type Date
            Represents a date.
            • year - optional; type int
              Year (e.g., 2009)
            • month - optional; type int
              Month (1..12)
            • day - optional; type int
              Day (1..31)
          • hour - optional; type int
          • minute - optional; type int
          • second - optional; type int
          • timeZoneId - optional; type string
          The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.
        • status - optional; type ProposalStatus - type string with restriction - enum { 'DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED', 'UNKNOWN' }
          The status of the {@code Proposal}. This attribute is read-only.
        • isArchived - optional; type boolean
          The archival status of the {@code Proposal}. This attribute is read-only.
        • advertiser - optional; type ProposalCompanyAssociation
          A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
          • companyId - optional; type long
            The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
          • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
            The association type of the {@link Company} and {@link Proposal}. This attribute is required.
          • contactIds - optional, unbounded; type long
            List of unique IDs for {@link Contact} objects of the {@link Company}.
          The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.
        • agencies - optional, unbounded; type ProposalCompanyAssociation
          A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
          • companyId - optional; type long
            The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
          • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
            The association type of the {@link Company} and {@link Proposal}. This attribute is required.
          • contactIds - optional, unbounded; type long
            List of unique IDs for {@link Contact} objects of the {@link Company}.
          List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.
        • internalNotes - optional; type string
          Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
        • primarySalesperson - optional; type SalespersonSplit
          The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          A {@code SalespersonSplit} represents a salesperson.
          • userId - optional; type long
            The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. This attribute is required.
        • salesPlannerIds - optional, unbounded; type long
          List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
        • primaryTraffickerId - optional; type long
          The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
        • sellerContactIds - optional, unbounded; type long
          {@link User users} who are the seller's contacts.
        • appliedTeamIds - optional, unbounded; type long
          The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
        • customFieldValues - optional, unbounded; type BaseCustomFieldValue
          The value of a {@link CustomField} for a particular entity.
          • customFieldId - optional; type long
            Id of the {@code CustomField} to which this value belongs. This attribute is required.
          The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
        • appliedLabels - optional, unbounded; type AppliedLabel
          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
          • labelId - optional; type long
            The ID of a created {@link Label}.
          • isNegated - optional; type boolean
            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
          The set of labels applied directly to the {@code Proposal}. This attribute is optional.
        • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
          • labelId - optional; type long
            The ID of a created {@link Label}.
          • isNegated - optional; type boolean
            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
          Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.
        • currencyCode - optional; type string
          The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.
        • isSold - optional; type boolean
          Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.
        • lastModifiedDateTime - optional; type DateTime
          Represents a date combined with the time of day.
          • date - optional; type Date
            Represents a date.
            • year - optional; type int
              Year (e.g., 2009)
            • month - optional; type int
              Month (1..12)
            • day - optional; type int
              Day (1..31)
          • hour - optional; type int
          • minute - optional; type int
          • second - optional; type int
          • timeZoneId - optional; type string
          The date and time this {@code Proposal} was last modified. This attribute is read-only.
        • marketplaceInfo - optional; type ProposalMarketplaceInfo
          Marketplace info for a proposal with a corresponding order in Marketplace.
          • marketplaceId - optional; type string
            The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.
          • hasLocalVersionEdits - optional; type boolean
            Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.
          • negotiationStatus - optional; type NegotiationStatus - type string with restriction - enum { 'SELLER_INITIATED', 'BUYER_INITIATED', 'AWAITING_SELLER_REVIEW', 'AWAITING_BUYER_REVIEW', 'ONLY_SELLER_ACCEPTED', 'FINALIZED', 'CANCELLED', 'UNKNOWN' }
            The negotiation status of the {@link Proposal}. This attribute is read-only.
          • marketplaceComment - optional; type string
            The comment on the {@link Proposal} to be sent to the buyer.
          • isNewVersionFromBuyer - optional; type boolean
            Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.
          • buyerAccountId - optional; type long
            The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. This attribute is required.
          • partnerClientId - optional; type string
            The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.
          The marketplace info of this proposal if it has a corresponding order in Marketplace.
        • buyerRfp - optional; type BuyerRfp
          Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.
          • costPerUnit - optional; type Money
            CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.
            Represents a money amount.
            • currencyCode - optional; type string
              Three letter currency code in string format.
            • microAmount - optional; type long
              Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
          • units - optional; type long
            The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.
          • budget - optional; type Money
            Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.
            Represents a money amount.
            • currencyCode - optional; type string
              Three letter currency code in string format.
            • microAmount - optional; type long
              Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
          • currencyCode - optional; type string
            Currency code for this deal's budget and CPM. This attribute is read-only.
          • startDateTime - optional; type DateTime
            The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.
            Represents a date combined with the time of day.
            • date - optional; type Date
              Represents a date.
              • year - optional; type int
                Year (e.g., 2009)
              • month - optional; type int
                Month (1..12)
              • day - optional; type int
                Day (1..31)
            • hour - optional; type int
            • minute - optional; type int
            • second - optional; type int
            • timeZoneId - optional; type string
          • endDateTime - optional; type DateTime
            The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.
            Represents a date combined with the time of day.
            • date - optional; type Date
              Represents a date.
              • year - optional; type int
                Year (e.g., 2009)
              • month - optional; type int
                Month (1..12)
              • day - optional; type int
                Day (1..31)
            • hour - optional; type int
            • minute - optional; type int
            • second - optional; type int
            • timeZoneId - optional; type string
          • description - optional; type string
            A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.
          • creativePlaceholders - optional, unbounded; type CreativePlaceholder
            A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.
            A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
            • size - optional; type Size
              The dimensions that the creative is expected to have. This attribute is required.
              Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

              For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

              • width - optional; type int
                The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
              • height - optional; type int
                The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
              • isAspectRatio - optional; type boolean
                Whether this size represents an aspect ratio.
            • creativeTemplateId - optional; type long
              The native creative template ID.

              This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

            • companions - optional, unbounded; type CreativePlaceholder
              A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
              • size - optional; type Size
                The dimensions that the creative is expected to have. This attribute is required.
                Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                • width - optional; type int
                  The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                • height - optional; type int
                  The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                • isAspectRatio - optional; type boolean
                  Whether this size represents an aspect ratio.
              • creativeTemplateId - optional; type long
                The native creative template ID.

                This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

              • companions - optional, unbounded; type CreativePlaceholder
                A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                • size - optional; type Size
                  The dimensions that the creative is expected to have. This attribute is required.
                  Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                  For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                  • width - optional; type int
                    The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                  • height - optional; type int
                    The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                  • isAspectRatio - optional; type boolean
                    Whether this size represents an aspect ratio.
                • creativeTemplateId - optional; type long
                  The native creative template ID.

                  This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                • companions - optional, unbounded; type CreativePlaceholder... is recursive
                  The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                • appliedLabels - optional, unbounded; type AppliedLabel
                  Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                  • labelId - optional; type long
                    The ID of a created {@link Label}.
                  • isNegated - optional; type boolean
                    {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                  The set of label frequency caps applied directly to this creative placeholder.
                • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                  Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                  • labelId - optional; type long
                    The ID of a created {@link Label}.
                  • isNegated - optional; type boolean
                    {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                  Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                • expectedCreativeCount - optional; type int
                  Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                  Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                • targetingName - optional; type string
                  The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                  This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                • isAmpOnly - optional; type boolean
                  Indicate if the expected creative of this placeholder has an AMP only variant.

                  This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
              • appliedLabels - optional, unbounded; type AppliedLabel
                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                • labelId - optional; type long
                  The ID of a created {@link Label}.
                • isNegated - optional; type boolean
                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                The set of label frequency caps applied directly to this creative placeholder.
              • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                • labelId - optional; type long
                  The ID of a created {@link Label}.
                • isNegated - optional; type boolean
                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
              • expectedCreativeCount - optional; type int
                Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
              • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
              • targetingName - optional; type string
                The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

              • isAmpOnly - optional; type boolean
                Indicate if the expected creative of this placeholder has an AMP only variant.

                This attribute is optional. It is for forecasting purposes only and has no effect on serving.

              The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
            • appliedLabels - optional, unbounded; type AppliedLabel
              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
              • labelId - optional; type long
                The ID of a created {@link Label}.
              • isNegated - optional; type boolean
                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
              The set of label frequency caps applied directly to this creative placeholder.
            • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
              • labelId - optional; type long
                The ID of a created {@link Label}.
              • isNegated - optional; type boolean
                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
              Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
            • expectedCreativeCount - optional; type int
              Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
            • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
              Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
            • targetingName - optional; type string
              The name of the {@link CreativeTargeting} for creatives this placeholder represents.

              This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

            • isAmpOnly - optional; type boolean
              Indicate if the expected creative of this placeholder has an AMP only variant.

              This attribute is optional. It is for forecasting purposes only and has no effect on serving.

          • targeting - optional; type Targeting
            Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.
            Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
            • geoTargeting - optional; type GeoTargeting
              Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

              The following rules apply for geographical targeting:

              • You cannot target and exclude the same location.
              • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
              • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
              • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
              • targetedLocations - optional, unbounded; type Location
                The geographical locations being targeted by the {@link LineItem}.
                A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                • id - optional; type long
                  Uniquely identifies each {@code Location}.
                • type - optional; type string
                  The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                • canonicalParentId - optional; type int
                  The nearest location parent's ID for this geographical entity.
                • displayName - optional; type string
                  The localized name of the geographical entity.
              • excludedLocations - optional, unbounded; type Location
                The geographical locations being excluded by the {@link LineItem}.
                A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                • id - optional; type long
                  Uniquely identifies each {@code Location}.
                • type - optional; type string
                  The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                • canonicalParentId - optional; type int
                  The nearest location parent's ID for this geographical entity.
                • displayName - optional; type string
                  The localized name of the geographical entity.
              Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
            • inventoryTargeting - optional; type InventoryTargeting
              A collection of targeted and excluded ad units and placements.
              • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                Represents targeted or excluded ad units.
                • adUnitId - optional; type string
                  Included or excluded ad unit id.
                • includeDescendants - optional; type boolean
                  Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                A list of targeted {@link AdUnitTargeting}.
              • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                Represents targeted or excluded ad units.
                • adUnitId - optional; type string
                  Included or excluded ad unit id.
                • includeDescendants - optional; type boolean
                  Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                A list of excluded {@link AdUnitTargeting}.
              • targetedPlacementIds - optional, unbounded; type long
                A list of targeted {@link Placement} ids.
              Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
            • dayPartTargeting - optional; type DayPartTargeting
              Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
              • dayParts - optional, unbounded; type DayPart
                {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                  Day of the week the target applies to. This field is required.
                • startTime - optional; type TimeOfDay
                  Represents the start time of the targeted period (inclusive).
                  Represents a specific time in a day.
                  • hour - optional; type int
                    Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                  • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                    Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                • endTime - optional; type TimeOfDay
                  Represents the end time of the targeted period (exclusive).
                  Represents a specific time in a day.
                  • hour - optional; type int
                    Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                  • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                    Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                Specifies days of the week and times at which a {@code LineItem} will be delivered.

                If targeting all days and times, this value will be ignored.

              • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                Setting this has no effect if targeting all days and times.

              Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
            • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
              The date time ranges that the line item is eligible to serve.
              • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                • startDateTime - optional; type DateTime
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                  The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                • endDateTime - optional; type DateTime
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                  The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
              Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
            • technologyTargeting - optional; type TechnologyTargeting
              Provides {@link LineItem} objects the ability to target or exclude technologies.
              • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                The bandwidth groups being targeted by the {@link LineItem}.
                Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • bandwidthGroups - optional, unbounded; type Technology
                  The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • browserTargeting - optional; type BrowserTargeting
                The browsers being targeted by the {@link LineItem}.
                Represents browsers that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • browsers - optional, unbounded; type Technology
                  Browsers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                The languages of browsers being targeted by the {@link LineItem}.
                Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • browserLanguages - optional, unbounded; type Technology
                  Browser languages that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                The device capabilities being targeted by the {@link LineItem}.
                Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                • targetedDeviceCapabilities - optional, unbounded; type Technology
                  Device capabilities that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedDeviceCapabilities - optional, unbounded; type Technology
                  Device capabilities that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                The device categories being targeted by the {@link LineItem}.
                Represents device categories that are being targeted or excluded by the {@link LineItem}.
                • targetedDeviceCategories - optional, unbounded; type Technology
                  Device categories that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedDeviceCategories - optional, unbounded; type Technology
                  Device categories that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                The device manufacturers being targeted by the {@link LineItem}.
                Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • deviceManufacturers - optional, unbounded; type Technology
                  Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                The mobile carriers being targeted by the {@link LineItem}.
                Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • mobileCarriers - optional, unbounded; type Technology
                  Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                The mobile devices being targeted by the {@link LineItem}.
                Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                • targetedMobileDevices - optional, unbounded; type Technology
                  Mobile devices that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedMobileDevices - optional, unbounded; type Technology
                  Mobile devices that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                The mobile device submodels being targeted by the {@link LineItem}.
                Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                  Mobile device submodels that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                  Mobile device submodels that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • operatingSystemTargeting - optional; type OperatingSystemTargeting
                The operating systems being targeted by the {@link LineItem}.
                Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                • isTargeted - optional; type boolean
                  Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                • operatingSystems - optional, unbounded; type Technology
                  Operating systems that are being targeted or excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                The operating system versions being targeted by the {@link LineItem}.
                Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                • targetedOperatingSystemVersions - optional, unbounded; type Technology
                  Operating system versions that are being targeted by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
                • excludedOperatingSystemVersions - optional, unbounded; type Technology
                  Operating system versions that are being excluded by the {@link LineItem}.
                  Represents a technology entity that can be targeted.
                  • id - optional; type long
                    The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                  • name - optional; type string
                    The name of the technology being targeting. This value is read-only and is assigned by Google.
              Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
            • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
              A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
              A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                  The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                • children - optional, unbounded; type CustomCriteriaNode
                  The custom criteria. This attribute is required.
                  A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                    Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                    Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                    {@code customTargeting} will have up to three levels of expressions including itself.

                    The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                    The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                    The third level can only comprise of {@link CustomCriteria} objects.

                    The resulting custom targeting tree would be of the form:

                  • userDomainTargeting - optional; type UserDomainTargeting
                    Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                    Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                    • domains - optional, unbounded; type string
                      The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                    • targeted - optional; type boolean
                      Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • contentTargeting - optional; type ContentTargeting
                    Used to target {@link LineItem}s to specific videos on a publisher's site.
                    • targetedContentIds - optional, unbounded; type long
                      The IDs of content being targeted by the {@code LineItem}.
                    • excludedContentIds - optional, unbounded; type long
                      The IDs of content being excluded by the {@code LineItem}.
                    • targetedVideoContentBundleIds - optional, unbounded; type long
                      A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                    • excludedVideoContentBundleIds - optional, unbounded; type long
                      A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                    Specifies the video categories and individual videos targeted by the {@link LineItem}.
                  • videoPositionTargeting - optional; type VideoPositionTargeting
                    Specifies targeting against video position types.
                    Represents positions within and around a video where ads can be targeted to.

                    Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                    Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                    • targetedPositions - optional, unbounded; type VideoPositionTarget
                      The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                      Represents the options for targetable positions within a video.
                      • videoPosition - optional; type VideoPosition
                        Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                        • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                          The type of video position (pre-roll, mid-roll, or post-roll).
                        • midrollIndex - optional; type int
                          The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                        The video position to target. This attribute is required.
                      • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                        The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                      • videoPositionWithinPod - optional; type VideoPositionWithinPod
                        Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                        • index - optional; type int
                          The specific index of the pod. The index is defined as:
                          • 1 = first
                          • 2 = second
                          • 3 = third
                          • ....
                          • 100 = last
                          100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                          Positions over 100 are not supported.
                        The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                      • adSpotId - optional; type long
                        A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                  • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                    Provides the ability to target or exclude users' mobile applications.
                    • mobileApplicationIds - optional, unbounded; type long
                      The {@link MobileApplication#id IDs} that are being targeted or excluded.
                    • isTargeted - optional; type boolean
                      Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                    Specifies targeting against mobile applications.
                  • buyerUserListTargeting - optional; type BuyerUserListTargeting
                    The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                    • hasBuyerUserListTargeting - optional; type boolean
                      Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                    Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                  • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                    A collection of targeted inventory urls.
                    • targetedUrls - optional, unbounded; type InventoryUrl
                      The representation of an inventory Url that is used in targeting.
                      • id - optional; type long
                    • excludedUrls - optional, unbounded; type InventoryUrl
                      The representation of an inventory Url that is used in targeting.
                      • id - optional; type long
                    Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                  • verticalTargeting - optional; type VerticalTargeting
                    Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                    Vertical targeting information.
                    • targetedVerticalIds - optional, unbounded; type long
                    • excludedVerticalIds - optional, unbounded; type long
                  • contentLabelTargeting - optional; type ContentLabelTargeting
                    Content label targeting information.
                    • excludedContentLabelIds - optional, unbounded; type long
                    Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                  • requestPlatformTargeting - optional; type RequestPlatformTargeting
                    Provides line items the ability to target the platform that requests and renders the ad.

                    The following rules apply for {@link RequestPlatformTargeting}

                    • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                    • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                    • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                    • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                    • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                    Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                    This value is modifiable for video line items, but read-only for non-video line items.

                    This value is read-only for video line items generated from proposal line items.

                  • inventorySizeTargeting - optional; type InventorySizeTargeting
                    Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                    • isTargeted - optional; type boolean
                      Whether the inventory sizes should be targeted or excluded.
                    • targetedSizes - optional, unbounded; type TargetedSize
                      A list of {@link TargetedSizeDto}s.
                      A size that is targeted on a request.
                      • size - optional; type Size
                        Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                        For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                        • width - optional; type int
                          The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • height - optional; type int
                          The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • isAspectRatio - optional; type boolean
                          Whether this size represents an aspect ratio.
                    Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                • additionalTerms - optional; type string
                  Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.
                • adExchangeEnvironment - optional; type AdExchangeEnvironment - type string with restriction - enum { 'DISPLAY', 'VIDEO', 'GAMES', 'MOBILE', 'MOBILE_OUTSTREAM_VIDEO', 'DISPLAY_OUTSTREAM_VIDEO', 'UNKNOWN' }
                  Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.
                • rfpType - optional; type RfpType - type string with restriction - enum { 'UNKNOWN', 'PROGRAMMATIC_GUARANTEED', 'PREFERRED_DEAL' }
                  Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.
                The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.
              • hasBuyerRfp - optional; type boolean
                Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.
              • deliveryPausingEnabled - optional; type boolean
                Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.
        Output:
        createProposalsResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
        parameters type createProposalsResponse
        • rval - optional, unbounded; type Proposal
          A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.
          • id - optional; type long
            The unique ID of the {@code Proposal}. This attribute is read-only.
          • isProgrammatic - optional; type boolean
            Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.
          • dfpOrderId - optional; type long
            The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.
          • name - optional; type string
            The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. This attribute is required.
          • startDateTime - optional; type DateTime
            Represents a date combined with the time of day.
            • date - optional; type Date
              Represents a date.
              • year - optional; type int
                Year (e.g., 2009)
              • month - optional; type int
                Month (1..12)
              • day - optional; type int
                Day (1..31)
            • hour - optional; type int
            • minute - optional; type int
            • second - optional; type int
            • timeZoneId - optional; type string
            The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.
          • endDateTime - optional; type DateTime
            Represents a date combined with the time of day.
            • date - optional; type Date
              Represents a date.
              • year - optional; type int
                Year (e.g., 2009)
              • month - optional; type int
                Month (1..12)
              • day - optional; type int
                Day (1..31)
            • hour - optional; type int
            • minute - optional; type int
            • second - optional; type int
            • timeZoneId - optional; type string
            The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.
          • status - optional; type ProposalStatus - type string with restriction - enum { 'DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED', 'UNKNOWN' }
            The status of the {@code Proposal}. This attribute is read-only.
          • isArchived - optional; type boolean
            The archival status of the {@code Proposal}. This attribute is read-only.
          • advertiser - optional; type ProposalCompanyAssociation
            A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
            • companyId - optional; type long
              The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
            • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
              The association type of the {@link Company} and {@link Proposal}. This attribute is required.
            • contactIds - optional, unbounded; type long
              List of unique IDs for {@link Contact} objects of the {@link Company}.
            The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.
          • agencies - optional, unbounded; type ProposalCompanyAssociation
            A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
            • companyId - optional; type long
              The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
            • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
              The association type of the {@link Company} and {@link Proposal}. This attribute is required.
            • contactIds - optional, unbounded; type long
              List of unique IDs for {@link Contact} objects of the {@link Company}.
            List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.
          • internalNotes - optional; type string
            Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          • primarySalesperson - optional; type SalespersonSplit
            The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
            A {@code SalespersonSplit} represents a salesperson.
            • userId - optional; type long
              The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. This attribute is required.
          • salesPlannerIds - optional, unbounded; type long
            List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          • primaryTraffickerId - optional; type long
            The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          • sellerContactIds - optional, unbounded; type long
            {@link User users} who are the seller's contacts.
          • appliedTeamIds - optional, unbounded; type long
            The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          • customFieldValues - optional, unbounded; type BaseCustomFieldValue
            The value of a {@link CustomField} for a particular entity.
            • customFieldId - optional; type long
              Id of the {@code CustomField} to which this value belongs. This attribute is required.
            The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
          • appliedLabels - optional, unbounded; type AppliedLabel
            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
            • labelId - optional; type long
              The ID of a created {@link Label}.
            • isNegated - optional; type boolean
              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
            The set of labels applied directly to the {@code Proposal}. This attribute is optional.
          • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
            • labelId - optional; type long
              The ID of a created {@link Label}.
            • isNegated - optional; type boolean
              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
            Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.
          • currencyCode - optional; type string
            The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.
          • isSold - optional; type boolean
            Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.
          • lastModifiedDateTime - optional; type DateTime
            Represents a date combined with the time of day.
            • date - optional; type Date
              Represents a date.
              • year - optional; type int
                Year (e.g., 2009)
              • month - optional; type int
                Month (1..12)
              • day - optional; type int
                Day (1..31)
            • hour - optional; type int
            • minute - optional; type int
            • second - optional; type int
            • timeZoneId - optional; type string
            The date and time this {@code Proposal} was last modified. This attribute is read-only.
          • marketplaceInfo - optional; type ProposalMarketplaceInfo
            Marketplace info for a proposal with a corresponding order in Marketplace.
            • marketplaceId - optional; type string
              The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.
            • hasLocalVersionEdits - optional; type boolean
              Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.
            • negotiationStatus - optional; type NegotiationStatus - type string with restriction - enum { 'SELLER_INITIATED', 'BUYER_INITIATED', 'AWAITING_SELLER_REVIEW', 'AWAITING_BUYER_REVIEW', 'ONLY_SELLER_ACCEPTED', 'FINALIZED', 'CANCELLED', 'UNKNOWN' }
              The negotiation status of the {@link Proposal}. This attribute is read-only.
            • marketplaceComment - optional; type string
              The comment on the {@link Proposal} to be sent to the buyer.
            • isNewVersionFromBuyer - optional; type boolean
              Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.
            • buyerAccountId - optional; type long
              The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. This attribute is required.
            • partnerClientId - optional; type string
              The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.
            The marketplace info of this proposal if it has a corresponding order in Marketplace.
          • buyerRfp - optional; type BuyerRfp
            Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.
            • costPerUnit - optional; type Money
              CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.
              Represents a money amount.
              • currencyCode - optional; type string
                Three letter currency code in string format.
              • microAmount - optional; type long
                Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
            • units - optional; type long
              The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.
            • budget - optional; type Money
              Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.
              Represents a money amount.
              • currencyCode - optional; type string
                Three letter currency code in string format.
              • microAmount - optional; type long
                Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
            • currencyCode - optional; type string
              Currency code for this deal's budget and CPM. This attribute is read-only.
            • startDateTime - optional; type DateTime
              The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.
              Represents a date combined with the time of day.
              • date - optional; type Date
                Represents a date.
                • year - optional; type int
                  Year (e.g., 2009)
                • month - optional; type int
                  Month (1..12)
                • day - optional; type int
                  Day (1..31)
              • hour - optional; type int
              • minute - optional; type int
              • second - optional; type int
              • timeZoneId - optional; type string
            • endDateTime - optional; type DateTime
              The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.
              Represents a date combined with the time of day.
              • date - optional; type Date
                Represents a date.
                • year - optional; type int
                  Year (e.g., 2009)
                • month - optional; type int
                  Month (1..12)
                • day - optional; type int
                  Day (1..31)
              • hour - optional; type int
              • minute - optional; type int
              • second - optional; type int
              • timeZoneId - optional; type string
            • description - optional; type string
              A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.
            • creativePlaceholders - optional, unbounded; type CreativePlaceholder
              A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.
              A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
              • size - optional; type Size
                The dimensions that the creative is expected to have. This attribute is required.
                Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                • width - optional; type int
                  The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                • height - optional; type int
                  The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                • isAspectRatio - optional; type boolean
                  Whether this size represents an aspect ratio.
              • creativeTemplateId - optional; type long
                The native creative template ID.

                This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

              • companions - optional, unbounded; type CreativePlaceholder
                A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                • size - optional; type Size
                  The dimensions that the creative is expected to have. This attribute is required.
                  Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                  For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                  • width - optional; type int
                    The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                  • height - optional; type int
                    The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                  • isAspectRatio - optional; type boolean
                    Whether this size represents an aspect ratio.
                • creativeTemplateId - optional; type long
                  The native creative template ID.

                  This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                • companions - optional, unbounded; type CreativePlaceholder
                  A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                  • size - optional; type Size
                    The dimensions that the creative is expected to have. This attribute is required.
                    Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                    For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                    • width - optional; type int
                      The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                    • height - optional; type int
                      The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                    • isAspectRatio - optional; type boolean
                      Whether this size represents an aspect ratio.
                  • creativeTemplateId - optional; type long
                    The native creative template ID.

                    This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                  • companions - optional, unbounded; type CreativePlaceholder... is recursive
                    The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                  • appliedLabels - optional, unbounded; type AppliedLabel
                    Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                    • labelId - optional; type long
                      The ID of a created {@link Label}.
                    • isNegated - optional; type boolean
                      {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                    The set of label frequency caps applied directly to this creative placeholder.
                  • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                    Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                    • labelId - optional; type long
                      The ID of a created {@link Label}.
                    • isNegated - optional; type boolean
                      {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                    Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                  • expectedCreativeCount - optional; type int
                    Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                  • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                    Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                  • targetingName - optional; type string
                    The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                    This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                  • isAmpOnly - optional; type boolean
                    Indicate if the expected creative of this placeholder has an AMP only variant.

                    This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                  The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                • appliedLabels - optional, unbounded; type AppliedLabel
                  Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                  • labelId - optional; type long
                    The ID of a created {@link Label}.
                  • isNegated - optional; type boolean
                    {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                  The set of label frequency caps applied directly to this creative placeholder.
                • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                  Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                  • labelId - optional; type long
                    The ID of a created {@link Label}.
                  • isNegated - optional; type boolean
                    {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                  Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                • expectedCreativeCount - optional; type int
                  Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                  Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                • targetingName - optional; type string
                  The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                  This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                • isAmpOnly - optional; type boolean
                  Indicate if the expected creative of this placeholder has an AMP only variant.

                  This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
              • appliedLabels - optional, unbounded; type AppliedLabel
                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                • labelId - optional; type long
                  The ID of a created {@link Label}.
                • isNegated - optional; type boolean
                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                The set of label frequency caps applied directly to this creative placeholder.
              • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                • labelId - optional; type long
                  The ID of a created {@link Label}.
                • isNegated - optional; type boolean
                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
              • expectedCreativeCount - optional; type int
                Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
              • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
              • targetingName - optional; type string
                The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

              • isAmpOnly - optional; type boolean
                Indicate if the expected creative of this placeholder has an AMP only variant.

                This attribute is optional. It is for forecasting purposes only and has no effect on serving.

            • targeting - optional; type Targeting
              Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.
              Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
              • geoTargeting - optional; type GeoTargeting
                Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                The following rules apply for geographical targeting:

                • You cannot target and exclude the same location.
                • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                • targetedLocations - optional, unbounded; type Location
                  The geographical locations being targeted by the {@link LineItem}.
                  A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                  • id - optional; type long
                    Uniquely identifies each {@code Location}.
                  • type - optional; type string
                    The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                  • canonicalParentId - optional; type int
                    The nearest location parent's ID for this geographical entity.
                  • displayName - optional; type string
                    The localized name of the geographical entity.
                • excludedLocations - optional, unbounded; type Location
                  The geographical locations being excluded by the {@link LineItem}.
                  A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                  • id - optional; type long
                    Uniquely identifies each {@code Location}.
                  • type - optional; type string
                    The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                  • canonicalParentId - optional; type int
                    The nearest location parent's ID for this geographical entity.
                  • displayName - optional; type string
                    The localized name of the geographical entity.
                Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
              • inventoryTargeting - optional; type InventoryTargeting
                A collection of targeted and excluded ad units and placements.
                • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                  Represents targeted or excluded ad units.
                  • adUnitId - optional; type string
                    Included or excluded ad unit id.
                  • includeDescendants - optional; type boolean
                    Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                  A list of targeted {@link AdUnitTargeting}.
                • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                  Represents targeted or excluded ad units.
                  • adUnitId - optional; type string
                    Included or excluded ad unit id.
                  • includeDescendants - optional; type boolean
                    Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                  A list of excluded {@link AdUnitTargeting}.
                • targetedPlacementIds - optional, unbounded; type long
                  A list of targeted {@link Placement} ids.
                Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
              • dayPartTargeting - optional; type DayPartTargeting
                Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                • dayParts - optional, unbounded; type DayPart
                  {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                  • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                    Day of the week the target applies to. This field is required.
                  • startTime - optional; type TimeOfDay
                    Represents the start time of the targeted period (inclusive).
                    Represents a specific time in a day.
                    • hour - optional; type int
                      Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                    • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                      Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                  • endTime - optional; type TimeOfDay
                    Represents the end time of the targeted period (exclusive).
                    Represents a specific time in a day.
                    • hour - optional; type int
                      Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                    • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                      Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                  Specifies days of the week and times at which a {@code LineItem} will be delivered.

                  If targeting all days and times, this value will be ignored.

                • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                  Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                  Setting this has no effect if targeting all days and times.

                Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
              • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                The date time ranges that the line item is eligible to serve.
                • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                  Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                  • startDateTime - optional; type DateTime
                    Represents a date combined with the time of day.
                    • date - optional; type Date
                      Represents a date.
                      • year - optional; type int
                        Year (e.g., 2009)
                      • month - optional; type int
                        Month (1..12)
                      • day - optional; type int
                        Day (1..31)
                    • hour - optional; type int
                    • minute - optional; type int
                    • second - optional; type int
                    • timeZoneId - optional; type string
                    The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                  • endDateTime - optional; type DateTime
                    Represents a date combined with the time of day.
                    • date - optional; type Date
                      Represents a date.
                      • year - optional; type int
                        Year (e.g., 2009)
                      • month - optional; type int
                        Month (1..12)
                      • day - optional; type int
                        Day (1..31)
                    • hour - optional; type int
                    • minute - optional; type int
                    • second - optional; type int
                    • timeZoneId - optional; type string
                    The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
              • technologyTargeting - optional; type TechnologyTargeting
                Provides {@link LineItem} objects the ability to target or exclude technologies.
                • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                  The bandwidth groups being targeted by the {@link LineItem}.
                  Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • bandwidthGroups - optional, unbounded; type Technology
                    The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • browserTargeting - optional; type BrowserTargeting
                  The browsers being targeted by the {@link LineItem}.
                  Represents browsers that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • browsers - optional, unbounded; type Technology
                    Browsers that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                  The languages of browsers being targeted by the {@link LineItem}.
                  Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • browserLanguages - optional, unbounded; type Technology
                    Browser languages that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                  The device capabilities being targeted by the {@link LineItem}.
                  Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                  • targetedDeviceCapabilities - optional, unbounded; type Technology
                    Device capabilities that are being targeted by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                  • excludedDeviceCapabilities - optional, unbounded; type Technology
                    Device capabilities that are being excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                  The device categories being targeted by the {@link LineItem}.
                  Represents device categories that are being targeted or excluded by the {@link LineItem}.
                  • targetedDeviceCategories - optional, unbounded; type Technology
                    Device categories that are being targeted by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                  • excludedDeviceCategories - optional, unbounded; type Technology
                    Device categories that are being excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                  The device manufacturers being targeted by the {@link LineItem}.
                  Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • deviceManufacturers - optional, unbounded; type Technology
                    Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                  The mobile carriers being targeted by the {@link LineItem}.
                  Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • mobileCarriers - optional, unbounded; type Technology
                    Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                  The mobile devices being targeted by the {@link LineItem}.
                  Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                  • targetedMobileDevices - optional, unbounded; type Technology
                    Mobile devices that are being targeted by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                  • excludedMobileDevices - optional, unbounded; type Technology
                    Mobile devices that are being excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                  The mobile device submodels being targeted by the {@link LineItem}.
                  Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                  • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                    Mobile device submodels that are being targeted by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                  • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                    Mobile device submodels that are being excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • operatingSystemTargeting - optional; type OperatingSystemTargeting
                  The operating systems being targeted by the {@link LineItem}.
                  Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                  • isTargeted - optional; type boolean
                    Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                  • operatingSystems - optional, unbounded; type Technology
                    Operating systems that are being targeted or excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                  The operating system versions being targeted by the {@link LineItem}.
                  Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                  • targetedOperatingSystemVersions - optional, unbounded; type Technology
                    Operating system versions that are being targeted by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                  • excludedOperatingSystemVersions - optional, unbounded; type Technology
                    Operating system versions that are being excluded by the {@link LineItem}.
                    Represents a technology entity that can be targeted.
                    • id - optional; type long
                      The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                    • name - optional; type string
                      The name of the technology being targeting. This value is read-only and is assigned by Google.
                Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
              • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                  • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                    The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                  • children - optional, unbounded; type CustomCriteriaNode
                    The custom criteria. This attribute is required.
                    A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                      Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                      Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                      {@code customTargeting} will have up to three levels of expressions including itself.

                      The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                      The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                      The third level can only comprise of {@link CustomCriteria} objects.

                      The resulting custom targeting tree would be of the form:

                    • userDomainTargeting - optional; type UserDomainTargeting
                      Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                      Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                      • domains - optional, unbounded; type string
                        The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                      • targeted - optional; type boolean
                        Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                    • contentTargeting - optional; type ContentTargeting
                      Used to target {@link LineItem}s to specific videos on a publisher's site.
                      • targetedContentIds - optional, unbounded; type long
                        The IDs of content being targeted by the {@code LineItem}.
                      • excludedContentIds - optional, unbounded; type long
                        The IDs of content being excluded by the {@code LineItem}.
                      • targetedVideoContentBundleIds - optional, unbounded; type long
                        A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                      • excludedVideoContentBundleIds - optional, unbounded; type long
                        A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                      Specifies the video categories and individual videos targeted by the {@link LineItem}.
                    • videoPositionTargeting - optional; type VideoPositionTargeting
                      Specifies targeting against video position types.
                      Represents positions within and around a video where ads can be targeted to.

                      Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                      Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                      • targetedPositions - optional, unbounded; type VideoPositionTarget
                        The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                        Represents the options for targetable positions within a video.
                        • videoPosition - optional; type VideoPosition
                          Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                          • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                            The type of video position (pre-roll, mid-roll, or post-roll).
                          • midrollIndex - optional; type int
                            The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                          The video position to target. This attribute is required.
                        • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                          The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                        • videoPositionWithinPod - optional; type VideoPositionWithinPod
                          Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                          • index - optional; type int
                            The specific index of the pod. The index is defined as:
                            • 1 = first
                            • 2 = second
                            • 3 = third
                            • ....
                            • 100 = last
                            100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                            Positions over 100 are not supported.
                          The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                        • adSpotId - optional; type long
                          A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                    • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                      Provides the ability to target or exclude users' mobile applications.
                      • mobileApplicationIds - optional, unbounded; type long
                        The {@link MobileApplication#id IDs} that are being targeted or excluded.
                      • isTargeted - optional; type boolean
                        Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                      Specifies targeting against mobile applications.
                    • buyerUserListTargeting - optional; type BuyerUserListTargeting
                      The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                      • hasBuyerUserListTargeting - optional; type boolean
                        Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                      Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                    • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                      A collection of targeted inventory urls.
                      • targetedUrls - optional, unbounded; type InventoryUrl
                        The representation of an inventory Url that is used in targeting.
                        • id - optional; type long
                      • excludedUrls - optional, unbounded; type InventoryUrl
                        The representation of an inventory Url that is used in targeting.
                        • id - optional; type long
                      Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                    • verticalTargeting - optional; type VerticalTargeting
                      Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                      Vertical targeting information.
                      • targetedVerticalIds - optional, unbounded; type long
                      • excludedVerticalIds - optional, unbounded; type long
                    • contentLabelTargeting - optional; type ContentLabelTargeting
                      Content label targeting information.
                      • excludedContentLabelIds - optional, unbounded; type long
                      Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                    • requestPlatformTargeting - optional; type RequestPlatformTargeting
                      Provides line items the ability to target the platform that requests and renders the ad.

                      The following rules apply for {@link RequestPlatformTargeting}

                      • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                      • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                      • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                      • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                      • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                      Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                      This value is modifiable for video line items, but read-only for non-video line items.

                      This value is read-only for video line items generated from proposal line items.

                    • inventorySizeTargeting - optional; type InventorySizeTargeting
                      Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                      • isTargeted - optional; type boolean
                        Whether the inventory sizes should be targeted or excluded.
                      • targetedSizes - optional, unbounded; type TargetedSize
                        A list of {@link TargetedSizeDto}s.
                        A size that is targeted on a request.
                        • size - optional; type Size
                          Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                          For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                          • width - optional; type int
                            The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • height - optional; type int
                            The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • isAspectRatio - optional; type boolean
                            Whether this size represents an aspect ratio.
                      Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                  • additionalTerms - optional; type string
                    Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.
                  • adExchangeEnvironment - optional; type AdExchangeEnvironment - type string with restriction - enum { 'DISPLAY', 'VIDEO', 'GAMES', 'MOBILE', 'MOBILE_OUTSTREAM_VIDEO', 'DISPLAY_OUTSTREAM_VIDEO', 'UNKNOWN' }
                    Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.
                  • rfpType - optional; type RfpType - type string with restriction - enum { 'UNKNOWN', 'PROGRAMMATIC_GUARANTEED', 'PREFERRED_DEAL' }
                    Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.
                  The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.
                • hasBuyerRfp - optional; type boolean
                  Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.
                • deliveryPausingEnabled - optional; type boolean
                  Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.
          Fault:
          ApiException (wsdlsoap:fault, use = literal)Source code
          ApiException type ApiExceptionFault
          Exception class for holding a list of service errors.
          Base class for exceptions.
          • message - optional; type string
            Error message.
          • errors - optional, unbounded; type ApiError
            The API error base class that provides details about an error that occurred while processing a service request.

            The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

            • fieldPath - optional; type string
              The OGNL field path to identify cause of error.
            • fieldPathElements - optional, unbounded; type FieldPathElement
              A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
              A segment of a field path. Each dot in a field path defines a new segment.
              • field - optional; type string
                The name of a field in lower camelcase. (e.g. "biddingStrategy")
              • index - optional; type int
                For list fields, this is a 0-indexed position in the list. Null for non-list fields.
            • trigger - optional; type string
              The data that caused the error.
            • errorString - optional; type string
              A simple string representation of the error and reason.
            List of errors.
          A fault element of type ApiException.
        • getMarketplaceCommentsByStatement
          Description:
          Gets a {@link MarketplaceCommentPage} of {@link MarketplaceComment} objects that satisfy the given {@link Statement#query}. This method only returns comments already sent to Marketplace, local draft {@link ProposalMarketplaceInfo#marketplaceComment} are not included. The following fields are supported for filtering:
          PQL Property Object Property
          {@code proposalId} {@link MarketplaceComment#proposalId}
          The query must specify a {@code proposalId}, and only supports a subset of PQL syntax:
          [WHERE {AND ...}]
          [ORDER BY [ASC | DESC]]
          [LIMIT {[,] } | { OFFSET }]


               := =
          := IN
          Only supports {@code ORDER BY} {@link MarketplaceComment#creationTime}.

          Operation type:
          Request-response. The endpoint receives a message, and sends a correlated message.
          Input:
          getMarketplaceCommentsByStatementRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
          parameters type getMarketplaceCommentsByStatement
          Gets a {@link MarketplaceCommentPage} of {@link MarketplaceComment} objects that satisfy the given {@link Statement#query}. This method only returns comments already sent to Marketplace, local draft {@link ProposalMarketplaceInfo#marketplaceComment} are not included. The following fields are supported for filtering:
          PQL Property Object Property
          {@code proposalId} {@link MarketplaceComment#proposalId}
          The query must specify a {@code proposalId}, and only supports a subset of PQL syntax:
          [WHERE {AND ...}]
          [ORDER BY [ASC | DESC]]
          [LIMIT {[,] } | { OFFSET }]


               := =
          := IN
          Only supports {@code ORDER BY} {@link MarketplaceComment#creationTime}.

          • filterStatement - optional; type Statement
            Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

            An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

            Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

            An example of such a query might be {@code "WHERE id = :idValue"}.

            Statements also support use of the LIKE keyword. This provides wildcard string matching.

            An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

            The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
            • query - optional; type string
              Holds the query in PQL syntax. The syntax is:
              [WHERE {[AND | OR] ...}]
              [ORDER BY [ASC | DESC]]
              [LIMIT {[,] } | { OFFSET }]


                   := {< | <= | > | >= | = | != }

                   := {< | <= | > | >= | = | != }
              := IN
              := IS NULL
              := LIKE
              := :

            • values - optional, unbounded; type String_ValueMapEntry
              Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

              In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

              This represents an entry in a map with a key of type String and value of type Value.
              • key - optional; type string
              • value - optional; type Value
                {@code Value} represents a value.
            Output:
            getMarketplaceCommentsByStatementResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
            parameters type getMarketplaceCommentsByStatementResponse
            • rval - optional; type MarketplaceCommentPage
              Captures a page of {@link MarketplaceComment} objects.
              • startIndex - optional; type int
                The absolute index in the total result set on which this page begins.
              • results - optional, unbounded; type MarketplaceComment
                A comment associated with a programmatic {@link Proposal} that has been sent to Marketplace.
                • proposalId - optional; type long
                  The unique ID of the {@link Proposal} the comment belongs to.
                • comment - optional; type string
                  The comment made on the {@link Proposal}.
                • creationTime - optional; type DateTime
                  Represents a date combined with the time of day.
                  • date - optional; type Date
                    Represents a date.
                    • year - optional; type int
                      Year (e.g., 2009)
                    • month - optional; type int
                      Month (1..12)
                    • day - optional; type int
                      Day (1..31)
                  • hour - optional; type int
                  • minute - optional; type int
                  • second - optional; type int
                  • timeZoneId - optional; type string
                  The creation {@link DateTime} of this {@code MarketplaceComment}.
                • createdBySeller - optional; type boolean
                  Indicates whether the {@code MarketplaceComment} was created by seller.
                The collection of results contained within this page.
            Fault:
            ApiException (wsdlsoap:fault, use = literal)Source code
            ApiException type ApiExceptionFault
            Exception class for holding a list of service errors.
            Base class for exceptions.
            • message - optional; type string
              Error message.
            • errors - optional, unbounded; type ApiError
              The API error base class that provides details about an error that occurred while processing a service request.

              The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

              • fieldPath - optional; type string
                The OGNL field path to identify cause of error.
              • fieldPathElements - optional, unbounded; type FieldPathElement
                A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                A segment of a field path. Each dot in a field path defines a new segment.
                • field - optional; type string
                  The name of a field in lower camelcase. (e.g. "biddingStrategy")
                • index - optional; type int
                  For list fields, this is a 0-indexed position in the list. Null for non-list fields.
              • trigger - optional; type string
                The data that caused the error.
              • errorString - optional; type string
                A simple string representation of the error and reason.
              List of errors.
            A fault element of type ApiException.
          • getProposalsByStatement
            Description:
            Gets a {@link ProposalPage} of {@link Proposal} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering:
            PQL Property Object Property
            {@code id} {@link Proposal#id}
            {@code dfpOrderId} {@link Proposal#dfpOrderId}
            {@code name} {@link Proposal#name}
            {@code status} {@link Proposal#status}
            {@code isArchived} {@link Proposal#isArchived}
            {@code approvalStatus}
            Only applicable for proposals using sales management
            {@link Proposal#approvalStatus}
            {@code lastModifiedDateTime} {@link Proposal#lastModifiedDateTime}
            {@code isProgrammatic} {@link Proposal#isProgrammatic}
            {@code negotiationStatus}
            Only applicable for programmatic proposals
            {@link ProposalMarketplaceInfo#negotiationStatus}
            Operation type:
            Request-response. The endpoint receives a message, and sends a correlated message.
            Input:
            getProposalsByStatementRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
            parameters type getProposalsByStatement
            Gets a {@link ProposalPage} of {@link Proposal} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering:
            PQL Property Object Property
            {@code id} {@link Proposal#id}
            {@code dfpOrderId} {@link Proposal#dfpOrderId}
            {@code name} {@link Proposal#name}
            {@code status} {@link Proposal#status}
            {@code isArchived} {@link Proposal#isArchived}
            {@code approvalStatus}
            Only applicable for proposals using sales management
            {@link Proposal#approvalStatus}
            {@code lastModifiedDateTime} {@link Proposal#lastModifiedDateTime}
            {@code isProgrammatic} {@link Proposal#isProgrammatic}
            {@code negotiationStatus}
            Only applicable for programmatic proposals
            {@link ProposalMarketplaceInfo#negotiationStatus}
            • filterStatement - optional; type Statement
              Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

              An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

              Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

              An example of such a query might be {@code "WHERE id = :idValue"}.

              Statements also support use of the LIKE keyword. This provides wildcard string matching.

              An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

              The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
              • query - optional; type string
                Holds the query in PQL syntax. The syntax is:
                [WHERE {[AND | OR] ...}]
                [ORDER BY [ASC | DESC]]
                [LIMIT {[,] } | { OFFSET }]


                     := {< | <= | > | >= | = | != }

                     := {< | <= | > | >= | = | != }
                := IN
                := IS NULL
                := LIKE
                := :

              • values - optional, unbounded; type String_ValueMapEntry
                Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

                In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

                This represents an entry in a map with a key of type String and value of type Value.
                • key - optional; type string
                • value - optional; type Value
                  {@code Value} represents a value.
              Output:
              getProposalsByStatementResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
              parameters type getProposalsByStatementResponse
              • rval - optional; type ProposalPage
                Captures a page of {@link Proposal} objects.
                • totalResultSetSize - optional; type int
                  The size of the total result set to which this page belongs.
                • startIndex - optional; type int
                  The absolute index in the total result set on which this page begins.
                • results - optional, unbounded; type Proposal
                  A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.
                  • id - optional; type long
                    The unique ID of the {@code Proposal}. This attribute is read-only.
                  • isProgrammatic - optional; type boolean
                    Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.
                  • dfpOrderId - optional; type long
                    The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.
                  • name - optional; type string
                    The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. This attribute is required.
                  • startDateTime - optional; type DateTime
                    Represents a date combined with the time of day.
                    • date - optional; type Date
                      Represents a date.
                      • year - optional; type int
                        Year (e.g., 2009)
                      • month - optional; type int
                        Month (1..12)
                      • day - optional; type int
                        Day (1..31)
                    • hour - optional; type int
                    • minute - optional; type int
                    • second - optional; type int
                    • timeZoneId - optional; type string
                    The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.
                  • endDateTime - optional; type DateTime
                    Represents a date combined with the time of day.
                    • date - optional; type Date
                      Represents a date.
                      • year - optional; type int
                        Year (e.g., 2009)
                      • month - optional; type int
                        Month (1..12)
                      • day - optional; type int
                        Day (1..31)
                    • hour - optional; type int
                    • minute - optional; type int
                    • second - optional; type int
                    • timeZoneId - optional; type string
                    The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.
                  • status - optional; type ProposalStatus - type string with restriction - enum { 'DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED', 'UNKNOWN' }
                    The status of the {@code Proposal}. This attribute is read-only.
                  • isArchived - optional; type boolean
                    The archival status of the {@code Proposal}. This attribute is read-only.
                  • advertiser - optional; type ProposalCompanyAssociation
                    A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                    • companyId - optional; type long
                      The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                    • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                      The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                    • contactIds - optional, unbounded; type long
                      List of unique IDs for {@link Contact} objects of the {@link Company}.
                    The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.
                  • agencies - optional, unbounded; type ProposalCompanyAssociation
                    A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                    • companyId - optional; type long
                      The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                    • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                      The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                    • contactIds - optional, unbounded; type long
                      List of unique IDs for {@link Contact} objects of the {@link Company}.
                    List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.
                  • internalNotes - optional; type string
                    Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                  • primarySalesperson - optional; type SalespersonSplit
                    The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    A {@code SalespersonSplit} represents a salesperson.
                    • userId - optional; type long
                      The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. This attribute is required.
                  • salesPlannerIds - optional, unbounded; type long
                    List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                  • primaryTraffickerId - optional; type long
                    The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                  • sellerContactIds - optional, unbounded; type long
                    {@link User users} who are the seller's contacts.
                  • appliedTeamIds - optional, unbounded; type long
                    The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                  • customFieldValues - optional, unbounded; type BaseCustomFieldValue
                    The value of a {@link CustomField} for a particular entity.
                    • customFieldId - optional; type long
                      Id of the {@code CustomField} to which this value belongs. This attribute is required.
                    The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                  • appliedLabels - optional, unbounded; type AppliedLabel
                    Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                    • labelId - optional; type long
                      The ID of a created {@link Label}.
                    • isNegated - optional; type boolean
                      {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                    The set of labels applied directly to the {@code Proposal}. This attribute is optional.
                  • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                    Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                    • labelId - optional; type long
                      The ID of a created {@link Label}.
                    • isNegated - optional; type boolean
                      {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                    Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.
                  • currencyCode - optional; type string
                    The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.
                  • isSold - optional; type boolean
                    Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.
                  • lastModifiedDateTime - optional; type DateTime
                    Represents a date combined with the time of day.
                    • date - optional; type Date
                      Represents a date.
                      • year - optional; type int
                        Year (e.g., 2009)
                      • month - optional; type int
                        Month (1..12)
                      • day - optional; type int
                        Day (1..31)
                    • hour - optional; type int
                    • minute - optional; type int
                    • second - optional; type int
                    • timeZoneId - optional; type string
                    The date and time this {@code Proposal} was last modified. This attribute is read-only.
                  • marketplaceInfo - optional; type ProposalMarketplaceInfo
                    Marketplace info for a proposal with a corresponding order in Marketplace.
                    • marketplaceId - optional; type string
                      The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.
                    • hasLocalVersionEdits - optional; type boolean
                      Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.
                    • negotiationStatus - optional; type NegotiationStatus - type string with restriction - enum { 'SELLER_INITIATED', 'BUYER_INITIATED', 'AWAITING_SELLER_REVIEW', 'AWAITING_BUYER_REVIEW', 'ONLY_SELLER_ACCEPTED', 'FINALIZED', 'CANCELLED', 'UNKNOWN' }
                      The negotiation status of the {@link Proposal}. This attribute is read-only.
                    • marketplaceComment - optional; type string
                      The comment on the {@link Proposal} to be sent to the buyer.
                    • isNewVersionFromBuyer - optional; type boolean
                      Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.
                    • buyerAccountId - optional; type long
                      The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. This attribute is required.
                    • partnerClientId - optional; type string
                      The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.
                    The marketplace info of this proposal if it has a corresponding order in Marketplace.
                  • buyerRfp - optional; type BuyerRfp
                    Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.
                    • costPerUnit - optional; type Money
                      CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.
                      Represents a money amount.
                      • currencyCode - optional; type string
                        Three letter currency code in string format.
                      • microAmount - optional; type long
                        Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                    • units - optional; type long
                      The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.
                    • budget - optional; type Money
                      Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.
                      Represents a money amount.
                      • currencyCode - optional; type string
                        Three letter currency code in string format.
                      • microAmount - optional; type long
                        Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                    • currencyCode - optional; type string
                      Currency code for this deal's budget and CPM. This attribute is read-only.
                    • startDateTime - optional; type DateTime
                      The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.
                      Represents a date combined with the time of day.
                      • date - optional; type Date
                        Represents a date.
                        • year - optional; type int
                          Year (e.g., 2009)
                        • month - optional; type int
                          Month (1..12)
                        • day - optional; type int
                          Day (1..31)
                      • hour - optional; type int
                      • minute - optional; type int
                      • second - optional; type int
                      • timeZoneId - optional; type string
                    • endDateTime - optional; type DateTime
                      The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.
                      Represents a date combined with the time of day.
                      • date - optional; type Date
                        Represents a date.
                        • year - optional; type int
                          Year (e.g., 2009)
                        • month - optional; type int
                          Month (1..12)
                        • day - optional; type int
                          Day (1..31)
                      • hour - optional; type int
                      • minute - optional; type int
                      • second - optional; type int
                      • timeZoneId - optional; type string
                    • description - optional; type string
                      A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.
                    • creativePlaceholders - optional, unbounded; type CreativePlaceholder
                      A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.
                      A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                      • size - optional; type Size
                        The dimensions that the creative is expected to have. This attribute is required.
                        Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                        For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                        • width - optional; type int
                          The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • height - optional; type int
                          The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                        • isAspectRatio - optional; type boolean
                          Whether this size represents an aspect ratio.
                      • creativeTemplateId - optional; type long
                        The native creative template ID.

                        This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                      • companions - optional, unbounded; type CreativePlaceholder
                        A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                        • size - optional; type Size
                          The dimensions that the creative is expected to have. This attribute is required.
                          Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                          For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                          • width - optional; type int
                            The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • height - optional; type int
                            The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • isAspectRatio - optional; type boolean
                            Whether this size represents an aspect ratio.
                        • creativeTemplateId - optional; type long
                          The native creative template ID.

                          This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                        • companions - optional, unbounded; type CreativePlaceholder
                          A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                          • size - optional; type Size
                            The dimensions that the creative is expected to have. This attribute is required.
                            Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                            For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                            • width - optional; type int
                              The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • height - optional; type int
                              The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • isAspectRatio - optional; type boolean
                              Whether this size represents an aspect ratio.
                          • creativeTemplateId - optional; type long
                            The native creative template ID.

                            This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                          • companions - optional, unbounded; type CreativePlaceholder... is recursive
                            The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                          • appliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            The set of label frequency caps applied directly to this creative placeholder.
                          • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                          • expectedCreativeCount - optional; type int
                            Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                          • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                            Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                          • targetingName - optional; type string
                            The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                            This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                          • isAmpOnly - optional; type boolean
                            Indicate if the expected creative of this placeholder has an AMP only variant.

                            This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                          The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                        • appliedLabels - optional, unbounded; type AppliedLabel
                          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                          • labelId - optional; type long
                            The ID of a created {@link Label}.
                          • isNegated - optional; type boolean
                            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                          The set of label frequency caps applied directly to this creative placeholder.
                        • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                          • labelId - optional; type long
                            The ID of a created {@link Label}.
                          • isNegated - optional; type boolean
                            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                          Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                        • expectedCreativeCount - optional; type int
                          Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                        • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                          Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                        • targetingName - optional; type string
                          The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                          This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                        • isAmpOnly - optional; type boolean
                          Indicate if the expected creative of this placeholder has an AMP only variant.

                          This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                        The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                      • appliedLabels - optional, unbounded; type AppliedLabel
                        Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                        • labelId - optional; type long
                          The ID of a created {@link Label}.
                        • isNegated - optional; type boolean
                          {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                        The set of label frequency caps applied directly to this creative placeholder.
                      • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                        Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                        • labelId - optional; type long
                          The ID of a created {@link Label}.
                        • isNegated - optional; type boolean
                          {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                        Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                      • expectedCreativeCount - optional; type int
                        Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                      • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                        Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                      • targetingName - optional; type string
                        The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                        This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                      • isAmpOnly - optional; type boolean
                        Indicate if the expected creative of this placeholder has an AMP only variant.

                        This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                    • targeting - optional; type Targeting
                      Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.
                      Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                      • geoTargeting - optional; type GeoTargeting
                        Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                        The following rules apply for geographical targeting:

                        • You cannot target and exclude the same location.
                        • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                        • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                        • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                        • targetedLocations - optional, unbounded; type Location
                          The geographical locations being targeted by the {@link LineItem}.
                          A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                          • id - optional; type long
                            Uniquely identifies each {@code Location}.
                          • type - optional; type string
                            The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                          • canonicalParentId - optional; type int
                            The nearest location parent's ID for this geographical entity.
                          • displayName - optional; type string
                            The localized name of the geographical entity.
                        • excludedLocations - optional, unbounded; type Location
                          The geographical locations being excluded by the {@link LineItem}.
                          A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                          • id - optional; type long
                            Uniquely identifies each {@code Location}.
                          • type - optional; type string
                            The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                          • canonicalParentId - optional; type int
                            The nearest location parent's ID for this geographical entity.
                          • displayName - optional; type string
                            The localized name of the geographical entity.
                        Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                      • inventoryTargeting - optional; type InventoryTargeting
                        A collection of targeted and excluded ad units and placements.
                        • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                          Represents targeted or excluded ad units.
                          • adUnitId - optional; type string
                            Included or excluded ad unit id.
                          • includeDescendants - optional; type boolean
                            Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                          A list of targeted {@link AdUnitTargeting}.
                        • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                          Represents targeted or excluded ad units.
                          • adUnitId - optional; type string
                            Included or excluded ad unit id.
                          • includeDescendants - optional; type boolean
                            Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                          A list of excluded {@link AdUnitTargeting}.
                        • targetedPlacementIds - optional, unbounded; type long
                          A list of targeted {@link Placement} ids.
                        Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                      • dayPartTargeting - optional; type DayPartTargeting
                        Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                        • dayParts - optional, unbounded; type DayPart
                          {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                          • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                            Day of the week the target applies to. This field is required.
                          • startTime - optional; type TimeOfDay
                            Represents the start time of the targeted period (inclusive).
                            Represents a specific time in a day.
                            • hour - optional; type int
                              Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                            • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                              Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                          • endTime - optional; type TimeOfDay
                            Represents the end time of the targeted period (exclusive).
                            Represents a specific time in a day.
                            • hour - optional; type int
                              Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                            • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                              Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                          Specifies days of the week and times at which a {@code LineItem} will be delivered.

                          If targeting all days and times, this value will be ignored.

                        • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                          Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                          Setting this has no effect if targeting all days and times.

                        Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                      • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                        The date time ranges that the line item is eligible to serve.
                        • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                          Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                          • startDateTime - optional; type DateTime
                            Represents a date combined with the time of day.
                            • date - optional; type Date
                              Represents a date.
                              • year - optional; type int
                                Year (e.g., 2009)
                              • month - optional; type int
                                Month (1..12)
                              • day - optional; type int
                                Day (1..31)
                            • hour - optional; type int
                            • minute - optional; type int
                            • second - optional; type int
                            • timeZoneId - optional; type string
                            The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                          • endDateTime - optional; type DateTime
                            Represents a date combined with the time of day.
                            • date - optional; type Date
                              Represents a date.
                              • year - optional; type int
                                Year (e.g., 2009)
                              • month - optional; type int
                                Month (1..12)
                              • day - optional; type int
                                Day (1..31)
                            • hour - optional; type int
                            • minute - optional; type int
                            • second - optional; type int
                            • timeZoneId - optional; type string
                            The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                        Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                      • technologyTargeting - optional; type TechnologyTargeting
                        Provides {@link LineItem} objects the ability to target or exclude technologies.
                        • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                          The bandwidth groups being targeted by the {@link LineItem}.
                          Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • bandwidthGroups - optional, unbounded; type Technology
                            The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • browserTargeting - optional; type BrowserTargeting
                          The browsers being targeted by the {@link LineItem}.
                          Represents browsers that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • browsers - optional, unbounded; type Technology
                            Browsers that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                          The languages of browsers being targeted by the {@link LineItem}.
                          Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • browserLanguages - optional, unbounded; type Technology
                            Browser languages that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                          The device capabilities being targeted by the {@link LineItem}.
                          Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                          • targetedDeviceCapabilities - optional, unbounded; type Technology
                            Device capabilities that are being targeted by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • excludedDeviceCapabilities - optional, unbounded; type Technology
                            Device capabilities that are being excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                          The device categories being targeted by the {@link LineItem}.
                          Represents device categories that are being targeted or excluded by the {@link LineItem}.
                          • targetedDeviceCategories - optional, unbounded; type Technology
                            Device categories that are being targeted by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • excludedDeviceCategories - optional, unbounded; type Technology
                            Device categories that are being excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                          The device manufacturers being targeted by the {@link LineItem}.
                          Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • deviceManufacturers - optional, unbounded; type Technology
                            Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                          The mobile carriers being targeted by the {@link LineItem}.
                          Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • mobileCarriers - optional, unbounded; type Technology
                            Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                          The mobile devices being targeted by the {@link LineItem}.
                          Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                          • targetedMobileDevices - optional, unbounded; type Technology
                            Mobile devices that are being targeted by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • excludedMobileDevices - optional, unbounded; type Technology
                            Mobile devices that are being excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                          The mobile device submodels being targeted by the {@link LineItem}.
                          Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                          • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                            Mobile device submodels that are being targeted by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                            Mobile device submodels that are being excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • operatingSystemTargeting - optional; type OperatingSystemTargeting
                          The operating systems being targeted by the {@link LineItem}.
                          Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                          • isTargeted - optional; type boolean
                            Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                          • operatingSystems - optional, unbounded; type Technology
                            Operating systems that are being targeted or excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                          The operating system versions being targeted by the {@link LineItem}.
                          Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                          • targetedOperatingSystemVersions - optional, unbounded; type Technology
                            Operating system versions that are being targeted by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • excludedOperatingSystemVersions - optional, unbounded; type Technology
                            Operating system versions that are being excluded by the {@link LineItem}.
                            Represents a technology entity that can be targeted.
                            • id - optional; type long
                              The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                            • name - optional; type string
                              The name of the technology being targeting. This value is read-only and is assigned by Google.
                        Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                      • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                        A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                        A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                          • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                            The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                          • children - optional, unbounded; type CustomCriteriaNode
                            The custom criteria. This attribute is required.
                            A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                              Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                              Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                              {@code customTargeting} will have up to three levels of expressions including itself.

                              The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                              The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                              The third level can only comprise of {@link CustomCriteria} objects.

                              The resulting custom targeting tree would be of the form:

                            • userDomainTargeting - optional; type UserDomainTargeting
                              Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                              Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                              • domains - optional, unbounded; type string
                                The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                              • targeted - optional; type boolean
                                Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • contentTargeting - optional; type ContentTargeting
                              Used to target {@link LineItem}s to specific videos on a publisher's site.
                              • targetedContentIds - optional, unbounded; type long
                                The IDs of content being targeted by the {@code LineItem}.
                              • excludedContentIds - optional, unbounded; type long
                                The IDs of content being excluded by the {@code LineItem}.
                              • targetedVideoContentBundleIds - optional, unbounded; type long
                                A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                              • excludedVideoContentBundleIds - optional, unbounded; type long
                                A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                              Specifies the video categories and individual videos targeted by the {@link LineItem}.
                            • videoPositionTargeting - optional; type VideoPositionTargeting
                              Specifies targeting against video position types.
                              Represents positions within and around a video where ads can be targeted to.

                              Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                              Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                              • targetedPositions - optional, unbounded; type VideoPositionTarget
                                The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                                Represents the options for targetable positions within a video.
                                • videoPosition - optional; type VideoPosition
                                  Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                                  • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                    The type of video position (pre-roll, mid-roll, or post-roll).
                                  • midrollIndex - optional; type int
                                    The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                                  The video position to target. This attribute is required.
                                • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                                  The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                                • videoPositionWithinPod - optional; type VideoPositionWithinPod
                                  Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                                  • index - optional; type int
                                    The specific index of the pod. The index is defined as:
                                    • 1 = first
                                    • 2 = second
                                    • 3 = third
                                    • ....
                                    • 100 = last
                                    100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                    Positions over 100 are not supported.
                                  The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                                • adSpotId - optional; type long
                                  A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                            • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                              Provides the ability to target or exclude users' mobile applications.
                              • mobileApplicationIds - optional, unbounded; type long
                                The {@link MobileApplication#id IDs} that are being targeted or excluded.
                              • isTargeted - optional; type boolean
                                Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              Specifies targeting against mobile applications.
                            • buyerUserListTargeting - optional; type BuyerUserListTargeting
                              The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                              • hasBuyerUserListTargeting - optional; type boolean
                                Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                              Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                            • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                              A collection of targeted inventory urls.
                              • targetedUrls - optional, unbounded; type InventoryUrl
                                The representation of an inventory Url that is used in targeting.
                                • id - optional; type long
                              • excludedUrls - optional, unbounded; type InventoryUrl
                                The representation of an inventory Url that is used in targeting.
                                • id - optional; type long
                              Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                            • verticalTargeting - optional; type VerticalTargeting
                              Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                              Vertical targeting information.
                              • targetedVerticalIds - optional, unbounded; type long
                              • excludedVerticalIds - optional, unbounded; type long
                            • contentLabelTargeting - optional; type ContentLabelTargeting
                              Content label targeting information.
                              • excludedContentLabelIds - optional, unbounded; type long
                              Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                            • requestPlatformTargeting - optional; type RequestPlatformTargeting
                              Provides line items the ability to target the platform that requests and renders the ad.

                              The following rules apply for {@link RequestPlatformTargeting}

                              • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                              • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                              • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                              • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                              • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                              Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                              This value is modifiable for video line items, but read-only for non-video line items.

                              This value is read-only for video line items generated from proposal line items.

                            • inventorySizeTargeting - optional; type InventorySizeTargeting
                              Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                              • isTargeted - optional; type boolean
                                Whether the inventory sizes should be targeted or excluded.
                              • targetedSizes - optional, unbounded; type TargetedSize
                                A list of {@link TargetedSizeDto}s.
                                A size that is targeted on a request.
                                • size - optional; type Size
                                  Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                  For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                  • width - optional; type int
                                    The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                  • height - optional; type int
                                    The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                  • isAspectRatio - optional; type boolean
                                    Whether this size represents an aspect ratio.
                              Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                          • additionalTerms - optional; type string
                            Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.
                          • adExchangeEnvironment - optional; type AdExchangeEnvironment - type string with restriction - enum { 'DISPLAY', 'VIDEO', 'GAMES', 'MOBILE', 'MOBILE_OUTSTREAM_VIDEO', 'DISPLAY_OUTSTREAM_VIDEO', 'UNKNOWN' }
                            Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.
                          • rfpType - optional; type RfpType - type string with restriction - enum { 'UNKNOWN', 'PROGRAMMATIC_GUARANTEED', 'PREFERRED_DEAL' }
                            Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.
                          The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.
                        • hasBuyerRfp - optional; type boolean
                          Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.
                        • deliveryPausingEnabled - optional; type boolean
                          Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.
                        The collection of proposals contained within this page.
                Fault:
                ApiException (wsdlsoap:fault, use = literal)Source code
                ApiException type ApiExceptionFault
                Exception class for holding a list of service errors.
                Base class for exceptions.
                • message - optional; type string
                  Error message.
                • errors - optional, unbounded; type ApiError
                  The API error base class that provides details about an error that occurred while processing a service request.

                  The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                  • fieldPath - optional; type string
                    The OGNL field path to identify cause of error.
                  • fieldPathElements - optional, unbounded; type FieldPathElement
                    A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                    A segment of a field path. Each dot in a field path defines a new segment.
                    • field - optional; type string
                      The name of a field in lower camelcase. (e.g. "biddingStrategy")
                    • index - optional; type int
                      For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                  • trigger - optional; type string
                    The data that caused the error.
                  • errorString - optional; type string
                    A simple string representation of the error and reason.
                  List of errors.
                A fault element of type ApiException.
              • performProposalAction
                Description:
                Performs actions on {@link Proposal} objects that match the given {@link Statement#query}.

                The following fields are also required when submitting proposals for approval:

                • {@link Proposal#advertiser}
                • {@link Proposal#primarySalesperson}
                • {@link Proposal#primaryTraffickerId}
                Operation type:
                Request-response. The endpoint receives a message, and sends a correlated message.
                Input:
                performProposalActionRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                parameters type performProposalAction
                Performs actions on {@link Proposal} objects that match the given {@link Statement#query}.

                The following fields are also required when submitting proposals for approval:

                • {@link Proposal#advertiser}
                • {@link Proposal#primarySalesperson}
                • {@link Proposal#primaryTraffickerId}
                • proposalAction - optional; type ProposalAction
                  Represents the actions that can be performed on {@link Proposal} objects.
                  • filterStatement - optional; type Statement
                    Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary.

                    An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}.

                    Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query.

                    An example of such a query might be {@code "WHERE id = :idValue"}.

                    Statements also support use of the LIKE keyword. This provides wildcard string matching.

                    An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}.

                    The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.
                    • query - optional; type string
                      Holds the query in PQL syntax. The syntax is:
                      [WHERE {[AND | OR] ...}]
                      [ORDER BY [ASC | DESC]]
                      [LIMIT {[,] } | { OFFSET }]


                           := {< | <= | > | >= | = | != }

                           := {< | <= | > | >= | = | != }
                      := IN
                      := IS NULL
                      := LIKE
                      := :

                    • values - optional, unbounded; type String_ValueMapEntry
                      Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable.

                      In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}.

                      This represents an entry in a map with a key of type String and value of type Value.
                      • key - optional; type string
                      • value - optional; type Value
                        {@code Value} represents a value.
                  Output:
                  performProposalActionResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                  parameters type performProposalActionResponse
                  • rval - optional; type UpdateResult
                    Represents the result of performing an action on objects.
                    • numChanges - optional; type int
                      The number of objects that were changed as a result of performing the action.
                  Fault:
                  ApiException (wsdlsoap:fault, use = literal)Source code
                  ApiException type ApiExceptionFault
                  Exception class for holding a list of service errors.
                  Base class for exceptions.
                  • message - optional; type string
                    Error message.
                  • errors - optional, unbounded; type ApiError
                    The API error base class that provides details about an error that occurred while processing a service request.

                    The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                    • fieldPath - optional; type string
                      The OGNL field path to identify cause of error.
                    • fieldPathElements - optional, unbounded; type FieldPathElement
                      A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                      A segment of a field path. Each dot in a field path defines a new segment.
                      • field - optional; type string
                        The name of a field in lower camelcase. (e.g. "biddingStrategy")
                      • index - optional; type int
                        For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                    • trigger - optional; type string
                      The data that caused the error.
                    • errorString - optional; type string
                      A simple string representation of the error and reason.
                    List of errors.
                  A fault element of type ApiException.
                • updateProposals
                  Description:
                  Updates the specified {@link Proposal} objects.
                  Operation type:
                  Request-response. The endpoint receives a message, and sends a correlated message.
                  Input:
                  updateProposalsRequest (wsdlsoap:header, use = literal, part = RequestHeader)Source code
                  parameters type updateProposals
                  Updates the specified {@link Proposal} objects.
                  • proposals - optional, unbounded; type Proposal
                    A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.
                    • id - optional; type long
                      The unique ID of the {@code Proposal}. This attribute is read-only.
                    • isProgrammatic - optional; type boolean
                      Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.
                    • dfpOrderId - optional; type long
                      The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.
                    • name - optional; type string
                      The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. This attribute is required.
                    • startDateTime - optional; type DateTime
                      Represents a date combined with the time of day.
                      • date - optional; type Date
                        Represents a date.
                        • year - optional; type int
                          Year (e.g., 2009)
                        • month - optional; type int
                          Month (1..12)
                        • day - optional; type int
                          Day (1..31)
                      • hour - optional; type int
                      • minute - optional; type int
                      • second - optional; type int
                      • timeZoneId - optional; type string
                      The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.
                    • endDateTime - optional; type DateTime
                      Represents a date combined with the time of day.
                      • date - optional; type Date
                        Represents a date.
                        • year - optional; type int
                          Year (e.g., 2009)
                        • month - optional; type int
                          Month (1..12)
                        • day - optional; type int
                          Day (1..31)
                      • hour - optional; type int
                      • minute - optional; type int
                      • second - optional; type int
                      • timeZoneId - optional; type string
                      The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.
                    • status - optional; type ProposalStatus - type string with restriction - enum { 'DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED', 'UNKNOWN' }
                      The status of the {@code Proposal}. This attribute is read-only.
                    • isArchived - optional; type boolean
                      The archival status of the {@code Proposal}. This attribute is read-only.
                    • advertiser - optional; type ProposalCompanyAssociation
                      A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                      • companyId - optional; type long
                        The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                      • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                        The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                      • contactIds - optional, unbounded; type long
                        List of unique IDs for {@link Contact} objects of the {@link Company}.
                      The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.
                    • agencies - optional, unbounded; type ProposalCompanyAssociation
                      A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                      • companyId - optional; type long
                        The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                      • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                        The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                      • contactIds - optional, unbounded; type long
                        List of unique IDs for {@link Contact} objects of the {@link Company}.
                      List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.
                    • internalNotes - optional; type string
                      Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    • primarySalesperson - optional; type SalespersonSplit
                      The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      A {@code SalespersonSplit} represents a salesperson.
                      • userId - optional; type long
                        The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. This attribute is required.
                    • salesPlannerIds - optional, unbounded; type long
                      List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    • primaryTraffickerId - optional; type long
                      The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    • sellerContactIds - optional, unbounded; type long
                      {@link User users} who are the seller's contacts.
                    • appliedTeamIds - optional, unbounded; type long
                      The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    • customFieldValues - optional, unbounded; type BaseCustomFieldValue
                      The value of a {@link CustomField} for a particular entity.
                      • customFieldId - optional; type long
                        Id of the {@code CustomField} to which this value belongs. This attribute is required.
                      The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                    • appliedLabels - optional, unbounded; type AppliedLabel
                      Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                      • labelId - optional; type long
                        The ID of a created {@link Label}.
                      • isNegated - optional; type boolean
                        {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                      The set of labels applied directly to the {@code Proposal}. This attribute is optional.
                    • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                      Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                      • labelId - optional; type long
                        The ID of a created {@link Label}.
                      • isNegated - optional; type boolean
                        {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                      Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.
                    • currencyCode - optional; type string
                      The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.
                    • isSold - optional; type boolean
                      Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.
                    • lastModifiedDateTime - optional; type DateTime
                      Represents a date combined with the time of day.
                      • date - optional; type Date
                        Represents a date.
                        • year - optional; type int
                          Year (e.g., 2009)
                        • month - optional; type int
                          Month (1..12)
                        • day - optional; type int
                          Day (1..31)
                      • hour - optional; type int
                      • minute - optional; type int
                      • second - optional; type int
                      • timeZoneId - optional; type string
                      The date and time this {@code Proposal} was last modified. This attribute is read-only.
                    • marketplaceInfo - optional; type ProposalMarketplaceInfo
                      Marketplace info for a proposal with a corresponding order in Marketplace.
                      • marketplaceId - optional; type string
                        The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.
                      • hasLocalVersionEdits - optional; type boolean
                        Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.
                      • negotiationStatus - optional; type NegotiationStatus - type string with restriction - enum { 'SELLER_INITIATED', 'BUYER_INITIATED', 'AWAITING_SELLER_REVIEW', 'AWAITING_BUYER_REVIEW', 'ONLY_SELLER_ACCEPTED', 'FINALIZED', 'CANCELLED', 'UNKNOWN' }
                        The negotiation status of the {@link Proposal}. This attribute is read-only.
                      • marketplaceComment - optional; type string
                        The comment on the {@link Proposal} to be sent to the buyer.
                      • isNewVersionFromBuyer - optional; type boolean
                        Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.
                      • buyerAccountId - optional; type long
                        The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. This attribute is required.
                      • partnerClientId - optional; type string
                        The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.
                      The marketplace info of this proposal if it has a corresponding order in Marketplace.
                    • buyerRfp - optional; type BuyerRfp
                      Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.
                      • costPerUnit - optional; type Money
                        CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.
                        Represents a money amount.
                        • currencyCode - optional; type string
                          Three letter currency code in string format.
                        • microAmount - optional; type long
                          Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                      • units - optional; type long
                        The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.
                      • budget - optional; type Money
                        Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.
                        Represents a money amount.
                        • currencyCode - optional; type string
                          Three letter currency code in string format.
                        • microAmount - optional; type long
                          Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                      • currencyCode - optional; type string
                        Currency code for this deal's budget and CPM. This attribute is read-only.
                      • startDateTime - optional; type DateTime
                        The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                      • endDateTime - optional; type DateTime
                        The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                      • description - optional; type string
                        A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.
                      • creativePlaceholders - optional, unbounded; type CreativePlaceholder
                        A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.
                        A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                        • size - optional; type Size
                          The dimensions that the creative is expected to have. This attribute is required.
                          Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                          For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                          • width - optional; type int
                            The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • height - optional; type int
                            The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                          • isAspectRatio - optional; type boolean
                            Whether this size represents an aspect ratio.
                        • creativeTemplateId - optional; type long
                          The native creative template ID.

                          This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                        • companions - optional, unbounded; type CreativePlaceholder
                          A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                          • size - optional; type Size
                            The dimensions that the creative is expected to have. This attribute is required.
                            Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                            For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                            • width - optional; type int
                              The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • height - optional; type int
                              The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • isAspectRatio - optional; type boolean
                              Whether this size represents an aspect ratio.
                          • creativeTemplateId - optional; type long
                            The native creative template ID.

                            This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                          • companions - optional, unbounded; type CreativePlaceholder
                            A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                            • size - optional; type Size
                              The dimensions that the creative is expected to have. This attribute is required.
                              Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                              For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                              • width - optional; type int
                                The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • height - optional; type int
                                The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • isAspectRatio - optional; type boolean
                                Whether this size represents an aspect ratio.
                            • creativeTemplateId - optional; type long
                              The native creative template ID.

                              This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                            • companions - optional, unbounded; type CreativePlaceholder... is recursive
                              The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                            • appliedLabels - optional, unbounded; type AppliedLabel
                              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                              • labelId - optional; type long
                                The ID of a created {@link Label}.
                              • isNegated - optional; type boolean
                                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                              The set of label frequency caps applied directly to this creative placeholder.
                            • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                              • labelId - optional; type long
                                The ID of a created {@link Label}.
                              • isNegated - optional; type boolean
                                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                              Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                            • expectedCreativeCount - optional; type int
                              Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                            • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                              Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                            • targetingName - optional; type string
                              The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                              This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                            • isAmpOnly - optional; type boolean
                              Indicate if the expected creative of this placeholder has an AMP only variant.

                              This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                            The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                          • appliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            The set of label frequency caps applied directly to this creative placeholder.
                          • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                          • expectedCreativeCount - optional; type int
                            Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                          • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                            Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                          • targetingName - optional; type string
                            The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                            This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                          • isAmpOnly - optional; type boolean
                            Indicate if the expected creative of this placeholder has an AMP only variant.

                            This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                          The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                        • appliedLabels - optional, unbounded; type AppliedLabel
                          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                          • labelId - optional; type long
                            The ID of a created {@link Label}.
                          • isNegated - optional; type boolean
                            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                          The set of label frequency caps applied directly to this creative placeholder.
                        • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                          Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                          • labelId - optional; type long
                            The ID of a created {@link Label}.
                          • isNegated - optional; type boolean
                            {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                          Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                        • expectedCreativeCount - optional; type int
                          Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                        • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                          Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                        • targetingName - optional; type string
                          The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                          This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                        • isAmpOnly - optional; type boolean
                          Indicate if the expected creative of this placeholder has an AMP only variant.

                          This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                      • targeting - optional; type Targeting
                        Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.
                        Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                        • geoTargeting - optional; type GeoTargeting
                          Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                          The following rules apply for geographical targeting:

                          • You cannot target and exclude the same location.
                          • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                          • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                          • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                          • targetedLocations - optional, unbounded; type Location
                            The geographical locations being targeted by the {@link LineItem}.
                            A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                            • id - optional; type long
                              Uniquely identifies each {@code Location}.
                            • type - optional; type string
                              The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                            • canonicalParentId - optional; type int
                              The nearest location parent's ID for this geographical entity.
                            • displayName - optional; type string
                              The localized name of the geographical entity.
                          • excludedLocations - optional, unbounded; type Location
                            The geographical locations being excluded by the {@link LineItem}.
                            A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                            • id - optional; type long
                              Uniquely identifies each {@code Location}.
                            • type - optional; type string
                              The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                            • canonicalParentId - optional; type int
                              The nearest location parent's ID for this geographical entity.
                            • displayName - optional; type string
                              The localized name of the geographical entity.
                          Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                        • inventoryTargeting - optional; type InventoryTargeting
                          A collection of targeted and excluded ad units and placements.
                          • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                            Represents targeted or excluded ad units.
                            • adUnitId - optional; type string
                              Included or excluded ad unit id.
                            • includeDescendants - optional; type boolean
                              Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                            A list of targeted {@link AdUnitTargeting}.
                          • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                            Represents targeted or excluded ad units.
                            • adUnitId - optional; type string
                              Included or excluded ad unit id.
                            • includeDescendants - optional; type boolean
                              Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                            A list of excluded {@link AdUnitTargeting}.
                          • targetedPlacementIds - optional, unbounded; type long
                            A list of targeted {@link Placement} ids.
                          Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                        • dayPartTargeting - optional; type DayPartTargeting
                          Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                          • dayParts - optional, unbounded; type DayPart
                            {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                            • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                              Day of the week the target applies to. This field is required.
                            • startTime - optional; type TimeOfDay
                              Represents the start time of the targeted period (inclusive).
                              Represents a specific time in a day.
                              • hour - optional; type int
                                Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                              • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                            • endTime - optional; type TimeOfDay
                              Represents the end time of the targeted period (exclusive).
                              Represents a specific time in a day.
                              • hour - optional; type int
                                Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                              • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                            Specifies days of the week and times at which a {@code LineItem} will be delivered.

                            If targeting all days and times, this value will be ignored.

                          • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                            Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                            Setting this has no effect if targeting all days and times.

                          Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                        • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                          The date time ranges that the line item is eligible to serve.
                          • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                            Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                            • startDateTime - optional; type DateTime
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                              The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                            • endDateTime - optional; type DateTime
                              Represents a date combined with the time of day.
                              • date - optional; type Date
                                Represents a date.
                                • year - optional; type int
                                  Year (e.g., 2009)
                                • month - optional; type int
                                  Month (1..12)
                                • day - optional; type int
                                  Day (1..31)
                              • hour - optional; type int
                              • minute - optional; type int
                              • second - optional; type int
                              • timeZoneId - optional; type string
                              The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                          Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                        • technologyTargeting - optional; type TechnologyTargeting
                          Provides {@link LineItem} objects the ability to target or exclude technologies.
                          • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                            The bandwidth groups being targeted by the {@link LineItem}.
                            Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • bandwidthGroups - optional, unbounded; type Technology
                              The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • browserTargeting - optional; type BrowserTargeting
                            The browsers being targeted by the {@link LineItem}.
                            Represents browsers that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • browsers - optional, unbounded; type Technology
                              Browsers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                            The languages of browsers being targeted by the {@link LineItem}.
                            Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • browserLanguages - optional, unbounded; type Technology
                              Browser languages that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                            The device capabilities being targeted by the {@link LineItem}.
                            Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                            • targetedDeviceCapabilities - optional, unbounded; type Technology
                              Device capabilities that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedDeviceCapabilities - optional, unbounded; type Technology
                              Device capabilities that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                            The device categories being targeted by the {@link LineItem}.
                            Represents device categories that are being targeted or excluded by the {@link LineItem}.
                            • targetedDeviceCategories - optional, unbounded; type Technology
                              Device categories that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedDeviceCategories - optional, unbounded; type Technology
                              Device categories that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                            The device manufacturers being targeted by the {@link LineItem}.
                            Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • deviceManufacturers - optional, unbounded; type Technology
                              Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                            The mobile carriers being targeted by the {@link LineItem}.
                            Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • mobileCarriers - optional, unbounded; type Technology
                              Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                            The mobile devices being targeted by the {@link LineItem}.
                            Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                            • targetedMobileDevices - optional, unbounded; type Technology
                              Mobile devices that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedMobileDevices - optional, unbounded; type Technology
                              Mobile devices that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                            The mobile device submodels being targeted by the {@link LineItem}.
                            Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                            • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                              Mobile device submodels that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                              Mobile device submodels that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • operatingSystemTargeting - optional; type OperatingSystemTargeting
                            The operating systems being targeted by the {@link LineItem}.
                            Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                            • isTargeted - optional; type boolean
                              Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                            • operatingSystems - optional, unbounded; type Technology
                              Operating systems that are being targeted or excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                            The operating system versions being targeted by the {@link LineItem}.
                            Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                            • targetedOperatingSystemVersions - optional, unbounded; type Technology
                              Operating system versions that are being targeted by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • excludedOperatingSystemVersions - optional, unbounded; type Technology
                              Operating system versions that are being excluded by the {@link LineItem}.
                              Represents a technology entity that can be targeted.
                              • id - optional; type long
                                The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                              • name - optional; type string
                                The name of the technology being targeting. This value is read-only and is assigned by Google.
                          Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                        • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                          A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                          A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                            • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                              The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                            • children - optional, unbounded; type CustomCriteriaNode
                              The custom criteria. This attribute is required.
                              A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                                Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                                Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                                {@code customTargeting} will have up to three levels of expressions including itself.

                                The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                                The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                                The third level can only comprise of {@link CustomCriteria} objects.

                                The resulting custom targeting tree would be of the form:

                              • userDomainTargeting - optional; type UserDomainTargeting
                                Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                                Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                                • domains - optional, unbounded; type string
                                  The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                                • targeted - optional; type boolean
                                  Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • contentTargeting - optional; type ContentTargeting
                                Used to target {@link LineItem}s to specific videos on a publisher's site.
                                • targetedContentIds - optional, unbounded; type long
                                  The IDs of content being targeted by the {@code LineItem}.
                                • excludedContentIds - optional, unbounded; type long
                                  The IDs of content being excluded by the {@code LineItem}.
                                • targetedVideoContentBundleIds - optional, unbounded; type long
                                  A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                                • excludedVideoContentBundleIds - optional, unbounded; type long
                                  A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                                Specifies the video categories and individual videos targeted by the {@link LineItem}.
                              • videoPositionTargeting - optional; type VideoPositionTargeting
                                Specifies targeting against video position types.
                                Represents positions within and around a video where ads can be targeted to.

                                Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                                Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                                • targetedPositions - optional, unbounded; type VideoPositionTarget
                                  The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                                  Represents the options for targetable positions within a video.
                                  • videoPosition - optional; type VideoPosition
                                    Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                                    • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                      The type of video position (pre-roll, mid-roll, or post-roll).
                                    • midrollIndex - optional; type int
                                      The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                                    The video position to target. This attribute is required.
                                  • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                                    The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                                  • videoPositionWithinPod - optional; type VideoPositionWithinPod
                                    Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                                    • index - optional; type int
                                      The specific index of the pod. The index is defined as:
                                      • 1 = first
                                      • 2 = second
                                      • 3 = third
                                      • ....
                                      • 100 = last
                                      100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                      Positions over 100 are not supported.
                                    The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                                  • adSpotId - optional; type long
                                    A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                              • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                                Provides the ability to target or exclude users' mobile applications.
                                • mobileApplicationIds - optional, unbounded; type long
                                  The {@link MobileApplication#id IDs} that are being targeted or excluded.
                                • isTargeted - optional; type boolean
                                  Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                Specifies targeting against mobile applications.
                              • buyerUserListTargeting - optional; type BuyerUserListTargeting
                                The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                                • hasBuyerUserListTargeting - optional; type boolean
                                  Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                                Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                              • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                                A collection of targeted inventory urls.
                                • targetedUrls - optional, unbounded; type InventoryUrl
                                  The representation of an inventory Url that is used in targeting.
                                  • id - optional; type long
                                • excludedUrls - optional, unbounded; type InventoryUrl
                                  The representation of an inventory Url that is used in targeting.
                                  • id - optional; type long
                                Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                              • verticalTargeting - optional; type VerticalTargeting
                                Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                                Vertical targeting information.
                                • targetedVerticalIds - optional, unbounded; type long
                                • excludedVerticalIds - optional, unbounded; type long
                              • contentLabelTargeting - optional; type ContentLabelTargeting
                                Content label targeting information.
                                • excludedContentLabelIds - optional, unbounded; type long
                                Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                              • requestPlatformTargeting - optional; type RequestPlatformTargeting
                                Provides line items the ability to target the platform that requests and renders the ad.

                                The following rules apply for {@link RequestPlatformTargeting}

                                • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                                • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                                • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                                • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                                • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                                Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                                This value is modifiable for video line items, but read-only for non-video line items.

                                This value is read-only for video line items generated from proposal line items.

                              • inventorySizeTargeting - optional; type InventorySizeTargeting
                                Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                                • isTargeted - optional; type boolean
                                  Whether the inventory sizes should be targeted or excluded.
                                • targetedSizes - optional, unbounded; type TargetedSize
                                  A list of {@link TargetedSizeDto}s.
                                  A size that is targeted on a request.
                                  • size - optional; type Size
                                    Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                    For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                    • width - optional; type int
                                      The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                    • height - optional; type int
                                      The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                    • isAspectRatio - optional; type boolean
                                      Whether this size represents an aspect ratio.
                                Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                            • additionalTerms - optional; type string
                              Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.
                            • adExchangeEnvironment - optional; type AdExchangeEnvironment - type string with restriction - enum { 'DISPLAY', 'VIDEO', 'GAMES', 'MOBILE', 'MOBILE_OUTSTREAM_VIDEO', 'DISPLAY_OUTSTREAM_VIDEO', 'UNKNOWN' }
                              Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.
                            • rfpType - optional; type RfpType - type string with restriction - enum { 'UNKNOWN', 'PROGRAMMATIC_GUARANTEED', 'PREFERRED_DEAL' }
                              Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.
                            The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.
                          • hasBuyerRfp - optional; type boolean
                            Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.
                          • deliveryPausingEnabled - optional; type boolean
                            Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.
                    Output:
                    updateProposalsResponse (wsdlsoap:header, use = literal, part = ResponseHeader)Source code
                    parameters type updateProposalsResponse
                    • rval - optional, unbounded; type Proposal
                      A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.
                      • id - optional; type long
                        The unique ID of the {@code Proposal}. This attribute is read-only.
                      • isProgrammatic - optional; type boolean
                        Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.
                      • dfpOrderId - optional; type long
                        The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.
                      • name - optional; type string
                        The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. This attribute is required.
                      • startDateTime - optional; type DateTime
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                        The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.
                      • endDateTime - optional; type DateTime
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                        The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.
                      • status - optional; type ProposalStatus - type string with restriction - enum { 'DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED', 'UNKNOWN' }
                        The status of the {@code Proposal}. This attribute is read-only.
                      • isArchived - optional; type boolean
                        The archival status of the {@code Proposal}. This attribute is read-only.
                      • advertiser - optional; type ProposalCompanyAssociation
                        A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                        • companyId - optional; type long
                          The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                        • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                          The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                        • contactIds - optional, unbounded; type long
                          List of unique IDs for {@link Contact} objects of the {@link Company}.
                        The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.
                      • agencies - optional, unbounded; type ProposalCompanyAssociation
                        A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.
                        • companyId - optional; type long
                          The unique ID of the {@link Company} associated with the {@link Proposal}. This attribute is required.
                        • type - optional; type ProposalCompanyAssociationType - type string with restriction - enum { 'PRIMARY_AGENCY', 'BILLING_AGENCY', 'BRANDING_AGENCY', 'OTHER_AGENCY', 'ADVERTISER', 'UNKNOWN' }
                          The association type of the {@link Company} and {@link Proposal}. This attribute is required.
                        • contactIds - optional, unbounded; type long
                          List of unique IDs for {@link Contact} objects of the {@link Company}.
                        List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.
                      • internalNotes - optional; type string
                        Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      • primarySalesperson - optional; type SalespersonSplit
                        The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                        A {@code SalespersonSplit} represents a salesperson.
                        • userId - optional; type long
                          The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. This attribute is required.
                      • salesPlannerIds - optional, unbounded; type long
                        List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      • primaryTraffickerId - optional; type long
                        The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      • sellerContactIds - optional, unbounded; type long
                        {@link User users} who are the seller's contacts.
                      • appliedTeamIds - optional, unbounded; type long
                        The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      • customFieldValues - optional, unbounded; type BaseCustomFieldValue
                        The value of a {@link CustomField} for a particular entity.
                        • customFieldId - optional; type long
                          Id of the {@code CustomField} to which this value belongs. This attribute is required.
                        The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.
                      • appliedLabels - optional, unbounded; type AppliedLabel
                        Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                        • labelId - optional; type long
                          The ID of a created {@link Label}.
                        • isNegated - optional; type boolean
                          {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                        The set of labels applied directly to the {@code Proposal}. This attribute is optional.
                      • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                        Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                        • labelId - optional; type long
                          The ID of a created {@link Label}.
                        • isNegated - optional; type boolean
                          {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                        Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.
                      • currencyCode - optional; type string
                        The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.
                      • isSold - optional; type boolean
                        Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.
                      • lastModifiedDateTime - optional; type DateTime
                        Represents a date combined with the time of day.
                        • date - optional; type Date
                          Represents a date.
                          • year - optional; type int
                            Year (e.g., 2009)
                          • month - optional; type int
                            Month (1..12)
                          • day - optional; type int
                            Day (1..31)
                        • hour - optional; type int
                        • minute - optional; type int
                        • second - optional; type int
                        • timeZoneId - optional; type string
                        The date and time this {@code Proposal} was last modified. This attribute is read-only.
                      • marketplaceInfo - optional; type ProposalMarketplaceInfo
                        Marketplace info for a proposal with a corresponding order in Marketplace.
                        • marketplaceId - optional; type string
                          The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.
                        • hasLocalVersionEdits - optional; type boolean
                          Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.
                        • negotiationStatus - optional; type NegotiationStatus - type string with restriction - enum { 'SELLER_INITIATED', 'BUYER_INITIATED', 'AWAITING_SELLER_REVIEW', 'AWAITING_BUYER_REVIEW', 'ONLY_SELLER_ACCEPTED', 'FINALIZED', 'CANCELLED', 'UNKNOWN' }
                          The negotiation status of the {@link Proposal}. This attribute is read-only.
                        • marketplaceComment - optional; type string
                          The comment on the {@link Proposal} to be sent to the buyer.
                        • isNewVersionFromBuyer - optional; type boolean
                          Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.
                        • buyerAccountId - optional; type long
                          The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. This attribute is required.
                        • partnerClientId - optional; type string
                          The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.
                        The marketplace info of this proposal if it has a corresponding order in Marketplace.
                      • buyerRfp - optional; type BuyerRfp
                        Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.
                        • costPerUnit - optional; type Money
                          CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.
                          Represents a money amount.
                          • currencyCode - optional; type string
                            Three letter currency code in string format.
                          • microAmount - optional; type long
                            Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                        • units - optional; type long
                          The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.
                        • budget - optional; type Money
                          Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.
                          Represents a money amount.
                          • currencyCode - optional; type string
                            Three letter currency code in string format.
                          • microAmount - optional; type long
                            Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.
                        • currencyCode - optional; type string
                          Currency code for this deal's budget and CPM. This attribute is read-only.
                        • startDateTime - optional; type DateTime
                          The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.
                          Represents a date combined with the time of day.
                          • date - optional; type Date
                            Represents a date.
                            • year - optional; type int
                              Year (e.g., 2009)
                            • month - optional; type int
                              Month (1..12)
                            • day - optional; type int
                              Day (1..31)
                          • hour - optional; type int
                          • minute - optional; type int
                          • second - optional; type int
                          • timeZoneId - optional; type string
                        • endDateTime - optional; type DateTime
                          The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.
                          Represents a date combined with the time of day.
                          • date - optional; type Date
                            Represents a date.
                            • year - optional; type int
                              Year (e.g., 2009)
                            • month - optional; type int
                              Month (1..12)
                            • day - optional; type int
                              Day (1..31)
                          • hour - optional; type int
                          • minute - optional; type int
                          • second - optional; type int
                          • timeZoneId - optional; type string
                        • description - optional; type string
                          A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.
                        • creativePlaceholders - optional, unbounded; type CreativePlaceholder
                          A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.
                          A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                          • size - optional; type Size
                            The dimensions that the creative is expected to have. This attribute is required.
                            Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                            For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                            • width - optional; type int
                              The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • height - optional; type int
                              The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                            • isAspectRatio - optional; type boolean
                              Whether this size represents an aspect ratio.
                          • creativeTemplateId - optional; type long
                            The native creative template ID.

                            This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                          • companions - optional, unbounded; type CreativePlaceholder
                            A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                            • size - optional; type Size
                              The dimensions that the creative is expected to have. This attribute is required.
                              Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                              For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                              • width - optional; type int
                                The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • height - optional; type int
                                The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                              • isAspectRatio - optional; type boolean
                                Whether this size represents an aspect ratio.
                            • creativeTemplateId - optional; type long
                              The native creative template ID.

                              This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                            • companions - optional, unbounded; type CreativePlaceholder
                              A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.
                              • size - optional; type Size
                                The dimensions that the creative is expected to have. This attribute is required.
                                Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                • width - optional; type int
                                  The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                • height - optional; type int
                                  The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                • isAspectRatio - optional; type boolean
                                  Whether this size represents an aspect ratio.
                              • creativeTemplateId - optional; type long
                                The native creative template ID.

                                This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.

                              • companions - optional, unbounded; type CreativePlaceholder... is recursive
                                The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                              • appliedLabels - optional, unbounded; type AppliedLabel
                                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                                • labelId - optional; type long
                                  The ID of a created {@link Label}.
                                • isNegated - optional; type boolean
                                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                                The set of label frequency caps applied directly to this creative placeholder.
                              • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                                Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                                • labelId - optional; type long
                                  The ID of a created {@link Label}.
                                • isNegated - optional; type boolean
                                  {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                                Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                              • expectedCreativeCount - optional; type int
                                Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                              • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                                Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                              • targetingName - optional; type string
                                The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                                This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                              • isAmpOnly - optional; type boolean
                                Indicate if the expected creative of this placeholder has an AMP only variant.

                                This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                              The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                            • appliedLabels - optional, unbounded; type AppliedLabel
                              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                              • labelId - optional; type long
                                The ID of a created {@link Label}.
                              • isNegated - optional; type boolean
                                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                              The set of label frequency caps applied directly to this creative placeholder.
                            • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                              Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                              • labelId - optional; type long
                                The ID of a created {@link Label}.
                              • isNegated - optional; type boolean
                                {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                              Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                            • expectedCreativeCount - optional; type int
                              Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                            • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                              Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                            • targetingName - optional; type string
                              The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                              This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                            • isAmpOnly - optional; type boolean
                              Indicate if the expected creative of this placeholder has an AMP only variant.

                              This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                            The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.
                          • appliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            The set of label frequency caps applied directly to this creative placeholder.
                          • effectiveAppliedLabels - optional, unbounded; type AppliedLabel
                            Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.
                            • labelId - optional; type long
                              The ID of a created {@link Label}.
                            • isNegated - optional; type boolean
                              {@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.
                            Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.
                          • expectedCreativeCount - optional; type int
                            Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.
                          • creativeSizeType - optional; type CreativeSizeType - type string with restriction - enum { 'PIXEL', 'ASPECT_RATIO', 'INTERSTITIAL', 'IGNORED', 'NATIVE', 'AUDIO' }
                            Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).
                          • targetingName - optional; type string
                            The name of the {@link CreativeTargeting} for creatives this placeholder represents.

                            This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.

                          • isAmpOnly - optional; type boolean
                            Indicate if the expected creative of this placeholder has an AMP only variant.

                            This attribute is optional. It is for forecasting purposes only and has no effect on serving.

                        • targeting - optional; type Targeting
                          Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.
                          Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.
                          • geoTargeting - optional; type GeoTargeting
                            Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same.

                            The following rules apply for geographical targeting:

                            • You cannot target and exclude the same location.
                            • You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago.
                            • You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations.
                            • You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California.
                            • targetedLocations - optional, unbounded; type Location
                              The geographical locations being targeted by the {@link LineItem}.
                              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                              • id - optional; type long
                                Uniquely identifies each {@code Location}.
                              • type - optional; type string
                                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                              • canonicalParentId - optional; type int
                                The nearest location parent's ID for this geographical entity.
                              • displayName - optional; type string
                                The localized name of the geographical entity.
                            • excludedLocations - optional, unbounded; type Location
                              The geographical locations being excluded by the {@link LineItem}.
                              A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.
                              • id - optional; type long
                                Uniquely identifies each {@code Location}.
                              • type - optional; type string
                                The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)
                              • canonicalParentId - optional; type int
                                The nearest location parent's ID for this geographical entity.
                              • displayName - optional; type string
                                The localized name of the geographical entity.
                            Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.
                          • inventoryTargeting - optional; type InventoryTargeting
                            A collection of targeted and excluded ad units and placements.
                            • targetedAdUnits - optional, unbounded; type AdUnitTargeting
                              Represents targeted or excluded ad units.
                              • adUnitId - optional; type string
                                Included or excluded ad unit id.
                              • includeDescendants - optional; type boolean
                                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                              A list of targeted {@link AdUnitTargeting}.
                            • excludedAdUnits - optional, unbounded; type AdUnitTargeting
                              Represents targeted or excluded ad units.
                              • adUnitId - optional; type string
                                Included or excluded ad unit id.
                              • includeDescendants - optional; type boolean
                                Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.
                              A list of excluded {@link AdUnitTargeting}.
                            • targetedPlacementIds - optional, unbounded; type long
                              A list of targeted {@link Placement} ids.
                            Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.
                          • dayPartTargeting - optional; type DayPartTargeting
                            Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.
                            • dayParts - optional, unbounded; type DayPart
                              {@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.
                              • dayOfWeek - optional; type DayOfWeek - type string with restriction - enum { 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY' }
                                Day of the week the target applies to. This field is required.
                              • startTime - optional; type TimeOfDay
                                Represents the start time of the targeted period (inclusive).
                                Represents a specific time in a day.
                                • hour - optional; type int
                                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                              • endTime - optional; type TimeOfDay
                                Represents the end time of the targeted period (exclusive).
                                Represents a specific time in a day.
                                • hour - optional; type int
                                  Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.
                                • minute - optional; type MinuteOfHour - type string with restriction - enum { 'ZERO', 'FIFTEEN', 'THIRTY', 'FORTY_FIVE' }
                                  Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.
                              Specifies days of the week and times at which a {@code LineItem} will be delivered.

                              If targeting all days and times, this value will be ignored.

                            • timeZone - optional; type DeliveryTimeZone - type string with restriction - enum { 'PUBLISHER', 'BROWSER' }
                              Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}.

                              Setting this has no effect if targeting all days and times.

                            Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.
                          • dateTimeRangeTargeting - optional; type DateTimeRangeTargeting
                            The date time ranges that the line item is eligible to serve.
                            • targetedDateTimeRanges - optional, unbounded; type DateTimeRange
                              Represents a range of dates (combined with time of day) that has an upper and/or lower bound.
                              • startDateTime - optional; type DateTime
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                                The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.
                              • endDateTime - optional; type DateTime
                                Represents a date combined with the time of day.
                                • date - optional; type Date
                                  Represents a date.
                                  • year - optional; type int
                                    Year (e.g., 2009)
                                  • month - optional; type int
                                    Month (1..12)
                                  • day - optional; type int
                                    Day (1..31)
                                • hour - optional; type int
                                • minute - optional; type int
                                • second - optional; type int
                                • timeZoneId - optional; type string
                                The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.
                            Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.
                          • technologyTargeting - optional; type TechnologyTargeting
                            Provides {@link LineItem} objects the ability to target or exclude technologies.
                            • bandwidthGroupTargeting - optional; type BandwidthGroupTargeting
                              The bandwidth groups being targeted by the {@link LineItem}.
                              Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • bandwidthGroups - optional, unbounded; type Technology
                                The bandwidth groups that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • browserTargeting - optional; type BrowserTargeting
                              The browsers being targeted by the {@link LineItem}.
                              Represents browsers that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • browsers - optional, unbounded; type Technology
                                Browsers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • browserLanguageTargeting - optional; type BrowserLanguageTargeting
                              The languages of browsers being targeted by the {@link LineItem}.
                              Represents browser languages that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • browserLanguages - optional, unbounded; type Technology
                                Browser languages that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceCapabilityTargeting - optional; type DeviceCapabilityTargeting
                              The device capabilities being targeted by the {@link LineItem}.
                              Represents device capabilities that are being targeted or excluded by the {@link LineItem}.
                              • targetedDeviceCapabilities - optional, unbounded; type Technology
                                Device capabilities that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedDeviceCapabilities - optional, unbounded; type Technology
                                Device capabilities that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceCategoryTargeting - optional; type DeviceCategoryTargeting
                              The device categories being targeted by the {@link LineItem}.
                              Represents device categories that are being targeted or excluded by the {@link LineItem}.
                              • targetedDeviceCategories - optional, unbounded; type Technology
                                Device categories that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedDeviceCategories - optional, unbounded; type Technology
                                Device categories that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • deviceManufacturerTargeting - optional; type DeviceManufacturerTargeting
                              The device manufacturers being targeted by the {@link LineItem}.
                              Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • deviceManufacturers - optional, unbounded; type Technology
                                Device manufacturers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileCarrierTargeting - optional; type MobileCarrierTargeting
                              The mobile carriers being targeted by the {@link LineItem}.
                              Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • mobileCarriers - optional, unbounded; type Technology
                                Mobile carriers that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileDeviceTargeting - optional; type MobileDeviceTargeting
                              The mobile devices being targeted by the {@link LineItem}.
                              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                              • targetedMobileDevices - optional, unbounded; type Technology
                                Mobile devices that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedMobileDevices - optional, unbounded; type Technology
                                Mobile devices that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • mobileDeviceSubmodelTargeting - optional; type MobileDeviceSubmodelTargeting
                              The mobile device submodels being targeted by the {@link LineItem}.
                              Represents mobile devices that are being targeted or excluded by the {@link LineItem}.
                              • targetedMobileDeviceSubmodels - optional, unbounded; type Technology
                                Mobile device submodels that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedMobileDeviceSubmodels - optional, unbounded; type Technology
                                Mobile device submodels that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • operatingSystemTargeting - optional; type OperatingSystemTargeting
                              The operating systems being targeted by the {@link LineItem}.
                              Represents operating systems that are being targeted or excluded by the {@link LineItem}.
                              • isTargeted - optional; type boolean
                                Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                              • operatingSystems - optional, unbounded; type Technology
                                Operating systems that are being targeted or excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            • operatingSystemVersionTargeting - optional; type OperatingSystemVersionTargeting
                              The operating system versions being targeted by the {@link LineItem}.
                              Represents operating system versions that are being targeted or excluded by the {@link LineItem}.
                              • targetedOperatingSystemVersions - optional, unbounded; type Technology
                                Operating system versions that are being targeted by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                              • excludedOperatingSystemVersions - optional, unbounded; type Technology
                                Operating system versions that are being excluded by the {@link LineItem}.
                                Represents a technology entity that can be targeted.
                                • id - optional; type long
                                  The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.
                                • name - optional; type string
                                  The name of the technology being targeting. This value is read-only and is assigned by Google.
                            Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.
                          • customTargeting - optional; type CustomCriteriaSet - extension of abstract type CustomCriteriaNode
                            A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                            A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                              • logicalOperator - optional; type CustomCriteriaSet.LogicalOperator - type string with restriction - enum { 'AND', 'OR' }
                                The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. This attribute is required.
                              • children - optional, unbounded; type CustomCriteriaNode
                                The custom criteria. This attribute is required.
                                A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.
                                  Specifies the collection of custom criteria that is targeted by the {@link LineItem}.

                                  Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression.

                                  {@code customTargeting} will have up to three levels of expressions including itself.

                                  The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children.

                                  The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}.

                                  The third level can only comprise of {@link CustomCriteria} objects.

                                  The resulting custom targeting tree would be of the form:

                                • userDomainTargeting - optional; type UserDomainTargeting
                                  Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.
                                  Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.
                                  • domains - optional, unbounded; type string
                                    The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.
                                  • targeted - optional; type boolean
                                    Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                • contentTargeting - optional; type ContentTargeting
                                  Used to target {@link LineItem}s to specific videos on a publisher's site.
                                  • targetedContentIds - optional, unbounded; type long
                                    The IDs of content being targeted by the {@code LineItem}.
                                  • excludedContentIds - optional, unbounded; type long
                                    The IDs of content being excluded by the {@code LineItem}.
                                  • targetedVideoContentBundleIds - optional, unbounded; type long
                                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.
                                  • excludedVideoContentBundleIds - optional, unbounded; type long
                                    A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.
                                  Specifies the video categories and individual videos targeted by the {@link LineItem}.
                                • videoPositionTargeting - optional; type VideoPositionTargeting
                                  Specifies targeting against video position types.
                                  Represents positions within and around a video where ads can be targeted to.

                                  Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback).

                                  Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.

                                  • targetedPositions - optional, unbounded; type VideoPositionTarget
                                    The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.
                                    Represents the options for targetable positions within a video.
                                    • videoPosition - optional; type VideoPosition
                                      Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.
                                      • positionType - optional; type VideoPosition.Type - type string with restriction - enum { 'UNKNOWN', 'ALL', 'PREROLL', 'MIDROLL', 'POSTROLL' }
                                        The type of video position (pre-roll, mid-roll, or post-roll).
                                      • midrollIndex - optional; type int
                                        The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.
                                      The video position to target. This attribute is required.
                                    • videoBumperType - optional; type VideoBumperType - type string with restriction - enum { 'BEFORE', 'AFTER' }
                                      The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.
                                    • videoPositionWithinPod - optional; type VideoPositionWithinPod
                                      Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.
                                      • index - optional; type int
                                        The specific index of the pod. The index is defined as:
                                        • 1 = first
                                        • 2 = second
                                        • 3 = third
                                        • ....
                                        • 100 = last
                                        100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.
                                        Positions over 100 are not supported.
                                      The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.
                                    • adSpotId - optional; type long
                                      A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.
                                • mobileApplicationTargeting - optional; type MobileApplicationTargeting
                                  Provides the ability to target or exclude users' mobile applications.
                                  • mobileApplicationIds - optional, unbounded; type long
                                    The {@link MobileApplication#id IDs} that are being targeted or excluded.
                                  • isTargeted - optional; type boolean
                                    Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.
                                  Specifies targeting against mobile applications.
                                • buyerUserListTargeting - optional; type BuyerUserListTargeting
                                  The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.
                                  • hasBuyerUserListTargeting - optional; type boolean
                                    Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.
                                  Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.
                                • inventoryUrlTargeting - optional; type InventoryUrlTargeting
                                  A collection of targeted inventory urls.
                                  • targetedUrls - optional, unbounded; type InventoryUrl
                                    The representation of an inventory Url that is used in targeting.
                                    • id - optional; type long
                                  • excludedUrls - optional, unbounded; type InventoryUrl
                                    The representation of an inventory Url that is used in targeting.
                                    • id - optional; type long
                                  Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.
                                • verticalTargeting - optional; type VerticalTargeting
                                  Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.
                                  Vertical targeting information.
                                  • targetedVerticalIds - optional, unbounded; type long
                                  • excludedVerticalIds - optional, unbounded; type long
                                • contentLabelTargeting - optional; type ContentLabelTargeting
                                  Content label targeting information.
                                  • excludedContentLabelIds - optional, unbounded; type long
                                  Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.
                                • requestPlatformTargeting - optional; type RequestPlatformTargeting
                                  Provides line items the ability to target the platform that requests and renders the ad.

                                  The following rules apply for {@link RequestPlatformTargeting}

                                  • {@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s.
                                  • {@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted.
                                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items.
                                  • {@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items.
                                  • targetedRequestPlatforms - optional, unbounded; type RequestPlatform - type string with restriction - enum { 'UNKNOWN', 'BROWSER', 'MOBILE_APP', 'VIDEO_PLAYER' }
                                  Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}.

                                  This value is modifiable for video line items, but read-only for non-video line items.

                                  This value is read-only for video line items generated from proposal line items.

                                • inventorySizeTargeting - optional; type InventorySizeTargeting
                                  Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.
                                  • isTargeted - optional; type boolean
                                    Whether the inventory sizes should be targeted or excluded.
                                  • targetedSizes - optional, unbounded; type TargetedSize
                                    A list of {@link TargetedSizeDto}s.
                                    A size that is targeted on a request.
                                    • size - optional; type Size
                                      Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}.

                                      For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.

                                      • width - optional; type int
                                        The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                      • height - optional; type int
                                        The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.
                                      • isAspectRatio - optional; type boolean
                                        Whether this size represents an aspect ratio.
                                  Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.
                              • additionalTerms - optional; type string
                                Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.
                              • adExchangeEnvironment - optional; type AdExchangeEnvironment - type string with restriction - enum { 'DISPLAY', 'VIDEO', 'GAMES', 'MOBILE', 'MOBILE_OUTSTREAM_VIDEO', 'DISPLAY_OUTSTREAM_VIDEO', 'UNKNOWN' }
                                Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.
                              • rfpType - optional; type RfpType - type string with restriction - enum { 'UNKNOWN', 'PROGRAMMATIC_GUARANTEED', 'PREFERRED_DEAL' }
                                Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.
                              The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.
                            • hasBuyerRfp - optional; type boolean
                              Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.
                            • deliveryPausingEnabled - optional; type boolean
                              Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.
                      Fault:
                      ApiException (wsdlsoap:fault, use = literal)Source code
                      ApiException type ApiExceptionFault
                      Exception class for holding a list of service errors.
                      Base class for exceptions.
                      • message - optional; type string
                        Error message.
                      • errors - optional, unbounded; type ApiError
                        The API error base class that provides details about an error that occurred while processing a service request.

                        The OGNL field path is provided for parsers to identify the request data element that may have caused the error.

                        • fieldPath - optional; type string
                          The OGNL field path to identify cause of error.
                        • fieldPathElements - optional, unbounded; type FieldPathElement
                          A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.
                          A segment of a field path. Each dot in a field path defines a new segment.
                          • field - optional; type string
                            The name of a field in lower camelcase. (e.g. "biddingStrategy")
                          • index - optional; type int
                            For list fields, this is a 0-indexed position in the list. Null for non-list fields.
                        • trigger - optional; type string
                          The data that caused the error.
                        • errorString - optional; type string
                          A simple string representation of the error and reason.
                        List of errors.
                      A fault element of type ApiException.

                  WSDL source code

                  <?xml version="1.0"?>
                  <!-- Generated file, do not edit -->
                  <!-- Copyright 2025 Google Inc. All Rights Reserved -->
                  <wsdl:definitions targetNamespace="https://www.google.com/apis/ads/publisher/v202502"
                  xmlns:tns="https://www.google.com/apis/ads/publisher/v202502"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
                  >
                  <wsdl:types>
                  <schema elementFormDefault="qualified" jaxb:version="1.0" targetNamespace="https://www.google.com/apis/ads/publisher/v202502"
                  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
                  >
                  <complexType abstract="true" name="ObjectValue">
                  <annotation>
                  <documentation>Contains an object value. <p> <b>This object is experimental! <code>ObjectValue</code> is an experimental, innovative, and rapidly changing new feature for Ad Manager. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to <code>ObjectValue</code>. We will inform the community when this feature is no longer experimental.</b></documentation>
                  </annotation>
                  </complexType>
                  <complexType name="AdUnitTargeting">
                  <annotation>
                  <documentation>Represents targeted or excluded ad units.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="adUnitId" type="xsd:string">
                  <annotation>
                  <documentation>Included or excluded ad unit id.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="includeDescendants" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether or not all descendants are included (or excluded) as part of including (or excluding) this ad unit. By default, the value is {@code true} which means targeting this ad unit will target all of its descendants.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType abstract="true" name="ApiError">
                  <annotation>
                  <documentation>The API error base class that provides details about an error that occurred while processing a service request. <p>The OGNL field path is provided for parsers to identify the request data element that may have caused the error.</p></documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="fieldPath" type="xsd:string">
                  <annotation>
                  <documentation>The OGNL field path to identify cause of error.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="fieldPathElements" type="tns:FieldPathElement">
                  <annotation>
                  <documentation>A parsed copy of the field path. For example, the field path "operations[1].operand" corresponds to this list: {FieldPathElement(field = "operations", index = 1), FieldPathElement(field = "operand", index = null)}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="trigger" type="xsd:string">
                  <annotation>
                  <documentation>The data that caused the error.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="errorString" type="xsd:string">
                  <annotation>
                  <documentation>A simple string representation of the error and reason.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ApiException">
                  <annotation>
                  <documentation>Exception class for holding a list of service errors.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="TechnologyTargeting">
                  <annotation>
                  <documentation>Provides {@link LineItem} objects the ability to target or exclude technologies.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="bandwidthGroupTargeting" type="tns:BandwidthGroupTargeting">
                  <annotation>
                  <documentation>The bandwidth groups being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="browserTargeting" type="tns:BrowserTargeting">
                  <annotation>
                  <documentation>The browsers being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="browserLanguageTargeting" type="tns:BrowserLanguageTargeting">
                  <annotation>
                  <documentation>The languages of browsers being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="deviceCapabilityTargeting" type="tns:DeviceCapabilityTargeting">
                  <annotation>
                  <documentation>The device capabilities being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="deviceCategoryTargeting" type="tns:DeviceCategoryTargeting">
                  <annotation>
                  <documentation>The device categories being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="deviceManufacturerTargeting" type="tns:DeviceManufacturerTargeting">
                  <annotation>
                  <documentation>The device manufacturers being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="mobileCarrierTargeting" type="tns:MobileCarrierTargeting">
                  <annotation>
                  <documentation>The mobile carriers being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="mobileDeviceTargeting" type="tns:MobileDeviceTargeting">
                  <annotation>
                  <documentation>The mobile devices being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="mobileDeviceSubmodelTargeting" type="tns:MobileDeviceSubmodelTargeting">
                  <annotation>
                  <documentation>The mobile device submodels being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="operatingSystemTargeting" type="tns:OperatingSystemTargeting">
                  <annotation>
                  <documentation>The operating systems being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="operatingSystemVersionTargeting" type="tns:OperatingSystemVersionTargeting">
                  <annotation>
                  <documentation>The operating system versions being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ApplicationException">
                  <annotation>
                  <documentation>Base class for exceptions.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="AppliedLabel">
                  <annotation>
                  <documentation>Represents a {@link Label} that can be applied to an entity. To negate an inherited label, create an {@code AppliedLabel} with {@code labelId} as the inherited label's ID and {@code isNegated} set to true.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="labelId" type="xsd:long">
                  <annotation>
                  <documentation>The ID of a created {@link Label}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isNegated" type="xsd:boolean">
                  <annotation>
                  <documentation>{@code isNegated} should be set to {@code true} to negate the effects of {@code labelId}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ArchiveProposals">
                  <annotation>
                  <documentation>The action used for archiving {@link Proposal} objects.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="AuthenticationError">
                  <annotation>
                  <documentation>An error for an exception that occurred when authenticating.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="BandwidthGroup">
                  <annotation>
                  <documentation>Represents a group of bandwidths that are logically organized by some well known generic names such as 'Cable' or 'DSL'.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="BandwidthGroupTargeting">
                  <annotation>
                  <documentation>Represents bandwidth groups that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether bandwidth groups should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="bandwidthGroups" type="tns:Technology">
                  <annotation>
                  <documentation>The bandwidth groups that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType abstract="true" name="BaseCustomFieldValue">
                  <annotation>
                  <documentation>The value of a {@link CustomField} for a particular entity.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="customFieldId" type="xsd:long">
                  <annotation>
                  <documentation>Id of the {@code CustomField} to which this value belongs. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="BillingError">
                  <annotation>
                  <documentation>Lists all errors associated with the billing settings of a proposal or proposal line item.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:BillingError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="BooleanValue">
                  <annotation>
                  <documentation>Contains a boolean value.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="Browser">
                  <annotation>
                  <documentation>Represents an internet browser.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="BrowserLanguage">
                  <annotation>
                  <documentation>Represents a Browser's language.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="BrowserLanguageTargeting">
                  <annotation>
                  <documentation>Represents browser languages that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether browsers languages should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="browserLanguages" type="tns:Technology">
                  <annotation>
                  <documentation>Browser languages that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="BrowserTargeting">
                  <annotation>
                  <documentation>Represents browsers that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether browsers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="browsers" type="tns:Technology">
                  <annotation>
                  <documentation>Browsers that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="BuyerRfp">
                  <annotation>
                  <documentation>Represents the buyer RFP information associated with a {@link Proposal} describing the requirements from the buyer.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="costPerUnit" type="tns:Money">
                  <annotation>
                  <documentation>CPM for the {@link Proposal} in question. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field should serve as guidance for publishers to create a {@link Proposal} with {@link LineItem}s reflecting this CPM. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="units" type="xsd:long">
                  <annotation>
                  <documentation>The number of impressions per day that a buyer wishes to see in the {@link Proposal} derived from the request for proposal in question. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="budget" type="tns:Money">
                  <annotation>
                  <documentation>Total amount of {@link Money} available to spend on this deal. In the case of Preferred Deal, the budget is equal to the maximum amount of money a buyer is willing to spend on a given {@link Proposal}, even though the budget might not be spent entirely, as impressions are not guaranteed. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="currencyCode" type="xsd:string">
                  <annotation>
                  <documentation>Currency code for this deal's budget and CPM. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="startDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The {@link DateTime} in which the proposed deal should start serving. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="endDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The {@link DateTime} in which the proposed deal should end serving. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="description" type="xsd:string">
                  <annotation>
                  <documentation>A description of the proposed deal. This can be used for the buyer to tell the publisher more detailed information about the deal in question. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="creativePlaceholders" type="tns:CreativePlaceholder">
                  <annotation>
                  <documentation>A list of inventory sizes in which creatives will be eventually served. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="targeting" type="tns:Targeting">
                  <annotation>
                  <documentation>Targeting information for the proposal in question. Currently this field only contains {@link GeoTargeting} information. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="additionalTerms" type="xsd:string">
                  <annotation>
                  <documentation>Additional terms of the deal in question. This field can be used to state more specific targeting information for the deal, as well as any additional information regarding this deal. Given that this field belongs to a request for proposal (for which initially a {@link Proposal} does not yet exist), this field can be populated by buyers to specify additional information that they wish publishers to incorporate into the {@link Proposal} derived from this request for proposal. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="adExchangeEnvironment" type="tns:AdExchangeEnvironment">
                  <annotation>
                  <documentation>Identifies the format of the inventory or "channel" through which the ad serves. Environments currently supported include {@link AdExchangeEnvironment#DISPLAY}, {@link AdExchangeEnvironment#VIDEO}, and {@link AdExchangeEnvironment#MOBILE}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="rfpType" type="tns:RfpType">
                  <annotation>
                  <documentation>Deal type; either Programmatic Guaranteed or Preferred Deal. This field corresponds to the type of {@link Proposal} that a buyer wishes to negotiate with a seller. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="BuyerUserListTargeting">
                  <annotation>
                  <documentation>The {@code BuyerUserListTargeting} associated with a programmatic {@link LineItem} or {@link ProposalLineItem} object.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="hasBuyerUserListTargeting" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether the programmatic {@code LineItem} or {@code ProposalLineItem} object has buyer user list targeting.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="CommonError">
                  <annotation>
                  <documentation>A place for common errors that can be used across services.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ContentTargeting">
                  <annotation>
                  <documentation>Used to target {@link LineItem}s to specific videos on a publisher's site.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedContentIds" type="xsd:long">
                  <annotation>
                  <documentation>The IDs of content being targeted by the {@code LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedContentIds" type="xsd:long">
                  <annotation>
                  <documentation>The IDs of content being excluded by the {@code LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedVideoContentBundleIds" type="xsd:long">
                  <annotation>
                  <documentation>A list of video content bundles, represented by {@link ContentBundle} IDs, that are being targeted by the {@code LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedVideoContentBundleIds" type="xsd:long">
                  <annotation>
                  <documentation>A list of video content bundles, represented by {@link ContentBundle} IDs, that are being excluded by the {@code LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="CreativePlaceholder">
                  <annotation>
                  <documentation>A {@code CreativePlaceholder} describes a slot that a creative is expected to fill. This is used primarily to help in forecasting, and also to validate that the correct creatives are associated with the line item. A {@code CreativePlaceholder} must contain a size, and it can optionally contain companions. Companions are only valid if the line item's environment type is {@link EnvironmentType#VIDEO_PLAYER}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="size" type="tns:Size">
                  <annotation>
                  <documentation>The dimensions that the creative is expected to have. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="creativeTemplateId" type="xsd:long">
                  <annotation>
                  <documentation>The native creative template ID. <p>This value is only required if {@link #creativeSizeType} is {@link CreativeSizeType#NATIVE}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="companions" type="tns:CreativePlaceholder">
                  <annotation>
                  <documentation>The companions that the creative is expected to have. This attribute can only be set if the line item it belongs to has a {@link LineItem#environmentType} of {@link EnvironmentType#VIDEO_PLAYER} or {@link LineItem#roadblockingType} of {@link RoadblockingType#CREATIVE_SET}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="appliedLabels" type="tns:AppliedLabel">
                  <annotation>
                  <documentation>The set of label frequency caps applied directly to this creative placeholder.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="effectiveAppliedLabels" type="tns:AppliedLabel">
                  <annotation>
                  <documentation>Contains the set of labels applied directly to this creative placeholder as well as those inherited from the creative template from which this creative placeholder was instantiated. This field is readonly and is assigned by Google.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="expectedCreativeCount" type="xsd:int">
                  <annotation>
                  <documentation>Expected number of creatives that will be uploaded corresponding to this creative placeholder. This estimate is used to improve the accuracy of forecasting; for example, if label frequency capping limits the number of times a creative may be served.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="creativeSizeType" type="tns:CreativeSizeType">
                  <annotation>
                  <documentation>Describes the types of sizes a creative can be. By default, the creative's size is {@link CreativeSizeType#PIXEL}, which is a dimension based size (width-height pair).</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="targetingName" type="xsd:string">
                  <annotation>
                  <documentation>The name of the {@link CreativeTargeting} for creatives this placeholder represents. <p>This attribute is optional. Specifying creative targeting here is for forecasting purposes only and has no effect on serving. The same creative targeting should be specified on a {@link LineItemCreativeAssociation} when associating a {@link Creative} with the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isAmpOnly" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicate if the expected creative of this placeholder has an AMP only variant. <p>This attribute is optional. It is for forecasting purposes only and has no effect on serving.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="CustomCriteria">
                  <annotation>
                  <documentation>A {@link CustomCriteria} object is used to perform custom criteria targeting on custom targeting keys of type {@link CustomTargetingKey.Type#PREDEFINED} or {@link CustomTargetingKey.Type#FREEFORM}.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:CustomCriteriaLeaf">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="keyId" type="xsd:long">
                  <annotation>
                  <documentation>The {@link CustomTargetingKey#id} of the {@link CustomTargetingKey} object that was created using {@link CustomTargetingService}. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="valueIds" type="xsd:long">
                  <annotation>
                  <documentation>The ids of {@link CustomTargetingValue} objects to target the custom targeting key with id {@link CustomCriteria#keyId}. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="operator" type="tns:CustomCriteria.ComparisonOperator">
                  <annotation>
                  <documentation>The comparison operator. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="CustomCriteriaSet">
                  <annotation>
                  <documentation>A {@link CustomCriteriaSet} comprises of a set of {@link CustomCriteriaNode} objects combined by the {@link CustomCriteriaSet.LogicalOperator#logicalOperator}. The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:CustomCriteriaNode">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="logicalOperator" type="tns:CustomCriteriaSet.LogicalOperator">
                  <annotation>
                  <documentation>The logical operator to be applied to {@link CustomCriteriaSet#children}. This attribute is required. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="children" type="tns:CustomCriteriaNode">
                  <annotation>
                  <documentation>The custom criteria. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="CustomFieldValue">
                  <annotation>
                  <documentation>The value of a {@link CustomField} that does not have a {@link CustomField#dataType} of {@link CustomFieldDataType#DROP_DOWN}.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:BaseCustomFieldValue">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="value" type="tns:Value">
                  <annotation>
                  <documentation>The value for this field. The appropriate type of {@code Value} is determined by the {@link CustomField#dataType} of the {@code CustomField} that this conforms to. <table> <tr><th>{@link CustomFieldDataType}</th><th>{@link Value} type</th></tr> <tr><td>{@link CustomFieldDataType#STRING STRING}</td><td>{@link TextValue}</td></tr> <tr><td>{@link CustomFieldDataType#NUMBER NUMBER}</td><td>{@link NumberValue}</td></tr> <tr><td>{@link CustomFieldDataType#TOGGLE TOGGLE}</td><td>{@link BooleanValue}</td></tr> </table></documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="CustomFieldValueError">
                  <annotation>
                  <documentation>Errors specific to editing custom field values</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="CmsMetadataCriteria">
                  <annotation>
                  <documentation>A {@code CmsMetadataCriteria} object is used to target {@code CmsMetadataValue} objects.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:CustomCriteriaLeaf">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="operator" type="tns:CmsMetadataCriteria.ComparisonOperator">
                  <annotation>
                  <documentation>The comparison operator. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="cmsMetadataValueIds" type="xsd:long">
                  <annotation>
                  <documentation>The ids of {@link CmsMetadataValue} objects used to target CMS metadata. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType abstract="true" name="CustomCriteriaLeaf">
                  <annotation>
                  <documentation>A {@link CustomCriteriaLeaf} object represents a generic leaf of {@link CustomCriteria} tree structure.</documentation>
                  </annotation>
                  </complexType>
                  <complexType abstract="true" name="CustomCriteriaNode">
                  <annotation>
                  <documentation>A {@link CustomCriteriaNode} is a node in the custom targeting tree. A custom criteria node can either be a {@link CustomCriteriaSet} (a non-leaf node) or a {@link CustomCriteria} (a leaf node). The custom criteria targeting tree is subject to the rules defined on {@link Targeting#customTargeting}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="AudienceSegmentCriteria">
                  <annotation>
                  <documentation>An {@link AudienceSegmentCriteria} object is used to target {@link AudienceSegment} objects.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:CustomCriteriaLeaf">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="operator" type="tns:AudienceSegmentCriteria.ComparisonOperator">
                  <annotation>
                  <documentation>The comparison operator. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="audienceSegmentIds" type="xsd:long">
                  <annotation>
                  <documentation>The ids of {@link AudienceSegment} objects used to target audience segments. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="Date">
                  <annotation>
                  <documentation>Represents a date.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="DateTimeRange">
                  <annotation>
                  <documentation>Represents a range of dates (combined with time of day) that has an upper and/or lower bound.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="startDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The start date time of this range. This field is optional and if it is not set then there is no lower bound on the date time range. If this field is not set then {@code endDateTime} must be specified.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="endDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The end date time of this range. This field is optional and if it is not set then there is no upper bound on the date time range. If this field is not set then {@code startDateTime} must be specified.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DateTimeValue">
                  <annotation>
                  <documentation>Contains a date-time value.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="DateValue">
                  <annotation>
                  <documentation>Contains a date value.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="DayPart">
                  <annotation>
                  <documentation>{@code DayPart} represents a time-period within a day of the week which is targeted by a {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="dayOfWeek" type="tns:DayOfWeek">
                  <annotation>
                  <documentation>Day of the week the target applies to. This field is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="startTime" type="tns:TimeOfDay">
                  <annotation>
                  <documentation>Represents the start time of the targeted period (inclusive).</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="endTime" type="tns:TimeOfDay">
                  <annotation>
                  <documentation>Represents the end time of the targeted period (exclusive).</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DayPartTargeting">
                  <annotation>
                  <documentation>Modify the delivery times of line items for particular days of the week. By default, line items are served at all days and times.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="dayParts" type="tns:DayPart">
                  <annotation>
                  <documentation>Specifies days of the week and times at which a {@code LineItem} will be delivered. <p>If targeting all days and times, this value will be ignored.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="timeZone" type="tns:DeliveryTimeZone">
                  <annotation>
                  <documentation>Specifies the time zone to be used for delivering {@link LineItem} objects. This attribute is optional and defaults to {@link DeliveryTimeZone#BROWSER}. <p>Setting this has no effect if targeting all days and times.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DealError">
                  <annotation>
                  <documentation>Errors associated with creating or updating programmatic {@link Proposal proposals}.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:DealError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="DeviceCapability">
                  <annotation>
                  <documentation>Represents a capability of a physical device.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="DeviceCapabilityTargeting">
                  <annotation>
                  <documentation>Represents device capabilities that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedDeviceCapabilities" type="tns:Technology">
                  <annotation>
                  <documentation>Device capabilities that are being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedDeviceCapabilities" type="tns:Technology">
                  <annotation>
                  <documentation>Device capabilities that are being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DeviceCategory">
                  <annotation>
                  <documentation>Represents the category of a device.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="DeviceCategoryTargeting">
                  <annotation>
                  <documentation>Represents device categories that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedDeviceCategories" type="tns:Technology">
                  <annotation>
                  <documentation>Device categories that are being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedDeviceCategories" type="tns:Technology">
                  <annotation>
                  <documentation>Device categories that are being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DeviceManufacturer">
                  <annotation>
                  <documentation>Represents a mobile device's manufacturer.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="DeviceManufacturerTargeting">
                  <annotation>
                  <documentation>Represents device manufacturer that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether device manufacturers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="deviceManufacturers" type="tns:Technology">
                  <annotation>
                  <documentation>Device manufacturers that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="DiscardLocalVersionEdits">
                  <annotation>
                  <documentation>The action for reverting the local {@link Proposal} modifications to reflect the latest terms and private data in Marketplace.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="DropDownCustomFieldValue">
                  <annotation>
                  <documentation>A {@link CustomFieldValue} for a {@link CustomField} that has a {@link CustomField#dataType} of {@link CustomFieldDataType#DROP_DOWN}</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:BaseCustomFieldValue">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="customFieldOptionId" type="xsd:long">
                  <annotation>
                  <documentation>The {@link CustomFieldOption#id ID} of the {@link CustomFieldOption} for this value.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="EditProposalsForNegotiation">
                  <annotation>
                  <documentation>Opens the fields of a {@link Proposal} for edit. <p>This proposal will not receive updates from Marketplace while it's open for edit. If the buyer updates the proposal while it is open for local editing, Google will set {@link ProposalMarketplaceInfo#isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes, and then perform this action to start making your edits again.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="EntityLimitReachedError">
                  <annotation>
                  <documentation>An error that occurs when creating an entity if the limit on the number of allowed entities for a network has already been reached.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ExchangeRateError">
                  <annotation>
                  <documentation>Lists all errors associated with {@link ExchangeRate} objects.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="FeatureError">
                  <annotation>
                  <documentation>Errors related to feature management. If you attempt using a feature that is not available to the current network you'll receive a FeatureError with the missing feature as the trigger.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="FieldPathElement">
                  <annotation>
                  <documentation>A segment of a field path. Each dot in a field path defines a new segment.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="field" type="xsd:string">
                  <annotation>
                  <documentation>The name of a field in lower camelcase. (e.g. "biddingStrategy")</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="index" type="xsd:int">
                  <annotation>
                  <documentation>For list fields, this is a 0-indexed position in the list. Null for non-list fields.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ForecastError">
                  <annotation>
                  <documentation>Errors that can result from a forecast request.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="GeoTargeting">
                  <annotation>
                  <documentation>Provides line items the ability to target geographical locations. By default, line items target all countries and their subdivisions. With geographical targeting, you can target line items to specific countries, regions, metro areas, and cities. You can also exclude the same. <p>The following rules apply for geographical targeting: <ul> <li>You cannot target and exclude the same location. <li>You cannot target a child whose parent has been excluded. For example, if the state of Illinois has been excluded, then you cannot target Chicago. <li>You must not target a location if you are also targeting its parent. For example, if you are targeting New York City, you must not have the state of New York as one of the targeted locations. <li>You cannot explicitly define inclusions or exclusions that are already implicit. For example, if you explicitly include California, you implicitly exclude all other states. You therefore cannot explicitly exclude Florida, because it is already implicitly excluded. Conversely if you explicitly exclude Florida, you cannot explicitly include California. </ul></documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedLocations" type="tns:Location">
                  <annotation>
                  <documentation>The geographical locations being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedLocations" type="tns:Location">
                  <annotation>
                  <documentation>The geographical locations being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="InternalApiError">
                  <annotation>
                  <documentation>Indicates that a server-side error has occured. {@code InternalApiError}s are generally not the result of an invalid request or message sent by the client.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="InventorySizeTargeting">
                  <annotation>
                  <documentation>Represents a collection of targeted and excluded inventory sizes. This is currently only available on {@link YieldGroup} and {@link TrafficDataRequest}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether the inventory sizes should be targeted or excluded.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="InventoryTargeting">
                  <annotation>
                  <documentation>A collection of targeted and excluded ad units and placements.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedAdUnits" type="tns:AdUnitTargeting">
                  <annotation>
                  <documentation>A list of targeted {@link AdUnitTargeting}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedAdUnits" type="tns:AdUnitTargeting">
                  <annotation>
                  <documentation>A list of excluded {@link AdUnitTargeting}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedPlacementIds" type="xsd:long">
                  <annotation>
                  <documentation>A list of targeted {@link Placement} ids.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="InventoryUrl">
                  <annotation>
                  <documentation>The representation of an inventory Url that is used in targeting.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="LabelEntityAssociationError">
                  <annotation>
                  <documentation>Errors specific to creating label entity associations.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="LineItemOperationError">
                  <annotation>
                  <documentation>Lists all errors for executing operations on line items</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="Location">
                  <annotation>
                  <documentation>A {@link Location} represents a geographical entity that can be targeted. If a location type is not available because of the API version you are using, the location will be represented as just the base class, otherwise it will be sub-classed correctly.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                  <annotation>
                  <documentation>Uniquely identifies each {@code Location}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="type" type="xsd:string">
                  <annotation>
                  <documentation>The location type for this geographical entity (ex. "COUNTRY", "CITY", "STATE", "COUNTY", etc.)</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="canonicalParentId" type="xsd:int">
                  <annotation>
                  <documentation>The nearest location parent's ID for this geographical entity.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="displayName" type="xsd:string">
                  <annotation>
                  <documentation>The localized name of the geographical entity.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MarketplaceComment">
                  <annotation>
                  <documentation>A comment associated with a programmatic {@link Proposal} that has been sent to Marketplace.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="proposalId" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@link Proposal} the comment belongs to.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="comment" type="xsd:string">
                  <annotation>
                  <documentation>The comment made on the {@link Proposal}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="creationTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The creation {@link DateTime} of this {@code MarketplaceComment}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="createdBySeller" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether the {@code MarketplaceComment} was created by seller.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MarketplaceCommentPage">
                  <annotation>
                  <documentation>Captures a page of {@link MarketplaceComment} objects.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
                  <annotation>
                  <documentation>The absolute index in the total result set on which this page begins.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="results" type="tns:MarketplaceComment">
                  <annotation>
                  <documentation>The collection of results contained within this page.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ProposalMarketplaceInfo">
                  <annotation>
                  <documentation>Marketplace info for a proposal with a corresponding order in Marketplace.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="marketplaceId" type="xsd:string">
                  <annotation>
                  <documentation>The marketplace ID of this proposal. This is a shared ID between Ad Manager and the buy-side platform. This value is null if the proposal has not been sent to the buyer. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="hasLocalVersionEdits" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether the non-free-editable fields of a {@link Proposal} are opened for edit. A proposal that is open for edit will not receive buyer updates from Marketplace. If the buyer updates the proposal while this is open for local editing, Google will set {@link #isNewVersionFromBuyer} to {@code true}. You will then need to call {@link DiscardProposalDrafts} to revert your edits to get the buyer's latest changes. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="negotiationStatus" type="tns:NegotiationStatus">
                  <annotation>
                  <documentation>The negotiation status of the {@link Proposal}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="marketplaceComment" type="xsd:string">
                  <annotation>
                  <documentation>The comment on the {@link Proposal} to be sent to the buyer.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isNewVersionFromBuyer" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates that the buyer has made updates to the proposal on Marketplace. This attribute is only meaningful if the proposal is open for edit (i.e., {@link #hasLocalVersionEdits} is {@code true}) This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="buyerAccountId" type="xsd:long">
                  <annotation>
                  <documentation>The Authorized Buyers ID of the buyer that this {@code Proposal} is being negotiated with. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="partnerClientId" type="xsd:string">
                  <annotation>
                  <documentation>The ID used to represent Display & Video 360 client buyer partner ID (if Display & Video 360) or Authorized Buyers client buyer account ID. This field is readonly and assigned by Google. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MobileApplicationTargeting">
                  <annotation>
                  <documentation>Provides the ability to target or exclude users' mobile applications.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="mobileApplicationIds" type="xsd:long">
                  <annotation>
                  <documentation>The {@link MobileApplication#id IDs} that are being targeted or excluded.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether mobile apps should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MobileCarrier">
                  <annotation>
                  <documentation>Represents a mobile carrier. Carrier targeting is only available to Ad Manager mobile publishers. For a list of current mobile carriers, you can use {@link PublisherQueryLanguageService#mobile_carrier}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="MobileCarrierTargeting">
                  <annotation>
                  <documentation>Represents mobile carriers that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether mobile carriers should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="mobileCarriers" type="tns:Technology">
                  <annotation>
                  <documentation>Mobile carriers that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MobileDevice">
                  <annotation>
                  <documentation>Represents a Mobile Device.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="MobileDeviceSubmodel">
                  <annotation>
                  <documentation>Represents a mobile device submodel.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="MobileDeviceSubmodelTargeting">
                  <annotation>
                  <documentation>Represents mobile devices that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedMobileDeviceSubmodels" type="tns:Technology">
                  <annotation>
                  <documentation>Mobile device submodels that are being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedMobileDeviceSubmodels" type="tns:Technology">
                  <annotation>
                  <documentation>Mobile device submodels that are being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="MobileDeviceTargeting">
                  <annotation>
                  <documentation>Represents mobile devices that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedMobileDevices" type="tns:Technology">
                  <annotation>
                  <documentation>Mobile devices that are being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedMobileDevices" type="tns:Technology">
                  <annotation>
                  <documentation>Mobile devices that are being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="Money">
                  <annotation>
                  <documentation>Represents a money amount.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="currencyCode" type="xsd:string">
                  <annotation>
                  <documentation>Three letter currency code in string format.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="microAmount" type="xsd:long">
                  <annotation>
                  <documentation>Money values are always specified in terms of micros which are a millionth of the fundamental currency unit. For US dollars, $1 is 1,000,000 micros.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="NotNullError">
                  <annotation>
                  <documentation>Caused by supplying a null value for an attribute that cannot be null.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NotNullError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="NullError">
                  <annotation>
                  <documentation>Errors associated with violation of a NOT NULL check.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NullError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="NumberValue">
                  <annotation>
                  <documentation>Contains a numeric value.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:Value">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="value" type="xsd:string">
                  <annotation>
                  <documentation>The numeric value represented as a string.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="OperatingSystem">
                  <annotation>
                  <documentation>Represents an Operating System, such as Linux, Mac OS or Windows.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="OperatingSystemTargeting">
                  <annotation>
                  <documentation>Represents operating systems that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="isTargeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether operating systems should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="operatingSystems" type="tns:Technology">
                  <annotation>
                  <documentation>Operating systems that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="OperatingSystemVersion">
                  <annotation>
                  <documentation>Represents a specific version of an operating system.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:Technology">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="majorVersion" type="xsd:int">
                  <annotation>
                  <documentation>The operating system major version.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="minorVersion" type="xsd:int">
                  <annotation>
                  <documentation>The operating system minor version.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="microVersion" type="xsd:int">
                  <annotation>
                  <documentation>The operating system micro version.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="OperatingSystemVersionTargeting">
                  <annotation>
                  <documentation>Represents operating system versions that are being targeted or excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedOperatingSystemVersions" type="tns:Technology">
                  <annotation>
                  <documentation>Operating system versions that are being targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="excludedOperatingSystemVersions" type="tns:Technology">
                  <annotation>
                  <documentation>Operating system versions that are being excluded by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ParseError">
                  <annotation>
                  <documentation>Lists errors related to parsing.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:ParseError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="PauseProposals">
                  <annotation>
                  <documentation>The action used for pausing programmatic {@link Proposal} objects.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ProposalAction">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="xsd:string">
                  <annotation>
                  <documentation>Reason to describe why the {@link Proposal} is being paused.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="ProgrammaticError">
                  <annotation>
                  <documentation>Errors associated with programmatic line items.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType abstract="true" name="ProposalAction">
                  <annotation>
                  <documentation>Represents the actions that can be performed on {@link Proposal} objects.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ProposalActionError">
                  <annotation>
                  <documentation>Lists all errors associated with performing actions on {@link Proposal} objects.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="ProposalCompanyAssociation">
                  <annotation>
                  <documentation>A {@code ProposalCompanyAssociation} represents a {@link Company} associated with the {@link Proposal} and a set of {@link Contact} objects belonging to the company.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="companyId" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@link Company} associated with the {@link Proposal}. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="type" type="tns:ProposalCompanyAssociationType">
                  <annotation>
                  <documentation>The association type of the {@link Company} and {@link Proposal}. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="contactIds" type="xsd:long">
                  <annotation>
                  <documentation>List of unique IDs for {@link Contact} objects of the {@link Company}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="Proposal">
                  <annotation>
                  <documentation>A {@code Proposal} represents an agreement between an interactive advertising seller and a buyer that specifies the details of an advertising campaign.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@code Proposal}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isProgrammatic" type="xsd:boolean">
                  <annotation>
                  <documentation>Flag that specifies whether this {@code Proposal} is for programmatic deals. This value is default to {@code false}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="dfpOrderId" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of corresponding {@link Order}. This will be {@code null} if the {@code Proposal} has not been pushed to Ad Manager. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                  <annotation>
                  <documentation>The name of the {@code Proposal}. This value has a maximum length of 255 characters. This value is copied to {@link Order#name} when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="startDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The date and time at which the order and line items associated with the {@code Proposal} are eligible to begin serving. This attribute is derived from the proposal line item of the proposal which has the earliest {@link ProposalLineItem#startDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have a start time. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="endDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The date and time at which the order and line items associated with the {@code Proposal} stop being served. This attribute is derived from the proposal line item of the proposal which has the latest {@link ProposalLineItem#endDateTime}. This attribute will be null, if this proposal has no related line items, or none of its line items have an end time. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="status" type="tns:ProposalStatus">
                  <annotation>
                  <documentation>The status of the {@code Proposal}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isArchived" type="xsd:boolean">
                  <annotation>
                  <documentation>The archival status of the {@code Proposal}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="advertiser" type="tns:ProposalCompanyAssociation">
                  <annotation>
                  <documentation>The advertiser, to which this {@code Proposal} belongs, and a set of {@link Contact} objects associated with the advertiser. The {@link ProposalCompanyAssociation#type} of this attribute should be {@link ProposalCompanyAssociationType#ADVERTISER}. This attribute is required when the proposal turns into an order, and its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#advertiserId}. This attribute becomes readonly once the {@code Proposal} has been pushed.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="agencies" type="tns:ProposalCompanyAssociation">
                  <annotation>
                  <documentation>List of agencies and the set of {@link Contact} objects associated with each agency. This attribute is optional. A {@code Proposal} only has at most one {@link Company} with {@link ProposalCompanyAssociationType#PRIMARY_AGENCY} type, but a {@link Company} can appear more than once with different {@link ProposalCompanyAssociationType} values. If primary agency exists, its {@link ProposalCompanyAssociation#companyId} will be copied to {@link Order#agencyId} when the proposal turns into an order.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="internalNotes" type="xsd:string">
                  <annotation>
                  <documentation>Provides any additional notes that may annotate the {@code Proposal}. This attribute is optional and has a maximum length of 65,535 characters. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="primarySalesperson" type="tns:SalespersonSplit">
                  <annotation>
                  <documentation>The primary salesperson who brokered the transaction with the {@link #advertiser}. This attribute is required when the proposal turns into an order. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="salesPlannerIds" type="xsd:long">
                  <annotation>
                  <documentation>List of unique IDs of {@link User} objects who are the sales planners of the {@code Proposal}. This attribute is optional. A proposal could have 8 sales planners at most. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="primaryTraffickerId" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@link User} who is primary trafficker and is responsible for trafficking the {@code Proposal}. This attribute is required when the proposal turns into an order, and will be copied to {@link Order#primaryTraffickerId} . This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="sellerContactIds" type="xsd:long">
                  <annotation>
                  <documentation>{@link User users} who are the seller's contacts.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="appliedTeamIds" type="xsd:long">
                  <annotation>
                  <documentation>The IDs of all teams that the {@code Proposal} is on directly. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="customFieldValues" type="tns:BaseCustomFieldValue">
                  <annotation>
                  <documentation>The values of the custom fields associated with the {@code Proposal}. This attribute is optional. This attribute can be configured as editable after the proposal has been submitted. Please check with your network administrator for editable fields configuration.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="appliedLabels" type="tns:AppliedLabel">
                  <annotation>
                  <documentation>The set of labels applied directly to the {@code Proposal}. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="effectiveAppliedLabels" type="tns:AppliedLabel">
                  <annotation>
                  <documentation>Contains the set of labels applied directly to the proposal as well as those inherited ones. If a label has been negated, only the negated label is returned. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="currencyCode" type="xsd:string">
                  <annotation>
                  <documentation>The currency code of this {@code Proposal}. This attribute is optional and defaults to network's currency code.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isSold" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether the proposal has been sold, i.e., corresponds to whether the status of an {@link Order} is {@link OrderStatus#APPROVED} or {@link OrderStatus#PAUSED}. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="lastModifiedDateTime" type="tns:DateTime">
                  <annotation>
                  <documentation>The date and time this {@code Proposal} was last modified. This attribute is read-only.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="marketplaceInfo" type="tns:ProposalMarketplaceInfo">
                  <annotation>
                  <documentation>The marketplace info of this proposal if it has a corresponding order in Marketplace.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="buyerRfp" type="tns:BuyerRfp">
                  <annotation>
                  <documentation>The buyer RFP associated with this {@code Proposal}, which is optional. This field will be null if the proposal is not initiated from RFP.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="hasBuyerRfp" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether a {@link Proposal} contains a {@link BuyerRfp} field. If this field is true, it indicates that the {@link Proposal} in question orignated from a buyer.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="deliveryPausingEnabled" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether pausing is consented for the {@code Proposal}. This field is optional and defaults to true. If false, it indicates that the buyer and the seller agree that the proposal should not be paused.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="ProposalError">
                  <annotation>
                  <documentation>Lists all errors associated with proposals.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:ProposalError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="ProposalLineItemError">
                  <annotation>
                  <documentation>Lists all errors associated with proposal line items.</documentation>
                  </annotation>
                  <complexContent></complexContent>
                  </complexType>
                  <complexType name="ProposalLineItemMakegoodError">
                  <annotation>
                  <documentation>Lists all errors for makegood proposal line items.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ProposalLineItemProgrammaticError">
                  <annotation>
                  <documentation>Errors associated with programmatic {@link ProposalLineItem proposal line items}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ProposalPage">
                  <annotation>
                  <documentation>Captures a page of {@link Proposal} objects.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="totalResultSetSize" type="xsd:int">
                  <annotation>
                  <documentation>The size of the total result set to which this page belongs.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
                  <annotation>
                  <documentation>The absolute index in the total result set on which this page begins.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="results" type="tns:Proposal">
                  <annotation>
                  <documentation>The collection of proposals contained within this page.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="PublisherQueryLanguageContextError">
                  <annotation>
                  <documentation>An error that occurs while executing a PQL query contained in a {@link Statement} object.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="PublisherQueryLanguageSyntaxError">
                  <annotation>
                  <documentation>An error that occurs while parsing a PQL query contained in a {@link Statement} object.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="QuotaError">
                  <annotation>
                  <documentation>Describes a client-side error on which a user is attempting to perform an action to which they have no quota remaining.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RangeError">
                  <annotation>
                  <documentation>A list of all errors associated with the Range constraint.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RequestBuyerAcceptance">
                  <annotation>
                  <documentation>The action used to request acceptance from the buyer for the {@link Proposal} through Marketplace. This action does check forecasting unless {@link #allowOverbook} is set to {@code true}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RequestBuyerReview">
                  <annotation>
                  <documentation>The action used to request buyer review for the {@link Proposal}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RequestPlatformTargeting">
                  <annotation>
                  <documentation>Provides line items the ability to target the platform that requests and renders the ad. <p>The following rules apply for {@link RequestPlatformTargeting} <ul> <li>{@link RequestPlatformTargeting} must be specified for {@link ProposalLineItem}s. <li>{@link RequestPlatformTargeting} must be specified for video line items. Empty values for {@link RequestPlatformTargeting#targetedRequestPlatforms} mean that all request platforms will be targeted. <li>{@link RequestPlatformTargeting} is read-only and assigned by Google for non-video line items. <li>{@link RequestPlatformTargeting} is read-only and assigned by Google for line items generated from proposal line items. </ul></documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RequiredCollectionError">
                  <annotation>
                  <documentation>A list of all errors to be used for validating sizes of collections.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="RequiredError">
                  <annotation>
                  <documentation>Errors due to missing required field.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RequiredError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="RequiredNumberError">
                  <annotation>
                  <documentation>A list of all errors to be used in conjunction with required number validators.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ReserveProposals">
                  <annotation>
                  <documentation>The action to reserve inventory for {@link Proposal} objects. It does not allow overbooking unless {@link #allowOverbook} is set to {@code true}.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="ResumeProposals">
                  <annotation>
                  <documentation>The action used for resuming programmatic {@link Proposal} objects.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="SalespersonSplit">
                  <annotation>
                  <documentation>A {@code SalespersonSplit} represents a salesperson.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="userId" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@link User} responsible for the sales of the {@link Proposal}. <span class="constraint Required">This attribute is required.</span></documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="AudienceSegmentError">
                  <annotation>
                  <documentation>Errors that could occur on audience segment related requests.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="SetValue">
                  <annotation>
                  <documentation>Contains a set of {@link Value Values}. May not contain duplicates.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:Value">
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="values" type="tns:Value">
                  <annotation>
                  <documentation>The values. They must all be the same type of {@code Value} and not contain duplicates.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="Size">
                  <annotation>
                  <documentation>Represents the dimensions of an {@link AdUnit}, {@link LineItem} or {@link Creative}. <p>For interstitial size (out-of-page), native, ignored and fluid size, {@link Size} must be 1x1.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="width" type="xsd:int">
                  <annotation>
                  <documentation>The width of the {@link AdUnit}, {@link LineItem} or {@link Creative}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="height" type="xsd:int">
                  <annotation>
                  <documentation>The height of the {@link AdUnit}, {@link LineItem} or {@link Creative}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="isAspectRatio" type="xsd:boolean">
                  <annotation>
                  <documentation>Whether this size represents an aspect ratio.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="SoapRequestHeader">
                  <annotation>
                  <documentation>Represents the SOAP request header used by API requests.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="networkCode" type="xsd:string">
                  <annotation>
                  <documentation>The network code to use in the context of a request.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="applicationName" type="xsd:string">
                  <annotation>
                  <documentation>The name of client library application.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="Statement">
                  <annotation>
                  <documentation>Captures the {@code WHERE}, {@code ORDER BY} and {@code LIMIT} clauses of a PQL query. Statements are typically used to retrieve objects of a predefined domain type, which makes SELECT clause unnecessary. <p> An example query text might be {@code "WHERE status = 'ACTIVE' ORDER BY id LIMIT 30"}. </p> <p> Statements support bind variables. These are substitutes for literals and can be thought of as input parameters to a PQL query. </p> <p> An example of such a query might be {@code "WHERE id = :idValue"}. </p> <p> Statements also support use of the LIKE keyword. This provides wildcard string matching. </p> <p> An example of such a query might be {@code "WHERE name LIKE '%searchString%'"}. </p> The value for the variable idValue must then be set with an object of type {@link Value}, e.g., {@link NumberValue}, {@link TextValue} or {@link BooleanValue}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="query" type="xsd:string">
                  <annotation>
                  <documentation>Holds the query in PQL syntax. The syntax is:<br> <code>[WHERE <condition> {[AND | OR] <condition> ...}]</code><br> <code>[ORDER BY <property> [ASC | DESC]]</code><br> <code>[LIMIT {[<offset>,] <count>} | {<count> OFFSET <offset>}]</code><br> <p> <code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> {< | <= | > | >= | = | != } <value></code><br> <code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> {< | <= | > | >= | = | != } <bind variable></code><br> <code><condition> := <property> IN <list></code><br> <code><condition> := <property> IS NULL</code><br> <code><condition> := <property> LIKE <wildcard%match></code><br> <code><bind variable> := :<name></code><br> </p></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="unbounded" minOccurs="0" name="values" type="tns:String_ValueMapEntry">
                  <annotation>
                  <documentation>Holds keys and values for bind variables and their values. The key is the name of the bind variable. The value is the literal value of the variable. <p> In the example {@code "WHERE status = :bindStatus ORDER BY id LIMIT 30"}, the bind variable, represented by {@code :bindStatus} is named {@code bindStatus}, which would also be the parameter map key. The bind variable's value would be represented by a parameter map value of type {@link TextValue}. The final result, for example, would be an entry of {@code "bindStatus" => StringParam("ACTIVE")}. </p></documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="StatementError">
                  <annotation>
                  <documentation>An error that occurs while parsing {@link Statement} objects.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:StatementError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="StringFormatError">
                  <annotation>
                  <documentation>A list of error code for reporting invalid content of input strings.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="StringLengthError">
                  <annotation>
                  <documentation>Errors for Strings which do not meet given length constraints.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="TargetedSize">
                  <annotation>
                  <documentation>A size that is targeted on a request.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="Targeting">
                  <annotation>
                  <documentation>Contains targeting criteria for {@link LineItem} objects. See {@link LineItem#targeting}.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="geoTargeting" type="tns:GeoTargeting">
                  <annotation>
                  <documentation>Specifies what geographical locations are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="inventoryTargeting" type="tns:InventoryTargeting">
                  <annotation>
                  <documentation>Specifies what inventory is targeted by the {@link LineItem}. This attribute is required. The line item must target at least one ad unit or placement.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="dayPartTargeting" type="tns:DayPartTargeting">
                  <annotation>
                  <documentation>Specifies the days of the week and times that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="dateTimeRangeTargeting" type="tns:DateTimeRangeTargeting">
                  <annotation>
                  <documentation>Specifies the dates and time ranges that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="technologyTargeting" type="tns:TechnologyTargeting">
                  <annotation>
                  <documentation>Specifies the browsing technologies that are targeted by the {@link LineItem}. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="customTargeting" type="tns:CustomCriteriaSet">
                  <annotation>
                  <documentation>Specifies the collection of custom criteria that is targeted by the {@link LineItem}. <p>Once the {@link LineItem} is updated or modified with custom targeting, the server may return a normalized, but equivalent representation of the custom targeting expression. <p>{@code customTargeting} will have up to three levels of expressions including itself. <p>The top level {@code CustomCriteriaSet} i.e. the {@code customTargeting} object can only contain a {@link CustomCriteriaSet.LogicalOperator#OR} of all its children. <p>The second level of {@code CustomCriteriaSet} objects can only contain {@link CustomCriteriaSet.LogicalOperator#AND} of all their children. If a {@link CustomCriteria} is placed on this level, the server will wrap it in a {@link CustomCriteriaSet}. <p>The third level can only comprise of {@link CustomCriteria} objects. <p>The resulting custom targeting tree would be of the form: <br> <img src="https://chart.apis.google.com/chart?cht=gv&chl=digraph{customTargeting_LogicalOperator_OR-%3ECustomCriteriaSet_LogicalOperator_AND_1-%3ECustomCriteria_1;CustomCriteriaSet_LogicalOperator_AND_1-%3Eellipsis1;customTargeting_LogicalOperator_OR-%3Eellipsis2;ellipsis1[label=%22...%22,shape=none,fontsize=32];ellipsis2[label=%22...%22,shape=none,fontsize=32]}&chs=450x200"/></documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="userDomainTargeting" type="tns:UserDomainTargeting">
                  <annotation>
                  <documentation>Specifies the domains or subdomains that are targeted or excluded by the {@link LineItem}. Users visiting from an IP address associated with those domains will be targeted or excluded. This attribute is optional.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="contentTargeting" type="tns:ContentTargeting">
                  <annotation>
                  <documentation>Specifies the video categories and individual videos targeted by the {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="videoPositionTargeting" type="tns:VideoPositionTargeting">
                  <annotation>
                  <documentation>Specifies targeting against video position types.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="buyerUserListTargeting" type="tns:BuyerUserListTargeting">
                  <annotation>
                  <documentation>Specifies whether buyer user lists are targeted on a programmatic {@link LineItem} or {@link ProposalLineItem}. This attribute is readonly and is populated by Google.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="inventoryUrlTargeting" type="tns:InventoryUrlTargeting">
                  <annotation>
                  <documentation>Specifies the URLs that are targeted by the entity. This is currently only supported by {@link YieldGroup}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="verticalTargeting" type="tns:VerticalTargeting">
                  <annotation>
                  <documentation>Specifies the verticals that are targeted by the entity. The IDs listed here correspond to the IDs in the AD_CATEGORY table of type VERTICAL.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="contentLabelTargeting" type="tns:ContentLabelTargeting">
                  <annotation>
                  <documentation>Specifies the content labels that are excluded by the entity. The IDs listed here correspond to the IDs in the CONTENT_LABEL table.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="requestPlatformTargeting" type="tns:RequestPlatformTargeting">
                  <annotation>
                  <documentation>Specifies the request platforms that are targeted by the {@link LineItem}. This attribute is required for video line items and for {@link ProposalLineItem}. <p>This value is modifiable for video line items, but read-only for non-video line items. <p>This value is read-only for video line items generated from proposal line items.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="inventorySizeTargeting" type="tns:InventorySizeTargeting">
                  <annotation>
                  <documentation>Specifies the sizes that are targeted by the entity. This is currently only supported on {@link YieldGroup} and {@link TrafficDataRequest}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="TeamError">
                  <annotation>
                  <documentation>Errors related to a Team.</documentation>
                  </annotation>
                  <complexContent>
                  <extension base="tns:ApiError">
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="reason" type="tns:TeamError.Reason">
                  <annotation>
                  <documentation>The error reason represented by an enum.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </extension>
                  </complexContent>
                  </complexType>
                  <complexType name="Technology">
                  <annotation>
                  <documentation>Represents a technology entity that can be targeted.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
                  <annotation>
                  <documentation>The unique ID of the {@code Technology}. This value is required for all forms of {@code TechnologyTargeting}.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
                  <annotation>
                  <documentation>The name of the technology being targeting. This value is read-only and is assigned by Google.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="TerminateNegotiations">
                  <annotation>
                  <documentation>The action for marking all negotiations on the {@link Proposal} as terminated in Marketplace.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="TextValue">
                  <annotation>
                  <documentation>Contains a string value.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="TimeOfDay">
                  <annotation>
                  <documentation>Represents a specific time in a day.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="hour" type="xsd:int">
                  <annotation>
                  <documentation>Hour in 24 hour time (0..24). This field must be between 0 and 24, inclusive. This field is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="minute" type="tns:MinuteOfHour">
                  <annotation>
                  <documentation>Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="TypeError">
                  <annotation>
                  <documentation>An error for a field which is an invalid type.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="UnarchiveProposals">
                  <annotation>
                  <documentation>The action used for unarchiving {@link Proposal} objects.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="UniqueError">
                  <annotation>
                  <documentation>An error for a field which must satisfy a uniqueness constraint</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="UpdateOrderWithSellerData">
                  <annotation>
                  <documentation>The action to update a finalized Marketplace {@link Order} with the seller's data.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="UpdateResult">
                  <annotation>
                  <documentation>Represents the result of performing an action on objects.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="numChanges" type="xsd:int">
                  <annotation>
                  <documentation>The number of objects that were changed as a result of performing the action.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="UserDomainTargeting">
                  <annotation>
                  <documentation>Provides line items the ability to target or exclude users visiting their websites from a list of domains or subdomains.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="domains" type="xsd:string">
                  <annotation>
                  <documentation>The domains or subdomains that are being targeted or excluded by the {@link LineItem}. This attribute is required and the maximum length of each domain is 67 characters.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="targeted" type="xsd:boolean">
                  <annotation>
                  <documentation>Indicates whether domains should be targeted or excluded. This attribute is optional and defaults to {@code true}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType abstract="true" name="Value">
                  <annotation>
                  <documentation>{@code Value} represents a value.</documentation>
                  </annotation>
                  </complexType>
                  <complexType name="VideoPosition">
                  <annotation>
                  <documentation>Represents a targetable position within a video. A video ad can be targeted to a position (pre-roll, all mid-rolls, or post-roll), or to a specific mid-roll index.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="positionType" type="tns:VideoPosition.Type">
                  <annotation>
                  <documentation>The type of video position (pre-roll, mid-roll, or post-roll).</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="midrollIndex" type="xsd:int">
                  <annotation>
                  <documentation>The index of the mid-roll to target. Only valid if the {@link positionType} is {@link VideoPositionType#MIDROLL}, otherwise this field will be ignored.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="VideoPositionTargeting">
                  <annotation>
                  <documentation>Represents positions within and around a video where ads can be targeted to. <p>Example positions could be {@code pre-roll} (before the video plays), {@code post-roll} (after a video has completed playback) and {@code mid-roll} (during video playback). <p>Empty video position targeting means that all video positions are allowed. If a bumper line item has empty video position targeting it will be updated to target all bumper positions.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="unbounded" minOccurs="0" name="targetedPositions" type="tns:VideoPositionTarget">
                  <annotation>
                  <documentation>The {@link VideoTargetingPosition} objects being targeted by the video {@link LineItem}.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="VideoPositionWithinPod">
                  <annotation>
                  <documentation>Represents a targetable position within a pod within a video stream. A video ad can be targeted to any position in the pod (first, second, third ... last). If there is only 1 ad in a pod, either first or last will target that position.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="index" type="xsd:int">
                  <annotation>
                  <documentation>The specific index of the pod. The index is defined as: <ul><li>1 = first</li> <li>2 = second</li> <li>3 = third</li> <li>....</li> <li>100 = last</li></ul> 100 will always be the last position. For example, for a pod with 5 positions, 100 would target position 5. Multiple targets against the index 100 can exist.<br> Positions over 100 are not supported.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <complexType name="VideoPositionTarget">
                  <annotation>
                  <documentation>Represents the options for targetable positions within a video.</documentation>
                  </annotation>
                  <sequence>
                  <element maxOccurs="1" minOccurs="0" name="videoPosition" type="tns:VideoPosition">
                  <annotation>
                  <documentation>The video position to target. This attribute is required.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="videoBumperType" type="tns:VideoBumperType">
                  <annotation>
                  <documentation>The video bumper type to target. To target a video position or a pod position, this value must be null. To target a bumper position this value must be populated and the line item must have a bumper type. To target a custom ad spot, this value must be null.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="videoPositionWithinPod" type="tns:VideoPositionWithinPod">
                  <annotation>
                  <documentation>The video position within a pod to target. To target a video position or a bumper position, this value must be null. To target a position within a pod this value must be populated. To target a custom ad spot, this value must be null.</documentation>
                  </annotation>
                  </element>
                  <element maxOccurs="1" minOccurs="0" name="adSpotId" type="xsd:long">
                  <annotation>
                  <documentation>A custom spot {@link AdSpot} to target. To target a video position, a bumper type or a video position within a pod this value must be null.</documentation>
                  </annotation>
                  </element>
                  </sequence>
                  </complexType>
                  <simpleType name="AdExchangeEnvironment">
                  <annotation>
                  <documentation>Identifies the format of inventory or "channel" in which ads serve.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="DISPLAY">
                  <annotation>
                  <documentation>Ads serve in a browser.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIDEO">
                  <annotation>
                  <documentation>In-stream video ads serve in a video.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="GAMES">
                  <annotation>
                  <documentation>In-stream video ads serve in a game.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MOBILE">
                  <annotation>
                  <documentation>Ads serve in a mobile app.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MOBILE_OUTSTREAM_VIDEO">
                  <annotation>
                  <documentation>Out-stream video ads serve in a mobile app. Examples include mobile app interstitials and mobile app rewarded ads.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DISPLAY_OUTSTREAM_VIDEO">
                  <annotation>
                  <documentation>Out-stream video ads serve in a browser. Examples include in-feed and in-banner video ads.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ApiVersionError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="UPDATE_TO_NEWER_VERSION">
                  <annotation>
                  <documentation>Indicates that the operation is not allowed in the version the request was made in.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="AuthenticationError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="AMBIGUOUS_SOAP_REQUEST_HEADER">
                  <annotation>
                  <documentation>The SOAP message contains a request header with an ambiguous definition of the authentication header fields. This means either the {@code authToken} and {@code oAuthToken} fields were both null or both were specified. Exactly one value should be specified with each request.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_EMAIL">
                  <annotation>
                  <documentation>The login provided is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUTHENTICATION_FAILED">
                  <annotation>
                  <documentation>Tried to authenticate with provided information, but failed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_OAUTH_SIGNATURE">
                  <annotation>
                  <documentation>The OAuth provided is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_SERVICE">
                  <annotation>
                  <documentation>The specified service to use was not recognized.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_SOAP_REQUEST_HEADER">
                  <annotation>
                  <documentation>The SOAP message is missing a request header with an {@code authToken} and optional {@code networkCode}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_AUTHENTICATION_HTTP_HEADER">
                  <annotation>
                  <documentation>The HTTP request is missing a request header with an {@code authToken}</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_AUTHENTICATION">
                  <annotation>
                  <documentation>The request is missing an {@code authToken}</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NETWORK_API_ACCESS_DISABLED">
                  <annotation>
                  <documentation>The network does not have API access enabled.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NO_NETWORKS_TO_ACCESS">
                  <annotation>
                  <documentation>The user is not associated with any network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NETWORK_NOT_FOUND">
                  <annotation>
                  <documentation>No network for the given {@code networkCode} was found.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NETWORK_CODE_REQUIRED">
                  <annotation>
                  <documentation>The user has access to more than one network, but did not provide a {@code networkCode}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CONNECTION_ERROR">
                  <annotation>
                  <documentation>An error happened on the server side during connection to authentication service.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="GOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK">
                  <annotation>
                  <documentation>The user tried to create a test network using an account that already is associated with a network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNDER_INVESTIGATION">
                  <annotation>
                  <documentation>The account is blocked and under investigation by the collections team. Please contact Google for more information.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="BillingError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNSUPPORTED_BILLING_SCHEDULE">
                  <annotation>
                  <documentation>Found unsupported billing schedule.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_BILLING_CAP">
                  <annotation>
                  <documentation>Found unsupported billing cap.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_BILLING_SOURCE">
                  <annotation>
                  <documentation>Billing source is missing when either billing scheule or billing cap is provided.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_BILLING_SCHEDULE">
                  <annotation>
                  <documentation>Billing schedule is missing when the provided billing source is CONSTRACTED.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_BILLING_CAP">
                  <annotation>
                  <documentation>Billing cap is missing when the provided billing source is not CONSTRACTED.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_BILLING_SOURCE_FOR_OFFLINE">
                  <annotation>
                  <documentation>The billing source is invalid for offline proposal line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_BILLING_NOT_ALLOWED">
                  <annotation>
                  <documentation>Billing settings cannot be updated once the proposal has been approved.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_BILLING_BASE">
                  <annotation>
                  <documentation>Billing base is missing when the provided billing source is CONTRACTED.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_BILLING_BASE">
                  <annotation>
                  <documentation>The billing base is invalid for the provided billing source.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="CollectionSizeError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="CommonError.Reason">
                  <annotation>
                  <documentation>Describes reasons for common errors</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="NOT_FOUND">
                  <annotation>
                  <documentation>Indicates that an attempt was made to retrieve an entity that does not exist.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALREADY_EXISTS">
                  <annotation>
                  <documentation>Indicates that an attempt was made to create an entity that already exists.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NOT_APPLICABLE">
                  <annotation>
                  <documentation>Indicates that a value is not applicable for given use case.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATE_OBJECT">
                  <annotation>
                  <documentation>Indicates that two elements in the collection were identical.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE">
                  <annotation>
                  <documentation>Indicates that an attempt was made to change an immutable field.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_OPERATION">
                  <annotation>
                  <documentation>Indicates that the requested operation is not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CONCURRENT_MODIFICATION">
                  <annotation>
                  <documentation>Indicates that another request attempted to update the same data in the same network at about the same time. Please wait and try the request again.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="CreativeSizeType">
                  <annotation>
                  <documentation>Descriptions of the types of sizes a creative can be. Not all creatives can be described by a height-width pair, this provides additional context.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="PIXEL">
                  <annotation>
                  <documentation>Dimension based size, an actual height and width.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ASPECT_RATIO">
                  <annotation>
                  <documentation>Mobile size, that is expressed as a ratio of say 4 by 1, that could be met by a 100 x 25 sized image.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INTERSTITIAL">
                  <annotation>
                  <documentation>Out-of-page size, that is not related to the slot it is served. But rather is a function of the snippet, and the values set. This must be used with 1x1 size.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="IGNORED">
                  <annotation>
                  <documentation>Size has no meaning <p>1. For Click Tracking entities, where size doesn't matter 2. For entities that allow all requested sizes, where the size represents all sizes.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NATIVE">
                  <annotation>
                  <documentation>Native size, which is a function of the how the client renders the creative. This must be used with 1x1 size.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUDIO">
                  <annotation>
                  <documentation>Audio size. Used with audio ads. This must be used with 1x1 size.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="CurrencyCodeError.Reason">
                  <annotation>
                  <documentation>The reason behind the currency code error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="INVALID">
                  <annotation>
                  <documentation>The currency code is invalid and does not follow ISO 4217.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED">
                  <annotation>
                  <documentation>The currency code is valid, but is not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DEPRECATED_CURRENCY_USED">
                  <annotation>
                  <documentation>The currency has been used for entity creation after its deprecation</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="CustomFieldValueError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="CUSTOM_FIELD_NOT_FOUND">
                  <annotation>
                  <documentation>An attempt was made to modify or create a {@link CustomFieldValue} for a {@link CustomField} that does not exist.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CUSTOM_FIELD_INACTIVE">
                  <annotation>
                  <documentation>An attempt was made to create a new value for a custom field that is inactive.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CUSTOM_FIELD_OPTION_NOT_FOUND">
                  <annotation>
                  <documentation>An attempt was made to modify or create a {@link CustomFieldValue} corresponding to a {@link CustomFieldOption} that could not be found.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_ENTITY_TYPE">
                  <annotation>
                  <documentation>An attempt was made to modify or create a {@link CustomFieldValue} with an association to an entity of the wrong type for its field.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="DayOfWeek">
                  <annotation>
                  <documentation>Days of the week.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="MONDAY">
                  <annotation>
                  <documentation>The day of week named Monday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TUESDAY">
                  <annotation>
                  <documentation>The day of week named Tuesday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="WEDNESDAY">
                  <annotation>
                  <documentation>The day of week named Wednesday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="THURSDAY">
                  <annotation>
                  <documentation>The day of week named Thursday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FRIDAY">
                  <annotation>
                  <documentation>The day of week named Friday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SATURDAY">
                  <annotation>
                  <documentation>The day of week named Saturday.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SUNDAY">
                  <annotation>
                  <documentation>The day of week named Sunday.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="DeliveryTimeZone">
                  <annotation>
                  <documentation>Represents the time zone to be used for {@link DayPartTargeting}.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="PUBLISHER">
                  <annotation>
                  <documentation>Use the time zone of the publisher.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BROWSER">
                  <annotation>
                  <documentation>Use the time zone of the browser.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="DealError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="CANNOT_ADD_LINE_ITEM_WHEN_SOLD">
                  <annotation>
                  <documentation>Cannot add new {@link ProposalLineItem proposal line items} to a {@link Proposal} when {@link Proposal#isSold} is {@code true}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_ARCHIVE_LINE_ITEM_WHEN_SOLD">
                  <annotation>
                  <documentation>Cannot archive {@link ProposalLineItem proposal line items} from a {@link Proposal} when {@link Proposal#isSold} is {@code true}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_ARCHIVE_PROPOSAL_WHEN_SOLD">
                  <annotation>
                  <documentation>Cannot archive a {@link Proposal} when {@link Proposal#isSold} is {@code true}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_CHANGE_FIELD_REQUIRING_BUYER_APPROVAL">
                  <annotation>
                  <documentation>Cannot change a field that requires buyer approval during the current operation.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_GET_SELLER_ID">
                  <annotation>
                  <documentation>Cannot find seller ID for the {@link Proposal}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CAN_ONLY_EXECUTE_IF_LOCAL_EDITS">
                  <annotation>
                  <documentation>{@link Proposal} must be marked as editable by {@link EditProposalsForNegotiation} before performing requested action.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_PROPOSAL_LINE_ITEMS">
                  <annotation>
                  <documentation>{@link Proposal} contains no {@link ProposalLineItem proposal line items}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_ENVIRONMENT">
                  <annotation>
                  <documentation>No environment set for {@link Proposal}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_AD_EXCHANGE_PROPERTY">
                  <annotation>
                  <documentation>The Ad Exchange property is not associated with the current network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_FIND_PROPOSAL_IN_MARKETPLACE">
                  <annotation>
                  <documentation>Cannot find {@link Proposal} in Marketplace.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_GET_PRODUCT">
                  <annotation>
                  <documentation>No {@link Product} exists for buyer-initiated programmatic {@link Proposal proposals}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NEW_VERSION_FROM_BUYER">
                  <annotation>
                  <documentation>A new version of the {@link Proposal} was sent from buyer, cannot execute the requested action before performing {@link DiscardLocalVersionEdits}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PROPOSAL_OUT_OF_SYNC_WITH_MARKETPLACE">
                  <annotation>
                  <documentation>A new version of the {@link Proposal} exists in Marketplace, cannot execute the requested action before the proposal is synced to newest revision.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NO_PROPOSAL_CHANGES_FOUND">
                  <annotation>
                  <documentation>No {@link Proposal} changes were found.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="EntityChildrenLimitReachedError.Reason">
                  <annotation>
                  <documentation>The reasons for the entity children limit reached error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="LINE_ITEM_LIMIT_FOR_ORDER_REACHED">
                  <annotation>
                  <documentation>The number of line items on the order exceeds the max number of line items allowed per order in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CREATIVE_ASSOCIATION_LIMIT_FOR_LINE_ITEM_REACHED">
                  <annotation>
                  <documentation>The number of creatives associated with the line item exceeds the max number of creatives allowed to be associated with a line item in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AD_UNIT_LIMIT_FOR_PLACEMENT_REACHED">
                  <annotation>
                  <documentation>The number of ad units on the placement exceeds the max number of ad units allowed per placement in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TARGETING_EXPRESSION_LIMIT_FOR_LINE_ITEM_REACHED">
                  <annotation>
                  <documentation>The number of targeting expressions on the line item exceeds the max number of targeting expressions allowed per line item in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TARGETING_EXPRESSION_SIZE_LIMIT_REACHED">
                  <annotation>
                  <documentation>The size of a single targeting expression tree exceeds the max size allowed by the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CUSTOM_TARGETING_VALUES_FOR_KEY_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of custom targeting values for the free-form or predefined custom targeting key exceeds the max number allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TARGETING_EXPRESSION_LIMIT_FOR_CREATIVES_ON_LINE_ITEM_REACHED">
                  <annotation>
                  <documentation>The total number of targeting expressions on the creatives for the line item exceeds the max number allowed per line item in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ATTACHMENT_LIMIT_FOR_PROPOSAL_REACHED">
                  <annotation>
                  <documentation>The number of attachments added to the proposal exceeds the max number allowed per proposal in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PROPOSAL_LINE_ITEM_LIMIT_FOR_PROPOSAL_REACHED">
                  <annotation>
                  <documentation>The number of proposal line items on the proposal exceeds the max number allowed per proposal in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PRODUCT_LIMIT_FOR_PRODUCT_PACKAGE_REACHED">
                  <annotation>
                  <documentation>The number of product package items on the product package exceeds the max number allowed per product package in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PRODUCT_TEMPLATE_AND_PRODUCT_BASE_RATE_LIMIT_FOR_RATE_CARD_REACHED">
                  <annotation>
                  <documentation>The number of product template and product base rates on the rate card (including excluded product base rates) exceeds the max number allowed per rate card in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PRODUCT_PACKAGE_ITEM_BASE_RATE_LIMIT_FOR_RATE_CARD_REACHED">
                  <annotation>
                  <documentation>The number of product package item base rates on the rate card exceeds the max number allowed per rate card in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PREMIUM_LIMIT_FOR_RATE_CARD_REACHED">
                  <annotation>
                  <documentation>The number of premiums of the rate card exceeds the max number allowed per rate card in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AD_UNIT_LIMIT_FOR_AD_EXCLUSION_RULE_TARGETING_REACHED">
                  <annotation>
                  <documentation>The number of ad units on {@link AdExclusionRule#inventoryTargeting} exceeds the max number of ad units allowed per ad exclusion rule inventory targeting in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NATIVE_STYLE_LIMIT_FOR_NATIVE_AD_FORMAT_REACHED">
                  <annotation>
                  <documentation>The number of native styles under the native creative template exceeds the max number of native styles allowed per native creative template in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TARGETING_EXPRESSION_LIMIT_FOR_PRESENTATION_ASSIGNMENT_REACHED">
                  <annotation>
                  <documentation>The number of targeting expressions on the native style exceeds the max number of targeting expressions allowed per native style in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="EntityLimitReachedError.Reason">
                  <annotation>
                  <documentation>The reasons for the entity limit reached error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="CUSTOM_TARGETING_VALUES_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of custom targeting values exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AD_EXCLUSION_RULES_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of ad exclusion rules exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FIRST_PARTY_AUDIENCE_SEGMENTS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of first party audience segments exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PLACEMENTS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of active placements exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="LINE_ITEMS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of line items excceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ACTIVE_LINE_ITEMS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of active line items exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DAI_ENCODING_PROFILES_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of not-archived encoding profiles exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TRAFFIC_FORECAST_SEGMENTS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of traffic forecast segments exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FORECAST_ADJUSTMENTS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of forecast adjustments exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ACTIVE_EXPERIMENTS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of active experiments exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SITES_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of sites exceeds the max number allowed in the network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="USER_TEAMS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The number of teams on the user exceeds the max number allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ACTIVE_TARGETING_PRESETS_LIMIT_REACHED">
                  <annotation>
                  <documentation>The count of active targeting presets exceeds the limit.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ExchangeRateError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="INVALID_CURRENCY_CODE">
                  <annotation>
                  <documentation>The currency code is invalid and does not follow ISO 4217.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_CURRENCY_CODE">
                  <annotation>
                  <documentation>The currency code is not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CURRENCY_CODE_ALREADY_EXISTS">
                  <annotation>
                  <documentation>The currency code already exists. When creating an exchange rate, its currency should not be associated with any existing exchange rate. When creating a list of exchange rates, there should not be two exchange rates associated with same currency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_EXCHANGE_RATE">
                  <annotation>
                  <documentation>The exchange rate value is invalid. When the {@link ExchangeRate#refreshRate} is {@link ExchangeRateRefreshRate#FIXED}, the {@link ExchangeRate#exchangeRate} should be larger than 0. Otherwise it is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="EXCHANGE_RATE_NOT_FOUND">
                  <annotation>
                  <documentation>The exchange rate value is not found. When the {@link ExchangeRate#refreshRate} is {@link ExchangeRateRefreshRate#DAILY} or {@link ExchangeRateRefreshRate#MONTHLY}, the {@link ExchangeRate#exchangeRate} should be assigned by Google. It is not found if Google cannot find such an exchange rate.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="FeatureError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="MISSING_FEATURE">
                  <annotation>
                  <documentation>A feature is being used that is not enabled on the current network.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ForecastError.Reason">
                  <annotation>
                  <documentation>Reason why a forecast could not be retrieved.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="SERVER_NOT_AVAILABLE">
                  <annotation>
                  <documentation>The forecast could not be retrieved due to a server side connection problem. Please try again soon.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INTERNAL_ERROR">
                  <annotation>
                  <documentation>There was an unexpected internal error.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NO_FORECAST_YET">
                  <annotation>
                  <documentation>The forecast could not be retrieved because there is not enough forecasting data available yet. It may take up to one week before enough data is available.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NOT_ENOUGH_INVENTORY">
                  <annotation>
                  <documentation>There's not enough inventory for the requested reservation.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SUCCESS">
                  <annotation>
                  <documentation>No error from forecast.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ZERO_LENGTH_RESERVATION">
                  <annotation>
                  <documentation>The requested reservation is of zero length. No forecast is returned.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="EXCEEDED_QUOTA">
                  <annotation>
                  <documentation>The number of requests made per second is too high and has exceeded the allowable limit. The recommended approach to handle this error is to wait about 5 seconds and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time. <p> Another way to mitigate this error is to limit requests to 2 per second. Once again this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error. </p></documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="OUTSIDE_AVAILABLE_DATE_RANGE">
                  <annotation>
                  <documentation>The request falls outside the date range of the available data.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="InternalApiError.Reason">
                  <annotation>
                  <documentation>The single reason for the internal API error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNEXPECTED_INTERNAL_API_ERROR">
                  <annotation>
                  <documentation>API encountered an unexpected internal error.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TRANSIENT_ERROR">
                  <annotation>
                  <documentation>A temporary error occurred during the request. Please retry.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The cause of the error is not known or only defined in newer versions.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DOWNTIME">
                  <annotation>
                  <documentation>The API is currently unavailable for a planned downtime.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ERROR_GENERATING_RESPONSE">
                  <annotation>
                  <documentation>Mutate succeeded but server was unable to build response. Client should not retry mutate.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="InvalidUrlError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="ILLEGAL_CHARACTERS">
                  <annotation>
                  <documentation>The URL contains invalid characters.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_FORMAT">
                  <annotation>
                  <documentation>The format of the URL is not allowed. This could occur for a number of reasons. For example, if an invalid scheme is specified (like "ftp://") or if a port is specified when not required, or if a query was specified when not required.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INSECURE_SCHEME">
                  <annotation>
                  <documentation>URL contains insecure scheme.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NO_SCHEME">
                  <annotation>
                  <documentation>The URL does not contain a scheme.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="LabelEntityAssociationError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="DUPLICATE_ASSOCIATION">
                  <annotation>
                  <documentation>The label has already been attached to the entity.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_ASSOCIATION">
                  <annotation>
                  <documentation>A label is being applied to an entity that does not support that entity type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NEGATION_NOT_ALLOWED">
                  <annotation>
                  <documentation>Label negation cannot be applied to the entity type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATE_ASSOCIATION_WITH_NEGATION">
                  <annotation>
                  <documentation>The same label is being applied and negated to the same entity.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="LineItemOperationError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="NOT_ALLOWED">
                  <annotation>
                  <documentation>The operation is not allowed due to lack of permissions.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NOT_APPLICABLE">
                  <annotation>
                  <documentation>The operation is not applicable for the current state of the {@link LineItem}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="HAS_COMPLETED">
                  <annotation>
                  <documentation>The {@link LineItem} is completed. A {@link LineItemAction} cannot be applied to a line item that is completed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="HAS_NO_ACTIVE_CREATIVES">
                  <annotation>
                  <documentation>The {@link LineItem} has no active creatives. A line item cannot be activated with no active creatives.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_ACTIVATE_LEGACY_DFP_LINE_ITEM">
                  <annotation>
                  <documentation>A {@link LineItem} of type {@link LineItemType#LEGACY_DFP} cannot be Activated.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_ACTIVATE_UNCONFIGURED_LINE_ITEM">
                  <annotation>
                  <documentation>A {@link LineItem} with publisher creative source cannot be activated if the corresponding deal is not yet configured by the buyer.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_DELETE_DELIVERED_LINE_ITEM">
                  <annotation>
                  <documentation>Deleting an {@link LineItem} that has delivered is not allowed</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_RESERVE_COMPANY_CREDIT_STATUS_NOT_ACTIVE">
                  <annotation>
                  <documentation>Reservation cannot be made for line item because the {@link LineItem#advertiserId} it is associated with has {@link Company#creditStatus} that is not {@code ACTIVE} or {@code ON_HOLD}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_ACTIVATE_INVALID_COMPANY_CREDIT_STATUS">
                  <annotation>
                  <documentation>Cannot activate line item because the {@link LineItem#advertiserId} it is associated with has {@link Company#creditStatus} that is not {@code ACTIVE}, {@code INACTIVE}, or {@code ON_HOLD}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="MinuteOfHour">
                  <annotation>
                  <documentation>Minutes in an hour. Currently, only 0, 15, 30, and 45 are supported. This field is required.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="ZERO">
                  <annotation>
                  <documentation>Zero minutes past hour.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FIFTEEN">
                  <annotation>
                  <documentation>Fifteen minutes past hour.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="THIRTY">
                  <annotation>
                  <documentation>Thirty minutes past hour.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FORTY_FIVE">
                  <annotation>
                  <documentation>Forty-five minutes past hour.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="NegotiationStatus">
                  <annotation>
                  <documentation>Represents the {@link Proposal proposal's} negotiation status for Marketplace.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="SELLER_INITIATED">
                  <annotation>
                  <documentation>Indicates that a new {@link Proposal} has been created by the seller and has not been sent to Marketplace yet.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BUYER_INITIATED">
                  <annotation>
                  <documentation>Indicates that a new {@link Proposal} has been created by the buyer and is awaiting seller action.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AWAITING_SELLER_REVIEW">
                  <annotation>
                  <documentation>Indicates that a {@link Proposal} has been updated by the buyer and is awaiting seller approval.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AWAITING_BUYER_REVIEW">
                  <annotation>
                  <documentation>Indicates that a {@link Proposal} has been updated by the seller and is awaiting buyer approval.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ONLY_SELLER_ACCEPTED">
                  <annotation>
                  <documentation>Indicates that the seller has accepted the {@link Proposal} and is awaiting the buyer's acceptance.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FINALIZED">
                  <annotation>
                  <documentation>Indicates that the {@link Proposal} has been accepted by both the buyer and the seller.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANCELLED">
                  <annotation>
                  <documentation>Indicates that negotiations for the {@link Proposal} have been cancelled.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="NotNullError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="ARG1_NULL">
                  <annotation>
                  <documentation>Assuming that a method will not have more than 3 arguments, if it does, return NULL</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="NullError.Reason">
                  <annotation>
                  <documentation>The reasons for the validation error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="NULL_CONTENT">
                  <annotation>
                  <documentation>Specified list/container must not contain any null elements</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ParseError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNPARSABLE">
                  <annotation>
                  <documentation>Indicates an error in parsing an attribute.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="PermissionError.Reason">
                  <annotation>
                  <documentation>Describes reasons for permission errors.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="PERMISSION_DENIED">
                  <annotation>
                  <documentation>User does not have the required permission for the request.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="PrecisionError.Reason">
                  <annotation>
                  <documentation>Describes reasons for precision errors.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="WRONG_PRECISION">
                  <annotation>
                  <documentation>The lowest N digits of the number must be zero.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProgrammaticError.Reason">
                  <annotation>
                  <documentation>Possible error reasons for a programmatic error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="AUDIENCE_EXTENSION_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Audience extension is not supported by programmatic line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUTO_EXTENSION_DAYS_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Auto extension days is not supported by programmatic line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIDEO_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Video is currently not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ROADBLOCKING_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Roadblocking is not supported by programmatic line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CREATIVE_ROTATION">
                  <annotation>
                  <documentation>Programmatic line items do not support {@link CreativeRotationType#SEQUENTIAL}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_LINE_ITEM_TYPE">
                  <annotation>
                  <documentation>Programmatic line items only support {@link LineItemType#STANDARD} and {@link LineItemType#SPONSORSHIP} if the relevant feature is on.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_COST_TYPE">
                  <annotation>
                  <documentation>Programmatic line items only support {@link CostType#CPM}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SIZE_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Programmatic line items only support a creative size that is supported by AdX. The list of supported sizes is maintained based on the list published in the help docs: <a href="https://support.google.com/adxseller/answer/1100453"> https://support.google.com/adxseller/answer/1100453</a></documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ZERO_COST_PER_UNIT_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Zero cost per unit is not supported by programmatic line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_FIELD_FOR_APPROVED_LINE_ITEMS">
                  <annotation>
                  <documentation>Some fields cannot be updated on approved line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_CREATE_LINE_ITEM_FOR_APPROVED_ORDER">
                  <annotation>
                  <documentation>Creating a new line item in an approved order is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_BACKFILL_WEB_PROPERTY_FOR_APPROVED_LINE_ITEMS">
                  <annotation>
                  <documentation>Cannot change backfill web property for a programmatic line item whose order has been approved.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="COST_PER_UNIT_TOO_LOW">
                  <annotation>
                  <documentation>Cost per unit is too low. It has to be at least 0.005 USD.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalActionError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="NOT_APPLICABLE">
                  <annotation>
                  <documentation>The operation is not applicable to the current state.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="IS_ARCHIVED">
                  <annotation>
                  <documentation>The operation cannot be applied because the proposal is archived.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalCompanyAssociationType">
                  <annotation>
                  <documentation>Describes the type of a {@link Company} associated with a {@link Proposal}.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="PRIMARY_AGENCY">
                  <annotation>
                  <documentation>The company is a primary agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BILLING_AGENCY">
                  <annotation>
                  <documentation>The company is a billing agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BRANDING_AGENCY">
                  <annotation>
                  <documentation>The company is a branding agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="OTHER_AGENCY">
                  <annotation>
                  <documentation>The company is other type of agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ADVERTISER">
                  <annotation>
                  <documentation>The company is advertiser.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="AD_SERVER_UNKNOWN_ERROR">
                  <annotation>
                  <documentation>Unknown error from ad-server</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AD_SERVER_API_ERROR">
                  <annotation>
                  <documentation>Ad-server reports an api error for the operation.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_ADVERTISER_NOT_ALLOWED">
                  <annotation>
                  <documentation>Advertiser cannot be updated once the proposal has been reserved.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_PROPOSAL_NOT_ALLOWED">
                  <annotation>
                  <documentation>Proposal cannot be updated when its status is not {@code DRAFT} or it is archived.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CONTACT_UNSUPPORTED_FOR_ADVERTISER">
                  <annotation>
                  <documentation>{@link Contact Contacts} are not supported for {@link Company.Type#ADVERTISER advertisers} in a programmatic {@link Proposal}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CONTACT">
                  <annotation>
                  <documentation>Contact associated with a proposal does not belong to the specific company.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_CONTACT">
                  <annotation>
                  <documentation>Contact associated with a proposal's advertiser or agency is duplicated.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNACCEPTABLE_COMPANY_CREDIT_STATUS">
                  <annotation>
                  <documentation>A proposal cannot be created or updated because the company it is associated with has {@link Company#creditStatus} that is not {@code ACTIVE} or {@code ON_HOLD}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="COMPANY_CREDIT_STATUS_NOT_ACTIVE">
                  <annotation>
                  <documentation>Advertiser or agency associated with the proposal has {@link Company#creditStatus} that is not {@code ACTIVE}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PRIMARY_AGENCY_REQUIRED">
                  <annotation>
                  <documentation>Cannot have other agencies without a primary agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PRIMARY_AGENCY_NOT_UNIQUE">
                  <annotation>
                  <documentation>Cannot have more than one primary agency.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_COMPANY_ASSOCIATION_TYPE_FOR_PROGRAMMATIC_PROPOSAL">
                  <annotation>
                  <documentation>The {@link Company} association type is not supported for programmatic {@link Proposal proposals}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_COMPANY_ASSOCIATION">
                  <annotation>
                  <documentation>Advertiser or agency associated with a proposal is duplicated.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_SALESPERSON">
                  <annotation>
                  <documentation>Found duplicated primary or secondary sales person.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_SALES_PLANNER">
                  <annotation>
                  <documentation>Found duplicated sales planner.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_TRAFFICKER">
                  <annotation>
                  <documentation>Found duplicated primary or secondary trafficker.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="HAS_NO_UNARCHIVED_PROPOSAL_LINEITEMS">
                  <annotation>
                  <documentation>The proposal has no unarchived proposal line items.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATE_TERMS_AND_CONDITIONS">
                  <annotation>
                  <documentation>One or more of the terms and conditions being added already exists on the proposal.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_PROPOSAL_CURRENCY_CODE">
                  <annotation>
                  <documentation>The currency code of the proposal is not supported by the current network. All supported currencies can be found in the union of {@link Network#currencyCode} and {@link Network#secondaryCurrencyCodes}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_BUYER_CURRENCY_CODE">
                  <annotation>
                  <documentation>The currency code of the proposal is not supported by the selected buyer.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_POC">
                  <annotation>
                  <documentation>The POC value of the proposal is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_CURRENCY_NOT_ALLOWED">
                  <annotation>
                  <documentation>Currency cannot be updated once the proposal has been reserved.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_TIME_ZONE_NOT_ALLOWED">
                  <annotation>
                  <documentation>Time zone cannot be updated once the proposal has been sold.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalLineItemError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="NOT_SAME_RATE_CARD">
                  <annotation>
                  <documentation>The proposal line item's rate card is not the same as other proposal line items in the proposal.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="LINE_ITEM_TYPE_NOT_ALLOWED">
                  <annotation>
                  <documentation>The proposal line item's type is not yet supported by Sales Manager.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="END_DATE_TIME_NOT_AFTER_START_TIME">
                  <annotation>
                  <documentation>The proposal line item's end date time is not after its start date time.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="START_DATE_TIME_TOO_LATE_IN_MONTH">
                  <annotation>
                  <documentation>The proposal line item's start date time is too late in the month. This error applies to Programmatic Guaranteed deals sold on Nielsen audience measurement.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="END_DATE_TIME_TOO_LATE">
                  <annotation>
                  <documentation>The proposal line item's end date time is after 1/1/2037.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="START_DATE_TIME_IS_IN_PAST">
                  <annotation>
                  <documentation>The proposal line item's start date time is in past.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="END_DATE_TIME_IS_IN_PAST">
                  <annotation>
                  <documentation>The proposal line item's end date time is in past.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="FRONTLOADED_NOT_ALLOWED">
                  <annotation>
                  <documentation>Frontloaded delivery rate type is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALL_ROADBLOCK_NOT_ALLOWED">
                  <annotation>
                  <documentation>Roadblocking to display all creatives is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALL_COMPANION_DELIVERY_NOT_ALLOWED">
                  <annotation>
                  <documentation>Display all companions is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CREATIVE_SET_ROADBLOCK_NOT_ALLOWED">
                  <annotation>
                  <documentation>Roadblocking to display all master and companion creative set is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALREADY_STARTED">
                  <annotation>
                  <documentation>Some changes may not be allowed because the related line item has already started.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CONFLICT_WITH_PRODUCT">
                  <annotation>
                  <documentation>The setting is conflict with product's restriction.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIOLATE_BUILT_IN_TARGETING_COMPATIBILITY_RESTRICTION">
                  <annotation>
                  <documentation>The proposal line item's setting violates the product's built-in targeting compatibility restriction.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIOLATE_BUILT_IN_TARGETING_LOCKED_RESTRICTION">
                  <annotation>
                  <documentation>The proposal line item's setting violates the product's built-in targeting locked restriction.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MOBILE_TECH_CRITERIA_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Cannot target mobile-only targeting criteria.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_TARGETING_TYPE">
                  <annotation>
                  <documentation>The targeting criteria type is unsupported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="WRONG_COST">
                  <annotation>
                  <documentation>The contracted cost does not match with what calculated from final rate and units bought.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NO_WEB_PROPERTY_FOR_TARGETED_REQUEST_PLATFORM">
                  <annotation>
                  <documentation>The proposal line item targets an inventory type for which the network does not have a corresponding web property.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CALCULATED_COST_TOO_HIGH">
                  <annotation>
                  <documentation>The cost calculated from cost per unit and units is too high.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_PRIORITY_FOR_LINE_ITEM_TYPE">
                  <annotation>
                  <documentation>The line item priority is invalid if it's different than the default.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_PROPOSAL_LINE_ITEM_NOT_ALLOWED">
                  <annotation>
                  <documentation>Propsoal line item cannot update when it is archived.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_TO_OR_FROM_CREATIVE_SET_ROADBLOCK">
                  <annotation>
                  <documentation>A proposal line item cannot be updated from having {@link RoadblockingType#CREATIVE_SET} to having a different RoadblockingType, or vice versa.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SEQUENTIAL_CREATIVE_ROTATION_NOT_ALLOWED">
                  <annotation>
                  <documentation>Serving creatives exactly in sequential order is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_RESERVATION_NOT_ALLOWED">
                  <annotation>
                  <documentation>Proposal line item cannot update its reservation detail once start delivering.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_COMPANION_DELIVERY_OPTION_FOR_ROADBLOCKING_TYPE">
                  <annotation>
                  <documentation>The companion delivery option is not valid for the roadblocking type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INCONSISTENT_ROADBLOCK_TYPE">
                  <annotation>
                  <documentation>Roadblocking type is inconsistent with creative placeholders. If the roadblocking type is creative set, creative placeholders should contain companions, and vice versa.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CONTRACTED_QUANTITY_BUFFER">
                  <annotation>
                  <documentation>ContractedQuantityBuffer is only applicable to standard line item with {@link RateType#CPC}/{@link RateType#CPM}/{@link RateType#VCPM} type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_VALUES_FOR_CLICK_TRACKING_LINE_ITEM_TYPE">
                  <annotation>
                  <documentation>One or more values on the proposal line item are not valid for a {@link LineItemType#CLICK_TRACKING} line item type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_COST_ADJUSTMENT_NOT_ALLOWED">
                  <annotation>
                  <documentation>Proposal line item cannot update its cost adjustment after first approval.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNSUPPORTED_RATE_CARD_CURRENCY_CODE">
                  <annotation>
                  <documentation>The currency code of the proposal line item's rate card is not supported by the current network. All supported currencies can be found in the union of {@link Network#currencyCode} and {@link Network#secondaryCurrencyCodes}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="END_DATE_TIME_IS_BEFORE_LAST_PAUSED_TIME">
                  <annotation>
                  <documentation>The corresponding line item is paused, but the proposal line item's end date time is before the last paused time.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIDEO_INVALID_ROADBLOCKING">
                  <annotation>
                  <documentation>Video line items cannot have roadblocking options.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_TIME_ZONE_NOT_ALLOWED">
                  <annotation>
                  <documentation>Time zone cannot be updated once the proposal line item has been sold.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_TIME_ZONE_FOR_RATE_TYPE">
                  <annotation>
                  <documentation>Time zone must be network time zone if the proposal line item is {@link RateType#VCPM}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_TIME_ZONE_FOR_DEALS">
                  <annotation>
                  <documentation>Only the {@link Network#timeZone} is allowed for programmatic {@link Proposal proposals}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_ENVIRONMENT_TYPE">
                  <annotation>
                  <documentation>The {@link ProposalLineItem#environmentType} is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SIZE_REQUIRED">
                  <annotation>
                  <documentation>At least one size must be specified.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="COMPANION_NOT_ALLOWED">
                  <annotation>
                  <documentation>A placeholder contains companions but the roadblocking type is not {@link RoadblockingType#CREATIVE_SET} or the {@link ProductType product type} is offline.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_COMPANION">
                  <annotation>
                  <documentation>A placeholder does not contain companions but the roadblocking type is {@link RoadblockingType#CREATIVE_SET}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATED_MASTER_SIZE">
                  <annotation>
                  <documentation>A placeholder's master size is the same as another placeholder's master size.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_EXPECTED_CREATIVE_COUNT">
                  <annotation>
                  <documentation>Only creative placeholders with standard {@link CreativePlaceholder#size sizes} can set an expected creative count.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_HAVE_CREATIVE_TEMPLATE">
                  <annotation>
                  <documentation>Non-native placeholders cannot have creative templates.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="NATIVE_CREATIVE_TEMPLATE_REQUIRED">
                  <annotation>
                  <documentation>Placeholders can only have native creative templates.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_INCLUDE_NATIVE_PLACEHOLDER_WITHOUT_TEMPLATE_ID">
                  <annotation>
                  <documentation>Cannot include native placeholders without native creative templates.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CLICK_TRACKING_LINE_ITEM_TYPE">
                  <annotation>
                  <documentation>One or more values are not valid for a {@link LineItemType#CLICK_TRACKING} line item type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_TARGETING_FOR_CLICK_TRACKING">
                  <annotation>
                  <documentation>The targeting is not valid for a {@link LineItemType#CLICK_TRACKING} line item type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CONTRACTED_UNITS_BOUGHT">
                  <annotation>
                  <documentation>The contractedUnitsBought of the proposal line item is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PLACEHOLDER_CANNOT_CONTAIN_LABELS">
                  <annotation>
                  <documentation>Only creative placeholders with standard {@link CreativePlaceholder#size sizes} can contain labels.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_LABEL_TYPE_IN_PLACEHOLDER">
                  <annotation>
                  <documentation>One or more labels on a creative placeholder is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PLACEHOLDER_CANNOT_CONTAIN_NEGATED_LABELS">
                  <annotation>
                  <documentation>A placeholder cannot contain a negated label.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CONTRACTED_UNITS_LESS_THAN_DELIVERED">
                  <annotation>
                  <documentation>Contracted impressions of programmatic proposal line item must be greater than already delivered impressions.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DISPLAY_ENVIRONMENT_MUST_HAVE_EXCLUDED_MOBILE_APPS_TARGETING">
                  <annotation>
                  <documentation>If AdExchangeEnvironment is DISPLAY, the proposal line item must have mobile apps as excluded device capability targeting.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MOBILE_ENVIRONMENT_MUST_HAVE_INCLUDED_MOBILE_APPS_TARGETING">
                  <annotation>
                  <documentation>If AdExchangeEnvironment is MOBILE, the proposal line item must have mobile apps as included device capability targeting.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SKIPPABLE_AD_TYPE_NOT_ALLOWED">
                  <annotation>
                  <documentation>The {@code SkippableAdType} is not allowed.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CROSS_SELL_TARGETING_UNSUPPORTED">
                  <annotation>
                  <documentation>Cross sell targeting is unsupported for this proposal line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_SET_VIDEO_DURATION_ON_NON_VIDEO_DEAL">
                  <annotation>
                  <documentation>Can't set a video duration for non video deals.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_VIDEO_CREATIVE_SKIPPABILITY_NOT_ALLOWED">
                  <annotation>
                  <documentation>Cannot update video creative skippability on a YouTube-targeted proposal line item once it has been sold (pushed to an order line item).</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UPDATE_VIDEO_CREATIVE_FIELDS_NOT_ALLOWED">
                  <annotation>
                  <documentation>Cannot video creative fields on a YouTube-targeted proposal line item once it has been sold (pushed to an order line item).</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalLineItemMakegoodError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="ORIGINAL_ALREADY_HAS_MAKEGOOD">
                  <annotation>
                  <documentation>The original proposal line item for this makegood already has a makegood.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ORIGINAL_IS_MAKEGOOD">
                  <annotation>
                  <documentation>The original proposal line item for this makegood is itself a makegood.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ORIGINAL_NOT_YET_SOLD">
                  <annotation>
                  <documentation>The original proposal line item for this makegood has not been sold.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="LINE_ITEM_IS_NOT_STANDARD">
                  <annotation>
                  <documentation>This makegood or its original is not a standard line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="LINE_ITEM_IS_NOT_CPM">
                  <annotation>
                  <documentation>This makegood or its original is not a CPM line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MAKEGOODS_NOT_SUPPORTED_FOR_COST_TYPE">
                  <annotation>
                  <documentation>This makegood or its original has a cost type not supported on makegoods.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ORIGINAL_TOO_FAR_IN_PAST">
                  <annotation>
                  <documentation>The original proposal line item for this makegood is too far in the past.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="RATE_DIFFERENT_THAN_ORIGINAL">
                  <annotation>
                  <documentation>This makegood has a rate that's different from the original proposal line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNITS_MORE_THAN_ORIGINAL">
                  <annotation>
                  <documentation>This makegood has an impression goal greater than the original proposal line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MAKEGOODS_NOT_SUPPORTED_FOR_NON_DV360_BUYERS">
                  <annotation>
                  <documentation>Makegoods are not supported for non-DV360 buyers.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalLineItemProgrammaticError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="INVALID_PRODUCT_TYPE">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} only support {@link ProductType#DFP}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIDEO_NOT_SUPPORTED">
                  <annotation>
                  <documentation>{@link EnvironmentType#VIDEO_PLAYER} is currently not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ROADBLOCKING_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} do not support {@link RoadblockingType#CREATIVE_SET}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_CREATIVE_ROTATION">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} do not support {@link CreativeRotationType#SEQUENTIAL}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_PROPOSAL_LINE_ITEM_TYPE">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} only support {@link LineItemType#STANDARD}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_RATE_TYPE">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} only support {@link RateType#CPM}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ZERO_COST_PER_UNIT_NOT_SUPPORTED">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line items} do not support zero for {@link ProposalLineItem#netRate}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_PROGRAMMATIC_CREATIVE_SOURCE">
                  <annotation>
                  <documentation>Only programmatic {@link ProposalLineItem proposal line items} support {@link ProgrammaticCreativeSource}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_MAX_VIDEO_CREATIVE_DURATION">
                  <annotation>
                  <documentation>Programmatic {@link ProposalLineItem proposal line item} has invalid video creative duration.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_PROGRAMMATIC_CREATIVE_SOURCE">
                  <annotation>
                  <documentation>Cannot update programmatic creative source if the {@link ProposalLineItem proposal line item} has been sent to the buyer.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_NUM_UNITS">
                  <annotation>
                  <documentation>The {@link Goal#units} value is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MIX_GUARANTEED_AND_PREFERRED_DEAL_NOT_ALLOWED">
                  <annotation>
                  <documentation>Cannot mix guaranteed and Preferred Deal proposal line items in a programmatic proposal.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MIX_NATIVE_AND_BANNER_SIZE_NOT_ALLOWED">
                  <annotation>
                  <documentation>Cannot mix native and banner size in a programmatic proposal line item.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_SIZES">
                  <annotation>
                  <documentation>Cannot update sizes when a programmatic proposal line item with publisher creative source is sent to a buyer.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_SPONSORSHIP_CONTRACTED_UNITS_BOUGHT">
                  <annotation>
                  <documentation>The {ProposalLineItem#contractedUnitsBought} cannot be {@code null} or zero for programmatic {@link RateType#CPD} {@link ProposalLineItem proposal line items}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_PROGRAMMATIC_PRICING_MODEL">
                  <annotation>
                  <documentation>Only {@link PricingModel#NET} is supported for programmatic {@link ProposalLineItem proposal line items}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BUYER_DISABLED_FOR_PG_VIOLATING_SLA">
                  <annotation>
                  <documentation>Buyer is currently disabled for guaranteed deals due to violation of Programmatic Guaranteed service level agreement.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PG_NOT_SUPPORTED_FOR_AGENCY_BUYER">
                  <annotation>
                  <documentation>Deals with agencies are limited to preferred deals, private auctions, and public marketplace packages.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BUYER_NOT_FOUND">
                  <annotation>
                  <documentation>Buyer not found.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_ENVIRONMENT_PLATFORM_TYPE_PAIR">
                  <annotation>
                  <documentation>Cannot create/update {@link ProposalLineItem proposal line items} with an invalid environment and request platform pair.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_MIX_AUDIO_VIDEO_PROGRAMMATIC_LINE_ITEM">
                  <annotation>
                  <documentation>A {@link ProposalLineItem proposal line item} must either be of video, or audio type, but not both.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ProposalStatus">
                  <annotation>
                  <documentation>Describes the {@link Proposal} status.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="DRAFT">
                  <annotation>
                  <documentation>Indicates that the {@link Proposal} has just been created or retracted but no approval has been requested yet.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PENDING_APPROVAL">
                  <annotation>
                  <documentation>Indicates that a request for approval has been made for the {@link Proposal}.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="APPROVED">
                  <annotation>
                  <documentation>Indicates that the {@link Proposal} has been approved and is ready to serve.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="REJECTED">
                  <annotation>
                  <documentation>Indicates that the {@link Proposal} has been rejected in the approval workflow.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="PublisherQueryLanguageContextError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNEXECUTABLE">
                  <annotation>
                  <documentation>Indicates that there was an error executing the PQL.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="PublisherQueryLanguageSyntaxError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNPARSABLE">
                  <annotation>
                  <documentation>Indicates that there was a PQL syntax error.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="QuotaError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="EXCEEDED_QUOTA">
                  <annotation>
                  <documentation>The number of requests made per second is too high and has exceeded the allowable limit. The recommended approach to handle this error is to wait about 5 seconds and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time. <p>Another way to mitigate this error is to limit requests to 8 per second for Ad Manager 360 accounts, or 2 per second for Ad Manager accounts. Once again this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="REPORT_JOB_LIMIT">
                  <annotation>
                  <documentation>This user has exceeded the allowed number of new report requests per hour (this includes both reports run via the UI and reports run via {@link ReportService#runReportJob}). The recommended approach to handle this error is to wait about 10 minutes and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time. <p>Another way to mitigate this error is to limit the number of new report requests to 250 per hour per user. Once again, this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SEGMENT_POPULATION_LIMIT">
                  <annotation>
                  <documentation>This network has exceeded the allowed number of identifiers uploaded within a 24 hour period. The recommended approach to handle this error is to wait 30 minutes and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="RangeError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="RequestPlatform">
                  <annotation>
                  <documentation>Represents the platform which requests and renders the ad.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="BROWSER">
                  <annotation>
                  <documentation>Represents a request made from a web browser. This includes both desktop and mobile web.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MOBILE_APP">
                  <annotation>
                  <documentation>Represents a request made from a mobile application. This includes mobile app interstitial and rewarded video requests.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="VIDEO_PLAYER">
                  <annotation>
                  <documentation>Represents a request made from a video player that is playing publisher content. This includes video players embedded in web pages and mobile applications, and connected TV screens.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="RequiredCollectionError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="REQUIRED">
                  <annotation>
                  <documentation>A required collection is missing.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TOO_LARGE">
                  <annotation>
                  <documentation>Collection size is too large.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TOO_SMALL">
                  <annotation>
                  <documentation>Collection size is too small.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="RequiredError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="REQUIRED">
                  <annotation>
                  <documentation>Missing required field.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="RfpType">
                  <annotation>
                  <documentation>Decribes the type of {@link BuyerRfp}.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PROGRAMMATIC_GUARANTEED">
                  <annotation>
                  <documentation>Indicates the {@link BuyerRfp} is a Programmatic Guaranteed RFP.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PREFERRED_DEAL">
                  <annotation>
                  <documentation>Indicates the {@link BuyerRfp} is a Preferred Deal RFP.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="AudienceSegmentError.Reason">
                  <annotation>
                  <documentation>Reason of the given {@link AudienceSegmentError}.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="FIRST_PARTY_AUDIENCE_SEGMENT_NOT_SUPPORTED">
                  <annotation>
                  <documentation>First party audience segment is not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ONLY_RULE_BASED_FIRST_PARTY_AUDIENCE_SEGMENTS_CAN_BE_CREATED">
                  <annotation>
                  <documentation>Only rule-based first-party audience segments can be created.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUDIENCE_SEGMENT_ID_NOT_FOUND">
                  <annotation>
                  <documentation>Audience segment for the given id is not found.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_RULE">
                  <annotation>
                  <documentation>Audience segment rule is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUDIENCE_SEGMENT_RULE_TOO_LONG">
                  <annotation>
                  <documentation>Audience segment rule contains too many ad units and/or custom criteria.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_NAME">
                  <annotation>
                  <documentation>Audience segment name is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="DUPLICATE_AUDIENCE_SEGMENT_NAME">
                  <annotation>
                  <documentation>Audience segment with this name already exists.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_DESCRIPTION">
                  <annotation>
                  <documentation>Audience segment description is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_PAGEVIEWS">
                  <annotation>
                  <documentation>Audience segment pageviews value is invalid. It must be between 1 and 12.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_RECENCY">
                  <annotation>
                  <documentation>Audience segment recency value is invalid. It must be between 1 and 90 if pageviews > 1.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_MEMBERSHIP_EXPIRATION">
                  <annotation>
                  <documentation>Audience segment membership expiration value is invalid. It must be between 1 and 180.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_CUSTOM_KEY_NAME">
                  <annotation>
                  <documentation>The given custom key cannot be part of audience segment rule due to unsupported characters.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_CUSTOM_VALUE_NAME">
                  <annotation>
                  <documentation>The given custom value cannot be part of audience segment rule due to unsupported characters.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_AUDIENCE_SEGMENT_CUSTOM_VALUE_MATCH_TYPE">
                  <annotation>
                  <documentation>Broad-match custom value cannot be part of audience segment rule.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_NESTED_FIRST_PARTY_AUDIENCE_SEGMENT">
                  <annotation>
                  <documentation>Audience segment rule cannot contain itself.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SHARED_SELLING_PARTNER_ROOT_CANNOT_BE_INCLUDED">
                  <annotation>
                  <documentation>Audience segment rule cannot contain shared selling inventory unit.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_NESTED_THIRD_PARTY_AUDIENCE_SEGMENT">
                  <annotation>
                  <documentation>Audience segment rule cannot contain a nested third-party segment.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INACTIVE_NESTED_AUDIENCE_SEGMENT">
                  <annotation>
                  <documentation>Audience segment rule cannot contain a nested inactive segment.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AUDIENCE_SEGMENT_GLOBAL_LICENSE_ERROR">
                  <annotation>
                  <documentation>An error occurred when purchasing global licenses.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SEGMENT_VIOLATED_POLICY">
                  <annotation>
                  <documentation>Segment cannot be activated as it violates Google's Platform Policy.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="ServerError.Reason">
                  <annotation>
                  <documentation>Describes reasons for server errors</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="SERVER_ERROR">
                  <annotation>
                  <documentation>Indicates that an unexpected error occured.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="SERVER_BUSY">
                  <annotation>
                  <documentation>Indicates that the server is currently experiencing a high load. Please wait and try your request again.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="StatementError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="VARIABLE_NOT_BOUND_TO_VALUE">
                  <annotation>
                  <documentation>A bind variable has not been bound to a value.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="StringFormatError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="ILLEGAL_CHARS">
                  <annotation>
                  <documentation>The input string value contains disallowed characters.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_FORMAT">
                  <annotation>
                  <documentation>The input string value is invalid for the associated field.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="StringLengthError.Reason">
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="TeamError.Reason">
                  <annotation>
                  <documentation>The reasons for the target error.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="ENTITY_NOT_ON_USERS_TEAMS">
                  <annotation>
                  <documentation>User cannot use this entity because it is not on any of the user's teams.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AD_UNITS_NOT_ON_ORDER_TEAMS">
                  <annotation>
                  <documentation>The targeted or excluded ad unit must be on the order's teams.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PLACEMENTS_NOT_ON_ORDER_TEAMS">
                  <annotation>
                  <documentation>The targeted placement must be on the order's teams.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MISSING_USERS_TEAM">
                  <annotation>
                  <documentation>Entity cannot be created because it is not on any of the user's teams.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALL_TEAM_ASSOCIATION_NOT_ALLOWED">
                  <annotation>
                  <documentation>A team that gives access to all entities of a given type cannot be associated with an entity of that type.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="INVALID_TEAM_ASSIGNMENT">
                  <annotation>
                  <documentation>The assignment of team to entities is invalid.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="CANNOT_UPDATE_INACTIVE_TEAM">
                  <annotation>
                  <documentation>Cannot modify or create a team with an inactive status.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="TimeZoneError.Reason">
                  <annotation>
                  <documentation>Describes reasons for invalid timezone.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="INVALID_TIMEZONE_ID">
                  <annotation>
                  <documentation>Indicates that the timezone ID provided is not supported.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="TIMEZONE_ID_IN_WRONG_FORMAT">
                  <annotation>
                  <documentation>Indicates that the timezone ID provided is in the wrong format. The timezone ID must be in tz database format (e.g. "America/Los_Angeles").</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="VideoBumperType">
                  <annotation>
                  <documentation>Represents the options for targetable bumper positions, surrounding an ad pod, within a video stream. This includes before and after the supported ad pod positions, {@link VideoPositionType#PREROLL}, {@link VideoPositionType#MIDROLL}, and {@link VideoPositionType#POSTROLL}.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="BEFORE">
                  <annotation>
                  <documentation>Represents the bumper position before the ad pod.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="AFTER">
                  <annotation>
                  <documentation>Represents the bumper position after the ad pod.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <simpleType name="VideoPosition.Type">
                  <annotation>
                  <documentation>Represents a targetable position within a video.</documentation>
                  </annotation>
                  <restriction base="xsd:string">
                  <enumeration value="UNKNOWN">
                  <annotation>
                  <documentation>The value returned if the actual value is not exposed by the requested API version.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="ALL">
                  <annotation>
                  <documentation>This position targets all of the above video positions.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="PREROLL">
                  <annotation>
                  <documentation>The position defined as showing before the video starts playing.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="MIDROLL">
                  <annotation>
                  <documentation>The position defined as showing within the middle of the playing video.</documentation>
                  </annotation>
                  </enumeration>
                  <enumeration value="POSTROLL">
                  <annotation>
                  <documentation>The position defined as showing after the video is completed.</documentation>
                  </annotation>
                  </enumeration>
                  </restriction>
                  </simpleType>
                  <element name="createProposals">
                  <annotation>
                  <documentation>Creates new {@link Proposal} objects. <p>For each proposal, the following fields are required: <ul> <li>{@link Proposal#name} </ul></documentation>
                  </annotation>
                  </element>
                  <element name="ApiExceptionFault" type="tns:ApiException">
                  <annotation>
                  <documentation>A fault element of type ApiException.</documentation>
                  </annotation>
                  </element>
                  <element name="getMarketplaceCommentsByStatement">
                  <annotation>
                  <documentation>Gets a {@link MarketplaceCommentPage} of {@link MarketplaceComment} objects that satisfy the given {@link Statement#query}. This method only returns comments already sent to Marketplace, local draft {@link ProposalMarketplaceInfo#marketplaceComment} are not included. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code proposalId}</td> <td>{@link MarketplaceComment#proposalId}</td> </tr> </table> The query must specify a {@code proposalId}, and only supports a subset of PQL syntax:<br> <code>[WHERE <condition> {AND <condition> ...}]</code><br> <code>[ORDER BY <property> [ASC | DESC]]</code><br> <code>[LIMIT {[<offset>,] <count>} | {<count> OFFSET <offset>}]</code><br> <p><code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> = <value></code><br> <code><condition> := <property> IN <list></code><br> Only supports {@code ORDER BY} {@link MarketplaceComment#creationTime}.</documentation>
                  </annotation>
                  </element>
                  <element name="getProposalsByStatement">
                  <annotation>
                  <documentation>Gets a {@link ProposalPage} of {@link Proposal} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code id}</td> <td>{@link Proposal#id}</td> </tr> <tr> <td>{@code dfpOrderId}</td> <td>{@link Proposal#dfpOrderId}</td> </tr> <tr> <td>{@code name}</td> <td>{@link Proposal#name}</td> </tr> <tr> <td>{@code status}</td> <td>{@link Proposal#status}</td> </tr> <tr> <td>{@code isArchived}</td> <td>{@link Proposal#isArchived}</td> </tr> <tr> <td> {@code approvalStatus} <div class="constraint">Only applicable for proposals using sales management</div> </td> <td>{@link Proposal#approvalStatus}</td> </tr> <tr> <td>{@code lastModifiedDateTime}</td> <td>{@link Proposal#lastModifiedDateTime}</td> </tr> <tr> <td>{@code isProgrammatic}</td> <td>{@link Proposal#isProgrammatic}</td> </tr> <tr> <td> {@code negotiationStatus} <div class="constraint">Only applicable for programmatic proposals</div> </td> <td>{@link ProposalMarketplaceInfo#negotiationStatus}</td> </tr> </table></documentation>
                  </annotation>
                  </element>
                  <element name="performProposalAction">
                  <annotation>
                  <documentation>Performs actions on {@link Proposal} objects that match the given {@link Statement#query}. <p>The following fields are also required when submitting proposals for approval: <ul> <li>{@link Proposal#advertiser} <li>{@link Proposal#primarySalesperson} <li>{@link Proposal#primaryTraffickerId} </ul></documentation>
                  </annotation>
                  </element>
                  <element name="updateProposals">
                  <annotation>
                  <documentation>Updates the specified {@link Proposal} objects.</documentation>
                  </annotation>
                  </element>
                  </schema>
                  </wsdl:types>
                  <wsdl:portType name="ProposalServiceInterface">
                  <wsdl:documentation>Provides methods for adding, updating and retrieving {@link Proposal} objects.</wsdl:documentation>
                  <wsdl:operation name="getMarketplaceCommentsByStatement">
                  <wsdl:documentation>Gets a {@link MarketplaceCommentPage} of {@link MarketplaceComment} objects that satisfy the given {@link Statement#query}. This method only returns comments already sent to Marketplace, local draft {@link ProposalMarketplaceInfo#marketplaceComment} are not included. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code proposalId}</td> <td>{@link MarketplaceComment#proposalId}</td> </tr> </table> The query must specify a {@code proposalId}, and only supports a subset of PQL syntax:<br> <code>[WHERE <condition> {AND <condition> ...}]</code><br> <code>[ORDER BY <property> [ASC | DESC]]</code><br> <code>[LIMIT {[<offset>,] <count>} | {<count> OFFSET <offset>}]</code><br> <p><code><condition></code><br> &nbsp;&nbsp;&nbsp;&nbsp; <code>:= <property> = <value></code><br> <code><condition> := <property> IN <list></code><br> Only supports {@code ORDER BY} {@link MarketplaceComment#creationTime}.</wsdl:documentation>
                  </wsdl:operation>
                  <wsdl:operation name="getProposalsByStatement">
                  <wsdl:documentation>Gets a {@link ProposalPage} of {@link Proposal} objects that satisfy the given {@link Statement#query}. The following fields are supported for filtering: <table> <tr> <th scope="col">PQL Property</th> <th scope="col">Object Property</th> </tr> <tr> <td>{@code id}</td> <td>{@link Proposal#id}</td> </tr> <tr> <td>{@code dfpOrderId}</td> <td>{@link Proposal#dfpOrderId}</td> </tr> <tr> <td>{@code name}</td> <td>{@link Proposal#name}</td> </tr> <tr> <td>{@code status}</td> <td>{@link Proposal#status}</td> </tr> <tr> <td>{@code isArchived}</td> <td>{@link Proposal#isArchived}</td> </tr> <tr> <td> {@code approvalStatus} <div class="constraint">Only applicable for proposals using sales management</div> </td> <td>{@link Proposal#approvalStatus}</td> </tr> <tr> <td>{@code lastModifiedDateTime}</td> <td>{@link Proposal#lastModifiedDateTime}</td> </tr> <tr> <td>{@code isProgrammatic}</td> <td>{@link Proposal#isProgrammatic}</td> </tr> <tr> <td> {@code negotiationStatus} <div class="constraint">Only applicable for programmatic proposals</div> </td> <td>{@link ProposalMarketplaceInfo#negotiationStatus}</td> </tr> </table></wsdl:documentation>
                  </wsdl:operation>
                  <wsdl:operation name="performProposalAction">
                  <wsdl:documentation>Performs actions on {@link Proposal} objects that match the given {@link Statement#query}. <p>The following fields are also required when submitting proposals for approval: <ul> <li>{@link Proposal#advertiser} <li>{@link Proposal#primarySalesperson} <li>{@link Proposal#primaryTraffickerId} </ul></wsdl:documentation>
                  </wsdl:operation>
                  </wsdl:portType>
                  <wsdl:binding name="ProposalServiceSoapBinding" type="tns:ProposalServiceInterface"></wsdl:binding>
                  </wsdl:definitions>

                  About wsdl-viewer.xsl

                  This document was generated by SAXON 9.1.0.8 from Saxonica XSLT engine. The engine processed the WSDL in XSLT 2.0 compliant mode.
                  This page has been generated bywsdl-viewer.xsl, version 3.1.02
                  Author: tomi vanek
                  Download athttp://tomi.vanek.sk/xml/wsdl-viewer.xsl.

                  The transformation was inspired by the article
                  Uche Ogbuji: WSDL processing with XSLT